diff --git a/bedTools/.gitignore b/bedTools/.gitignore
index 76997697933fc7d38bc6172fde18748bb9e99c76..78afec64c41c2fb4281c11a597d77a78bc219897 100644
--- a/bedTools/.gitignore
+++ b/bedTools/.gitignore
@@ -3,15 +3,17 @@ libs/old
 
 *.o
 *.tar.gz
+*_static
 
 bedGraphToBigWig
 bedToBigBed
-wigToBedGraph
+bigBedInfo
+bigBedSummary
+bigBedToBed
+bigWigInfo
+bigWigSummary
+bigWigToBedGraph
+bigWigToWig
 wigToBed
+wigToBedGraph
 wigToBigWig
-
-bedGraphToBigWig_static
-bedToBigBed_static
-wigToBedGraph_static
-wigToBed_static
-wigToBigWig_static
diff --git a/bedTools/bedGraphToBigWig_static.js b/bedTools/bedGraphToBigWig_static.js
index 78039afec891485eb51729fb20d335ddbc5d633e..6ed9fd11b00331c0be875ad6b946819d2edf0999 100644
--- a/bedTools/bedGraphToBigWig_static.js
+++ b/bedTools/bedGraphToBigWig_static.js
@@ -1,12 +1,12 @@
-var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26384;__ATINIT__.push();memoryInitializer="bedGraphToBigWig_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_gai_strerror":_gai_strerror,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"__read_sockaddr":__read_sockaddr,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26384;__ATINIT__.push();memoryInitializer="bedGraphToBigWig_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_create(){return 11}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _llvm_fabs_f64=Math_abs;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 _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__read_sockaddr":__read_sockaddr,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_sysconf":_sysconf,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"__exit":__exit,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_vi;var ea=env.invoke_iiii;var fa=env.invoke_iii;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiiiiiiiiiiiii;var ma=env._pthread_cleanup_pop;var na=env.___syscall221;var oa=env.__inet_pton4_raw;var pa=env.__inet_ntop6_raw;var qa=env.___syscall102;var ra=env.___syscall63;var sa=env.__inet_ntop4_raw;var ta=env._execvp;var ua=env.___syscall42;var va=env._pthread_cleanup_push;var wa=env._fork;var xa=env.__inet_pton6_raw;var ya=env.___syscall20;var za=env._llvm_stackrestore;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env._gai_strerror;var Da=env._signal;var Ea=env._wait;var Fa=env.___setErrNo;var Ga=env._sbrk;var Ha=env._emscripten_memcpy_big;var Ia=env.__exit;var Ja=env._execl;var Ka=env.__write_sockaddr;var La=env.___syscall6;var Ma=env._abort;var Na=env._exit;var Oa=env._llvm_stacksave;var Pa=env._getenv;var Qa=env.___syscall51;var Ra=env.___syscall57;var Sa=env.___syscall54;var Ta=env.___unlock;var Ua=env._pthread_create;var Va=env._pthread_detach;var Wa=env.___syscall3;var Xa=env._sysconf;var Ya=env.___lock;var Za=env._llvm_fabs_f64;var _a=env.___syscall5;var $a=env.___syscall4;var ab=env._getaddrinfo;var bb=env._gettimeofday;var cb=env.___syscall140;var db=env.___syscall142;var eb=env.__read_sockaddr;var fb=env.___syscall145;var gb=env.___syscall146;var hb=env._waitpid;var ib=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_vi;var ea=env.invoke_iiii;var fa=env.invoke_iii;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiiiiiiiiiiiii;var ma=env._pthread_cleanup_pop;var na=env.___syscall221;var oa=env.__inet_pton4_raw;var pa=env.__inet_ntop6_raw;var qa=env.___syscall102;var ra=env.___syscall63;var sa=env.__inet_ntop4_raw;var ta=env._execvp;var ua=env.___syscall42;var va=env._pthread_cleanup_push;var wa=env._fork;var xa=env.__inet_pton6_raw;var ya=env.___syscall20;var za=env._llvm_stackrestore;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env.__read_sockaddr;var Da=env._signal;var Ea=env._wait;var Fa=env.___setErrNo;var Ga=env._sbrk;var Ha=env._emscripten_memcpy_big;var Ia=env._sysconf;var Ja=env._execl;var Ka=env.__write_sockaddr;var La=env.___syscall6;var Ma=env._abort;var Na=env._exit;var Oa=env._llvm_stacksave;var Pa=env._getenv;var Qa=env.___syscall51;var Ra=env.___syscall57;var Sa=env.___syscall54;var Ta=env.___unlock;var Ua=env._pthread_create;var Va=env._gai_strerror;var Wa=env._pthread_detach;var Xa=env.___syscall3;var Ya=env.__exit;var Za=env.___lock;var _a=env._llvm_fabs_f64;var $a=env.___syscall5;var ab=env.___syscall4;var bb=env._getaddrinfo;var cb=env._gettimeofday;var db=env.___syscall140;var eb=env.___syscall142;var fb=env.___syscall145;var gb=env.___syscall146;var hb=env._waitpid;var ib=0.0;
 // EMSCRIPTEN_START_FUNCS
-function sb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5921]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=23724+(b<<1<<2)|0;e=d+8|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[5925]|0)>>>0)Ma();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Ma()}else c[5921]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5923]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=23724+(b<<1<<2)|0;e=d+8|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[5925]|0)>>>0)Ma();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5923]|0;break}else Ma()}else{c[5921]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5926]|0;b=l>>>3;d=23724+(b<<1<<2)|0;a=c[5921]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{m=a;n=b}}else{c[5921]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5923]=h;c[5926]=e;N=j;i=O;return N|0}a=c[5922]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[23988+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5925]|0;if(k>>>0<g>>>0)Ma();j=k+q|0;if(k>>>0>=j>>>0)Ma();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Ma();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Ma()}while(0);do if(h|0){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5922]=c[5922]&~(1<<a);break}}else{if(h>>>0<(c[5925]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5925]|0;if(o>>>0<b>>>0)Ma();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5923]|0;if(a|0){f=c[5926]|0;b=a>>>3;e=23724+(b<<1<<2)|0;a=c[5921]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{r=a;s=b}}else{c[5921]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5923]=d;c[5926]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5922]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[23988+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[23988+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5923]|0)-q|0)>>>0:0){f=c[5925]|0;if(k>>>0<f>>>0)Ma();h=k+q|0;if(k>>>0>=h>>>0)Ma();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Ma();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Ma();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Ma()}while(0);do if(g|0){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5922]=c[5922]&~(1<<a);break}}else{if(g>>>0<(c[5925]|0)>>>0)Ma();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5925]|0;if(u>>>0<b>>>0)Ma();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{w=a;x=b}}else{c[5921]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=23988+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Ma()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5923]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5926]|0;if(a>>>0>15){N=b+q|0;c[5926]=N;c[5923]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5923]=0;c[5926]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5924]|0;if(a>>>0>q>>>0){L=a-q|0;c[5924]=L;N=c[5927]|0;M=N+q|0;c[5927]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6039]|0)){c[6041]=4096;c[6040]=4096;c[6042]=-1;c[6043]=-1;c[6044]=0;c[6032]=0;x=p&-16^1431655768;c[p>>2]=x;c[6039]=x}h=q+48|0;g=c[6041]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6031]|0;if(a|0?(w=c[6029]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6032]&4)){a=c[5927]|0;c:do if(a){d=24132;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5924]|0)&g;if(a>>>0<2147483647){b=Ga(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ga(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6040]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6029]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6031]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ga(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6041]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ga(y|0)|0)==(-1|0)){Ga(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6032]=c[6032]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ga(k|0)|0,A=Ga(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6029]|0)+f|0;c[6029]=a;if(a>>>0>(c[6030]|0)>>>0)c[6030]=a;j=c[5927]|0;do if(j){e=24132;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5924]|0)|0;c[5927]=M;c[5924]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5928]=c[6043];break}a=c[5925]|0;if(h>>>0<a>>>0){c[5925]=h;k=h}else k=a;d=h+f|0;a=24132;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24132;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5926]|0)){N=(c[5923]|0)+g|0;c[5923]=N;c[5926]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Ma();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(a|0))Ma();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Ma()}while(0);if(!h)break;b=c[a+28>>2]|0;d=23988+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5925]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5922]=c[5922]&~(1<<b);break e}while(0);e=c[5925]|0;if(L>>>0<e>>>0)Ma();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Ma();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=23724+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Ma();if((c[d+12>>2]|0)==(a|0))break;Ma()}while(0);if((e|0)==(d|0)){c[5921]=c[5921]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Ma();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Ma()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;do if(!(b&a)){c[5921]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5925]|0)>>>0){M=a;N=b;break}Ma()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=23988+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Ma()}}else{N=(c[5924]|0)+g|0;c[5924]=N;c[5927]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24132;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5927]=N;c[5924]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5928]=c[6043];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6033];c[a+4>>2]=c[6034];c[a+8>>2]=c[6035];c[a+12>>2]=c[6036];c[6033]=h;c[6034]=f;c[6036]=0;c[6035]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{J=a;K=b}}else{c[5921]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=23988+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Ma()}}}else{N=c[5925]|0;if((N|0)==0|h>>>0<N>>>0)c[5925]=h;c[6033]=h;c[6034]=f;c[6036]=0;c[5930]=c[6039];c[5929]=-1;a=0;do{N=23724+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5927]=M;c[5924]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5928]=c[6043]}while(0);a=c[5924]|0;if(a>>>0>q>>>0){L=a-q|0;c[5924]=L;N=c[5927]|0;M=N+q|0;c[5927]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(nh()|0)>>2]=12;N=0;i=O;return N|0}function tb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[225];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=$b(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=dc(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=dc(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=dc(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,_d(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=dc(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=dc(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,_d(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=dc(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=dc(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,_d(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=dc(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,ld(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,_d(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=dc(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[225];e=-5;return e|0}}else{j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;_d(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[225];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?(Wb(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Ab(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,_d(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,_d(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,_d(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){Wb(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[20445+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[19933]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Ab(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,_d(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,_d(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,_d(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=lb[c[144+((c[O+132>>2]|0)*12|0)+8>>2]&7](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{vc(O);break}case 5:break;default:{oc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,ve(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;_d(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;ld(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,_d(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[222];e=-2;return e|0}function ub(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0}while((vi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Wc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23528+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Wc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23537+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Wc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Wc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(nh()|0)>>2]=22;Ff(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Wc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Wc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;k=eh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=eh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Wc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Ff(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=eh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=kc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Ff(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ig(o|0,n|0,2)|0;H=eh(H|0,C|0,-32,-1)|0;e=eh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=eh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Tg(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=eh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Ii(+Cd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(nh()|0)>>2]=34;g=+Ji(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Wc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=eh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=eh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=kc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Ff(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=eh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(nh()|0)>>2]=22;Ff(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9772+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9772+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9772+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ig(c[p>>2]|0,0,29)|0;o=eh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Lh(o|0,n|0,1e9,0)|0;o=Zf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Ii(+Cd(1.0,105-o|0),j);m=+Ri(j,+Cd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ri(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(nh()|0)>>2]=34}while(0);g=+Ji(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(nh()|0)>>2]=22;Ff(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function vb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(nh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Qc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[20836+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}hc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Mg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21316;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21316;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Tg(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21316;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21316:21318;L=76}else{p=1;r=21317;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21316;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21316;o=N;break}case 109:{o=$d(c[(nh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23218;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){nd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23226:23231}else{G=1;H=23228}else{q=-q;G=1;H=23225}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Ki(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Ud(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21300+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;nd(e,32,K,r,I);if(!(c[e>>2]&32))Qc(y,w,e)|0;nd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Qc(ea,o,e)|0;f=ba-p|0;nd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Qc(t,f,e)|0;nd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ig(c[r>>2]|0,0,t|0)|0;B=eh(B|0,C|0,o|0,0)|0;o=C;A=Zf(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Lh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Ud(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;nd(e,32,K,w,I);if(!(c[e>>2]&32))Qc(H,G,e)|0;nd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Ud(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;ve(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Qc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Qc(23256,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Ud(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){ve(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Qc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}nd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Ud(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Qc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Qc(23256,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;ve(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Qc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}nd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Qc(u,ba-u|0,e)|0}while(0);nd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;nd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Qc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Qc(s?(t?23537:23252):t?23244:23248,3,e)|0;nd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21316;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21300+(o&15)>>0]|r;o=Mg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21316;L=77}else{o=t;t=2;r=21316+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21316;L=77}}else if((L|0)==76){f=Ud(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Hc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21316;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Eh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}nd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Eh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Qc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;nd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;nd(e,32,o,s,p);if(!(c[e>>2]&32))Qc(v,w,e)|0;nd(e,48,o,s,p^65536);nd(e,48,r,t,0);if(!(c[e>>2]&32))Qc(f,t,e)|0;nd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;hc(j+(m<<3)|0,n,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=ia;return m|0}function wb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=jj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(vi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Ff(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Wc(e)|0}while((vi(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Ff(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Wc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){ve(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;ve(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=sb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Wc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(uc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Yd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Mh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=sb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Yd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ub(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Ff(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Wc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(vi(d[m>>0]|0)|0))break;else n=m}Ff(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Wc(e)|0}while((vi(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){zb(l);zb(f)}}else k=0;while(0);if(O|0)ij(e);i=P;return k|0}function xb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=eh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(14364==0?(Ue(c[a+8>>2]|0,14378)|0)!=0:0){ba=a+32|0;T=ba;T=nb[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=eh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=eh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=eh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=eh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Tg(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=eh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Tg((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Tg(k|0,j|0,f|0,d|0)|0;_d(b|0,B+f|0,o|0)|0;e=eh(o|0,E|0,e|0,n|0)|0;f=C;d=Tg(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=eh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;hg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Vd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=eh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Tg(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(14364){y=eh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=eh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Lh(k|0,j|0,w|0,0)|0;t=eh(A|0,B|0,-1,-1)|0;t=eh(t|0,C|0,w|0,0)|0;w=Lh(t|0,C|0,w|0,0)|0;t=m+52|0;rf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((fi(u,d,s)|0)<(s|0))f=0;else{Gi(u);j=B;k=A;continue}while(1){o=fi(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=oi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=ig(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=ig(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=eh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Tg(f|0,j|0,p|0,q|0)|0;k=C;f=Pd(j)|0;c[W>>2]=f;m=nb[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}hg(Z,c[K>>2]|0,p,0)|0;Se(Z,c[K>>2]|0,f,j);Gh(W)}Md(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;hg(P,c[t>>2]|0,da+64|0,0)|0;Se(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Gi(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);hg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Ve(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;rh(14390,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Pg(4,14446,$);Pg(4,14492,aa);S=0;T=0;break}else if((n|0)==36){Ve(Z,j,f,h);S=ba;S=eh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=eh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function zb(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;if(!a)return;d=a+-8|0;h=c[5925]|0;if(d>>>0<h>>>0)Ma();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Ma();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Ma();if((k|0)==(c[5926]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5923]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=23724+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Ma();if((c[b+12>>2]|0)!=(k|0))Ma()}if((d|0)==(b|0)){c[5921]=c[5921]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Ma();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Ma()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Ma();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Ma();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Ma()}while(0);if(f){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5922]=c[5922]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5925]|0;if(i>>>0<d>>>0)Ma();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ma();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Ma();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Ma();if(!(b&2)){if((m|0)==(c[5927]|0)){p=(c[5924]|0)+g|0;c[5924]=p;c[5927]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5926]|0))return;c[5926]=0;c[5923]=0;return}if((m|0)==(c[5926]|0)){p=(c[5923]|0)+g|0;c[5923]=p;c[5926]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();d=b+12|0;if((c[d>>2]|0)!=(m|0))Ma();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Ma()}while(0);if(f|0){a=c[m+28>>2]|0;b=23988+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5922]=c[5922]&~(1<<a);break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5925]|0;if(n>>>0<d>>>0)Ma();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=23724+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5925]|0)>>>0)Ma();if((c[b+12>>2]|0)!=(m|0))Ma()}if((d|0)==(b|0)){c[5921]=c[5921]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5925]|0)>>>0)Ma();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Ma()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5926]|0)){c[5923]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{o=a;p=b}}else{c[5921]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=23988+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5922]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5925]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Ma()}}else{c[5922]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[5929]|0)+-1|0;c[5929]=q;if(!q)a=24140;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[5929]=-1;return}function Ab(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}xb(f,f+2840|0);xb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}xb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)oc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Pb(f,9804,10956);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[20701+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Hb(f,g,q);h=f+2440|0;Hb(f,h,r);Pb(f,g,h)}while(0);xc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Bb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5925]|0;if(l>>>0<i>>>0)Ma();if((l|0)==(c[5926]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5923]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=23724+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Ma();if((c[a+12>>2]|0)!=(l|0))Ma()}if((b|0)==(a|0)){c[5921]=c[5921]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Ma();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Ma();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Ma();d=e+12|0;if((c[d>>2]|0)!=(l|0))Ma();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Ma()}while(0);if(f){d=c[l+28>>2]|0;a=23988+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5922]=c[5922]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5925]|0;if(j>>>0<b>>>0)Ma();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5925]|0;if(o>>>0<h>>>0)Ma();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5927]|0)){q=(c[5924]|0)+g|0;c[5924]=q;c[5927]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5926]|0))return;c[5926]=0;c[5923]=0;return}if((o|0)==(c[5926]|0)){q=(c[5923]|0)+g|0;c[5923]=q;c[5926]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Ma();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Ma();d=e+12|0;if((c[d>>2]|0)!=(o|0))Ma();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Ma()}while(0);if(f|0){d=c[o+28>>2]|0;a=23988+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5922]=c[5922]&~(1<<d);break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5925]|0;if(n>>>0<b>>>0)Ma();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=23724+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Ma();if((c[a+12>>2]|0)!=(o|0))Ma()}if((b|0)==(a|0)){c[5921]=c[5921]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Ma();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Ma()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5926]|0)){c[5923]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=23724+(d<<1<<2)|0;a=c[5921]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5925]|0)>>>0)Ma();else{p=d;q=a}}else{c[5921]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=23988+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5922]|0;a=1<<b;if(!(d&a)){c[5922]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5925]|0)>>>0)Ma();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5925]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Ma();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){Wb(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=gc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,_d(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[20445+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[19933+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,_d(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,_d(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,_d(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Db(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(ze(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Hc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(nh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0}while((vi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Wc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Wc(b)|0;if((d[23263+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Ff(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23263+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Ff(b,0);c[(nh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Wc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=ig(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=eh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23519+((e*23|0)>>>5&7)>>0]|0;j=a[23263+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Mg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ig(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23263+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Lh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=ig(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=eh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23263+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0}while((d[23263+i>>0]|0)>>>0<e>>>0);c[(nh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(nh()|0)>>2]=34;g=eh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(nh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Tg(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Fb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){Wb(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=gc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[20445+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[19933+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,_d(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,_d(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,_d(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Gb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ee(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Ue(r,15803)|0)){j=g;h=k;N=4;break}s=wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(vi(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Gd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Uh(Q,o,(m|0)==0?16225:m)|0;else{l=pg(o,f)|0;if(!l){l=pg(o,120)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Oh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Nh(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Ci(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Ci(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?16225:m;l=pg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=fh(Q,o)|0;l=Ug(m)|0;if(!n){Uh(Q,o,l)|0;break}else{Jg(n,l);break}}Uh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;rh(15814,z);break}case 34:{c[A>>2]=o;rh(15840,A);break}case 36:{c[K>>2]=o;rh(15879,K);break}case 38:{c[L>>2]=o;rh(15915,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;rh(15948,B);break}case 43:{c[C>>2]=o;rh(15915,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;rh(15990,D);break}case 48:{c[E>>2]=o;rh(16034,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;rh(16069,F);break}case 53:{c[G>>2]=o;rh(16109,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;rh(16145,H);break}case 57:{c[I>>2]=c[l>>2];rh(16186,I);break}case 65:{rh(16228,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Ib(d,e,f,h,j,k,l,m,n,o,p){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+96|0;S=V+40|0;R=V+32|0;T=V+16|0;Q=V;K=V+80|0;L=V+87|0;M=V+60|0;I=V+56|0;O=V+52|0;N=V+48|0;P=V+86|0;J=V+84|0;c[K>>2]=0;a[L>>0]=0;G=i;i=i+((1*(f*12|0)|0)+15&-16)|0;H=i;i=i+((1*(l<<2)|0)+15&-16)|0;q=0;while(1){if((q|0)>=(l|0))break;c[H+(q<<2)>>2]=0;q=q+1|0}B=Zg(0)|0;be(e);C=e+28|0;D=e+4|0;E=B+12|0;F=B+4|0;A=(o|0)==0;u=0;v=0;q=0;o=0;s=d;a:while(1){w=Ye(e,M,5)|0;if((w|0)>0){d=(Ue(c[M>>2]|0,c[s+4>>2]|0)|0)==0;if((u|0)<(f|0)&d){d=u;r=v}else{t=0;U=8}}else{d=0;t=(w|0)==0;U=8}if((U|0)==8){U=0;c[I>>2]=c[s+12>>2];c[O>>2]=c[G>>2];c[N>>2]=c[G+((u+-1|0)*12|0)+4>>2];if((o|0)>=(j|0)){U=9;break}y=$i(k)|0;r=h+(o*24|0)|0;c[r>>2]=y;c[r+4>>2]=((y|0)<0)<<31>>31;c[h+(o*24|0)+8>>2]=c[I>>2];c[h+(o*24|0)+12>>2]=c[O>>2];c[h+(o*24|0)+16>>2]=c[N>>2];c[E>>2]=0;a[c[F>>2]>>0]=0;a[P>>0]=1;b[J>>1]=u;Pe(B,I,4);Pe(B,O,4);Pe(B,N,4);Pe(B,K,4);Pe(B,K,4);Pe(B,P,1);Pe(B,L,1);Pe(B,J,2);r=0;while(1){if((r|0)>=(u|0))break;Pe(B,G+(r*12|0)|0,4);Pe(B,G+(r*12|0)+4|0,4);Pe(B,G+(r*12|0)+8|0,4);r=r+1|0}o=o+1|0;r=c[E>>2]|0;q=(r|0)>(q|0)?r:q;if(A)wf(k,c[F>>2]|0,r);else{x=Ai(r)|0;y=Oa()|0;r=i;i=i+((1*x|0)+15&-16)|0;wf(k,r,Je(c[F>>2]|0,c[E>>2]|0,r,x)|0);za(y|0)}b:do if(!t)if(d){t=1;d=0;r=v}else{s=c[s>>2]|0;if(!s){U=19;break a}d=c[M>>2]|0;r=c[s+4>>2]|0;if(Ue(d,r)|0){U=21;break a}if(!(Ue(d,r)|0))d=0;else{U=23;break a}while(1){if((d|0)>=(l|0)){t=1;d=0;r=0;break b}c[H+(d<<2)>>2]=0;d=d+1|0}}else{t=0;d=u;r=v}while(0);if(!t){U=43;break}}jf(e,4,w);x=ne(e,M,1)|0;y=ne(e,M,2)|0;z=+le(e,M,3);if(x>>>0>y>>>0){U=28;break}if(r){if((c[r>>2]|0)>>>0>x>>>0){U=31;break}if((c[r+4>>2]|0)>>>0>x>>>0){U=33;break}else w=0}else w=0;while(1){if((w|0)>=(l|0))break;v=H+(w<<2)|0;r=c[v>>2]|0;u=n+(w<<2)|0;if(x>>>0<r>>>0)t=m+(w<<2)|0;else{c[u>>2]=(c[u>>2]|0)+1;t=m+(w<<2)|0;r=(c[t>>2]|0)+x|0;c[v>>2]=r}while(1){if(y>>>0<=r>>>0)break;c[u>>2]=(c[u>>2]|0)+1;W=(c[t>>2]|0)+r|0;c[v>>2]=W;r=W}w=w+1|0}v=G+(d*12|0)|0;c[v>>2]=x;c[G+(d*12|0)+4>>2]=y;g[G+(d*12|0)+8>>2]=z;u=d+1|0}if((U|0)==9)Aa(12063,12088,112,12107);else if((U|0)==19)Aa(12121,12088,166,12107);else if((U|0)==21){V=c[C>>2]|0;W=c[D>>2]|0;c[Q>>2]=d;c[Q+4>>2]=r;c[Q+8>>2]=V;c[Q+12>>2]=W;rh(12135,Q)}else if((U|0)==23)Aa(12180,12088,170,12107);else if((U|0)==28){V=c[C>>2]|0;W=c[D>>2]|0;c[T>>2]=x;c[T+4>>2]=y;c[T+8>>2]=V;c[T+12>>2]=W;rh(12212,T)}else if((U|0)==31){W=c[D>>2]|0;c[R>>2]=c[C>>2];c[R+4>>2]=W;rh(12252,R)}else if((U|0)==33){W=c[D>>2]|0;c[S>>2]=c[C>>2];c[S+4>>2]=W;rh(12295,S)}else if((U|0)==43)if((o|0)==(j|0)){c[p>>2]=q;i=V;return}else Aa(12341,12088,219,12107)}function Jb(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=rg(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=lb[k&7](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=bf(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=ig(z|0,y|0,b|0,v|0)|0;p=a+p|0;pb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=eh(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=lb[k&7](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=eh(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=ig(q|0,C|0,b|0,v|0)|0;pb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=eh(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}gg(Q);c[H>>2]=kh(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Pg(2,13355,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}bf(I,48)|0;y=vh(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}gg(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;gg(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;wf(n,P,4);wf(n,M,4);wf(n,L,8);wf(n,g+12|0,4);wf(n,g+16|0,4);wf(n,g+20|0,4);wf(n,g+24|0,4);wf(n,O,8);wf(n,N,4);wf(n,K,4);if((g|0)!=(Q|0))jc(g,c[M>>2]|0,o,n);ph(R);i=S;return}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Db(d,16971)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){xe(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Wf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(nh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Uf(17477,f)|0))m=c[F>>2]|0;else{tf(F)|0;f=tf(F)|0;if(!f){O=20;break a}if((((Uf(18104,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Ue(f,18107)|0)if(Ue(f,18111)|0){if(I?(g=Ue(f,18115)|0,!((H|g|0)==0&G)):0)if(!(Ue(f,18119)|0)){f=o;break}else{O=30;break a}if(!(Ue(f,18206)|0)){O=34;break a}if(!(Ue(f,18115)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Ng(f+1|0)|0}if(!(Ze(m,18258)|0)){if(o|0)c[e>>2]=ih(f)|0;if(k)h=ih(f)|0}}while(!(I&(Ze(m,18267)|0)==0));if((Uf(18281,f)|0)!=0?(q=(wh(f,32)|0)+1|0,r=wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=cd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=cd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=$d(f)|0;c[z+4>>2]=d;$g(17915,z);f=0;break}case 10:{c[v>>2]=d;$g(17952,v);f=0;break}case 11:{c[x>>2]=d;$g(18008,x);f=0;break}case 15:{c[y>>2]=2e3;$g(18040,y);f=0;break}case 20:{c[u>>2]=d;$g(18078,u);f=0;break}case 30:{if(!g)$g(18123,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;$g(18166,E);f=0;break}case 34:{c[w>>2]=d;$g(18210,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;$g(18235,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ng(N,256,17081,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;$g(18288,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24308:18382;c[K+8>>2]=f?18107:18111;c[K+12>>2]=h|0?h:18398;$g(18408,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ng(N,256,17081,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;$g(18449,M);f=0}break}}i=P;return f|0}function Lb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=kb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Yh(h)|0;c[b+16>>2]=e;f=kd(c[f>>2]|0)|0;if(!f){s=0;break}s=Gd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Gi(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}ce(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)xf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Rf(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;ce(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Jf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Id(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;rh(13057,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Id(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Id(b,f);s=1}else s=1}while(0);i=y;return s|0}function Mb(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0.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.0;ea=i;i=i+112|0;X=ea+48|0;aa=ea+96|0;da=ea+100|0;V=ea;ba=ea+92|0;ca=ea+88|0;Z=ea+84|0;W=ea+64|0;c[aa>>2]=f;c[da>>2]=0;U=_(j,e)|0;Y=Jh(f*24|0)|0;c[ba>>2]=Y;c[ca>>2]=Y;Y=Y+(f*24|0)|0;G=$i(o)|0;F=p;c[F>>2]=G;c[F+4>>2]=((G|0)<0)<<31>>31;wf(o,aa,4);c[Z>>2]=kg(l,o,m)|0;be(d);F=W+4|0;G=W+8|0;H=W+12|0;I=r+8|0;J=r+16|0;K=r+24|0;L=r+32|0;M=V+4|0;N=V+8|0;O=V+12|0;P=V+24|0;Q=V+20|0;R=V+32|0;S=V+28|0;T=V+16|0;p=1;b=0;f=a;while(1){j=(b|0)!=0;if(j&(Ye(d,W,5)|0)==0)break;m=c[W>>2]|0;B=jh(c[F>>2]|0)|0;D=jh(c[G>>2]|0)|0;E=+Ef(c[H>>2]|0);A=D-B|0;if(!p){y=r;y=eh(c[y>>2]|0,c[y+4>>2]|0,A|0,0)|0;z=r;c[z>>2]=y;c[z+4>>2]=C;s=E;if(s<+h[I>>3])h[I>>3]=s;if(s>+h[J>>3])h[J>>3]=s;s=+(A>>>0);h[K>>3]=E*s+ +h[K>>3];s=s*(E*E)+ +h[L>>3]}else{z=r;c[z>>2]=A;c[z+4>>2]=0;s=E;h[J>>3]=s;h[I>>3]=s;s=+(A>>>0);h[K>>3]=E*s;s=s*(E*E)}h[L>>3]=s;if(!(Ue(m,c[f+4>>2]|0)|0))if(j){j=c[b+12>>2]|0;if(j>>>0<=B>>>0){yc(b,da,U,ca,Y,n,c[Z>>2]|0);$=15}}else $=15;else{f=c[f>>2]|0;yc(b,da,U,ca,Y,n,c[Z>>2]|0);$=15}if(($|0)==15){$=0;c[M>>2]=c[f+12>>2];c[N>>2]=B;j=B+e|0;c[O>>2]=j;b=c[f+16>>2]|0;j=j>>>0>b>>>0?b:j;c[O>>2]=j;g[P>>2]=E;g[Q>>2]=E;g[R>>2]=0.0;g[S>>2]=0.0;c[T>>2]=0;b=V}t=b+12|0;u=b+8|0;w=b+16|0;x=b+20|0;y=b+24|0;z=b+28|0;s=E*E;v=b+32|0;a=f+16|0;p=A;m=B;while(1){if(D>>>0<=j>>>0){j=p;break}B=c[u>>2]|0;c[X>>2]=m;c[X+4>>2]=D;c[X+8>>2]=B;c[X+12>>2]=j;Pg(3,12583,X);m=gh(m,D,c[u>>2]|0,c[t>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+m;if(+g[x>>2]>E)g[x>>2]=E;if(+g[y>>2]<E)g[y>>2]=E;fa=+(m>>>0);g[z>>2]=E*fa+ +g[z>>2];g[v>>2]=s*fa+ +g[v>>2];yc(b,da,U,ca,Y,n,c[Z>>2]|0);B=c[t>>2]|0;c[u>>2]=B;j=B+e|0;c[t>>2]=j;A=c[a>>2]|0;j=j>>>0>A>>>0?A:j;c[t>>2]=j;g[y>>2]=E;g[x>>2]=E;g[v>>2]=0.0;g[z>>2]=0.0;c[w>>2]=0;p=p-m|0;m=B}c[w>>2]=(c[w>>2]|0)+j;if(+g[x>>2]>E)g[x>>2]=E;if(+g[y>>2]<E)g[y>>2]=E;fa=+(j>>>0);g[z>>2]=E*fa+ +g[z>>2];g[v>>2]=s*fa+ +g[v>>2];p=0}yc(b,da,U,ca,Y,n,c[Z>>2]|0);ch(Z);b=$i(o)|0;j=((b|0)<0)<<31>>31;c[q>>2]=b;c[q+4>>2]=j;if((c[ca>>2]|0)==(Y|0)){Jb(c[ba>>2]|0,24,c[aa>>2]|0,0,k,l,0,1,4,b,j,o);Gh(ba);gg(da);i=ea;return c[da>>2]|0}else Aa(12639,12088,355,12661);return 0}function Nb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;H=i;i=i+480|0;w=H+352|0;t=H+344|0;v=H+304|0;s=H+296|0;G=H+264|0;F=H+224|0;J=H+216|0;B=H+460|0;g=H+208|0;I=H+200|0;r=H+456|0;E=H+192|0;m=H+184|0;j=H+416|0;k=H+376|0;n=H+176|0;l=H+168|0;o=H+368|0;x=H+88|0;y=H+8|0;D=H+364|0;u=H+468|0;q=H+466|0;p=H+464|0;z=H+360|0;A=H;Vi();L=sf(a,1)|0;c[B>>2]=L;f=ye(d)|0;c[J>>2]=c[f+24>>2];c[J+4>>2]=d;Pg(2,12367,J);c[J>>2]=0;h[g>>3]=0.0;d=I;c[d>>2]=0;c[d+4>>2]=0;c[r>>2]=0;f=Yb(L,f,0,J,g,I,0)|0;He(2,12384,F);L=kh(f)|0;d=c[J>>2]|0;K=+h[g>>3];J=c[I>>2]|0;I=c[I+4>>2]|0;c[G>>2]=L;c[G+4>>2]=a;c[G+8>>2]=d;h[G+16>>3]=K;d=G+24|0;c[d>>2]=J;c[d+4>>2]=I;Pg(2,12390,G);d=Zc(e,12446)|0;c[G>>2]=d;Fi(d);Ei(c[G>>2]|0);d=F;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));a=$i(c[G>>2]|0)|0;M=E;c[M>>2]=a;c[M+4>>2]=((a|0)<0)<<31>>31;Hg(c[G>>2]|0,F);M=$i(c[G>>2]|0)|0;a=m;c[a>>2]=M;c[a+4>>2]=((M|0)<0)<<31>>31;qd(f,c[2]|0,c[G>>2]|0);a=me(~~+h[g>>3],j,k)|0;g=$i(c[G>>2]|0)|0;M=n;c[M>>2]=g;c[M+4>>2]=((g|0)<0)<<31>>31;M=oe(f,c[3]|0)|0;g=l;c[g>>2]=M;c[g+4>>2]=((M|0)<0)<<31>>31;wf(c[G>>2]|0,l,8);g=l;g=ig(c[g>>2]|0,c[g+4>>2]|0,24,0)|0;g=Jh(g)|0;M=c[B>>2]|0;qi(M);c[o>>2]=0;Ib(f,M,c[3]|0,g,c[l>>2]|0,c[G>>2]|0,a,j,k,c[5886]|0,o);He(2,12449,s);M=$i(c[G>>2]|0)|0;d=((M|0)<0)<<31>>31;e=s;c[e>>2]=M;c[e+4>>2]=d;e=l;Jb(g,24,c[e>>2]|0,c[e+4>>2]|0,c[2]|0,1,0,1,4,M,d,c[G>>2]|0);He(2,12455,v);e=c[B>>2]|0;g=c[G>>2]|0;l=c[2]|0;I=c[3]|0;J=c[5886]|0;L=n;L=Tg(M|0,d|0,c[L>>2]|0,c[L+4>>2]|0)|0;a=mc(e,g,l,I,1,4,J,L,C,f,a,j,k,v,x,y,F)|0;if(c[5886]|0){M=c[3]<<5;L=c[o>>2]|0;c[r>>2]=L>>>0>M>>>0?L:M}Lf(c[G>>2]|0);c[D>>2]=-2003829722;b[u>>1]=4;b[q>>1]=a;b[p>>1]=0;c[z>>2]=0;M=A;c[M>>2]=0;c[M+4>>2]=0;wf(c[G>>2]|0,D,4);wf(c[G>>2]|0,u,2);wf(c[G>>2]|0,q,2);wf(c[G>>2]|0,m,8);wf(c[G>>2]|0,n,8);wf(c[G>>2]|0,s,8);wf(c[G>>2]|0,p,2);wf(c[G>>2]|0,p,2);wf(c[G>>2]|0,A,8);wf(c[G>>2]|0,E,8);wf(c[G>>2]|0,r,4);wf(c[G>>2]|0,A,8);if(($i(c[G>>2]|0)|0)!=64)Aa(12467,12088,462,12482);c[t>>2]=a;Pg(2,12499,t);d=0;while(1){if((d|0)>=(a|0))break;M=v+(d<<2)|0;L=c[M>>2]|0;c[w>>2]=d;c[w+4>>2]=L;Pg(3,12526,w);wf(c[G>>2]|0,M,4);wf(c[G>>2]|0,z,4);wf(c[G>>2]|0,x+(d<<3)|0,8);wf(c[G>>2]|0,y+(d<<3)|0,8);d=d+1|0}while(1){d=c[G>>2]|0;if((a|0)>=10)break;wf(d,z,4);wf(c[G>>2]|0,z,4);wf(c[G>>2]|0,A,8);wf(c[G>>2]|0,A,8);a=a+1|0}ri(d,c[E>>2]|0,0)|0;Hg(c[G>>2]|0,F);ri(c[G>>2]|0,0,2)|0;wf(c[G>>2]|0,D,4);td(B);Wh(G);i=H;return}function Ob(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5925]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Ma();f=c[k+4>>2]|0;if(!(f&1))Ma();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6041]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Bb(m,d);return a|0}if((k|0)==(c[5927]|0)){d=(c[5924]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5927]=l;c[5924]=m;return a|0}if((k|0)==(c[5926]|0)){e=(c[5923]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5923]=d;c[5926]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Ma();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(k|0))Ma();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Ma()}while(0);if(h|0){d=c[k+28>>2]|0;e=23988+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5922]=c[5922]&~(1<<d);break}}else{if(h>>>0<(c[5925]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5925]|0;if(j>>>0<f>>>0)Ma();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Ma();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=23724+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ma();if((c[e+12>>2]|0)!=(k|0))Ma()}if((f|0)==(e|0)){c[5921]=c[5921]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ma();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Ma()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Bb(l,m);return a|0}return 0}function Pb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[20445+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[284+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[636+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[19933+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[420+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[752+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Qb(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){Wb(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,_d(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,_d(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,_d(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Ab(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,_d(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Ag(0,14515,b)|0}b=d+112|0;if(c[b>>2]|0)Gf(b);b=d+128|0;if(c[b>>2]|0)Gf(b);Gi(c[d+4>>2]|0);Gi(c[d+8>>2]|0);Gh(d+12|0);Gi(c[d+40>>2]|0);Gi(c[d+44>>2]|0);Gi(c[d+48>>2]|0);Gi(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Gf(b);zh(d+80|0)}Gh(a);i=e;return}function Sb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Aa(19053,19073,448,19089);h=wa()|0;c[s>>2]=h;if((h|0)<0)Df(19102,l);if(h|0)if(!(lg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Df(19640,k)}r=yh()|0;c[s>>2]=r;if(lg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Df(19113,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=ag(m)|0;j=wa()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}zf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Cf(t);if(c[k>>2]|0)Cf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Df(19102,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){bd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;ta(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Df(19347,o)}bd(k,0,h,e);h=Vf(1,f,g)|0;if((h|0)<0)Df(19258,p);if((h|0)==(g|0)){og(1)|0;Na(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;rh(19293,q)}}else if((b|0)==28){og(0)|0;og(1)|0;Lg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=hb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;zf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Df(19420,u);else if((b|0)==35){c[v>>2]=h;rh(19435,v)}else if((b|0)==39){v=Be(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;rh(19465,w)}else if((b|0)==41)Aa(19520,19073,242,19544);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2306]|0;v=Be(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Ag(h,19563,x)|0;h=c[k>>2]|0}Na(h>>>8&255|0)}else if((b|0)==47)Aa(19610,19073,396,19630);else if((b|0)==49)Na(0)}}function Tb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Af(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Af(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=eh(m|0,l|0,-1,-1)|0;d=C;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;Tg(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Tg(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){Xc(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Xc(a,d,e,f,o);else ic(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}ic(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;ic(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;ic(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(we(a,b,d)|0){b=_g()|0;if((b|0)>=0){if((Ld(b,1)|0)<0){og(b)|0;b=-1;break}b:do if((Qe(b,d,16)|0)<0){n=nh()|0;d=c[n>>2]|0;if((d|0)!=115){w=$d(d)|0;c[e>>2]=d;c[e+4>>2]=w;$g(16902,e);og(b)|0;b=-1;break a}bb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=of(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}bb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=$d(d)|0;c[t>>2]=d;c[t+4>>2]=C;$g(16678,t);og(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;$g(16810,u);og(b)|0;e=23;break}c[r>>2]=4;do if((Ce(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=$d(d)|0;c[w>>2]=d;c[w+4>>2]=C;$g(16766,w);og(b)|0;break}}else{B=c[n>>2]|0;C=$d(B)|0;c[v>>2]=B;c[v+4>>2]=C;$g(16736,v);og(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Ld(b,0)|0)<0){og(b)|0;b=-1;break}if((We(b,120)|0)<0){og(b)|0;b=-1}}}else b=-1;else{$g(16558,x+24|0);b=-1}while(0);i=x;return b|0}function Wb(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;_d(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;_d(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=$b(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=dc(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;ve((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;ve((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function Xb(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,xf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){ve(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(Xb(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(nh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function Yb(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.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+80|0;F=K+56|0;E=K+32|0;H=K+24|0;G=K+16|0;D=K;J=K+64|0;z=(d|0)==0;if(z)A=3;else A=(If(d)|0)+1|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;c[J>>2]=0;be(a);w=(j|0)==0;x=a+28|0;y=a+4|0;o=0;n=0;j=0;m=0;p=0;q=-1;l=1073741823;r=0;a:while(1){u=p;while(1){if(w)p=Ye(a,B,A)|0;else p=Ne(a,9,B,A)|0;if(!p){I=26;break a}hf(a,A,p);s=c[B>>2]|0;v=ne(a,B,1)|0;t=ne(a,B,2)|0;if(!z)Fe(d,B);if((t|0)<(v|0)){I=12;break a}o=eh(o|0,n|0,1,0)|0;n=C;p=t-v|0;j=eh(p|0,((p|0)<0)<<31>>31|0,j|0,m|0)|0;m=C;if(r){p=Ue(c[r+4>>2]|0,s)|0;if(p)if((p|0)>0){I=16;break a}else I=17}else I=17;if((I|0)==17){I=0;p=Ee(b,s)|0;if(!p){I=18;break a}q=hj(c[p+8>>2]|0)|0;r=Vd(20)|0;c[r+4>>2]=ih(s)|0;c[r+12>>2]=u;c[r+16>>2]=q;c[r>>2]=c[J>>2];c[J>>2]=r;u=u+1|0;q=-1}p=c[r+16>>2]|0;if(t>>>0>p>>>0){I=21;break a}t=r+8|0;c[t>>2]=(c[t>>2]|0)+1;if((q|0)<=-1){q=v;continue}p=v-q|0;if((p|0)<(l|0)){q=v;l=p;p=u;break}else q=v}if((l|0)<0){I=25;break}}if((I|0)==12){J=c[x>>2]|0;K=c[y>>2]|0;c[D>>2]=t;c[D+4>>2]=v;c[D+8>>2]=J;c[D+12>>2]=K;rh(14659,D)}else if((I|0)==16){K=c[x>>2]|0;c[G>>2]=c[y>>2];c[G+4>>2]=K;rh(14700,G)}else if((I|0)==18){c[H>>2]=s;rh(14822,H)}else if((I|0)==21){e=c[r+4>>2]|0;J=c[x>>2]|0;K=c[y>>2]|0;c[E>>2]=t;c[E+4>>2]=e;c[E+8>>2]=p;c[E+12>>2]=J;c[E+16>>2]=K;rh(14863,E)}else if((I|0)==25){K=c[x>>2]|0;c[F>>2]=c[y>>2];c[F+4>>2]=K;rh(14921,F)}else if((I|0)==26){gg(J);if((o|0)==0&(n|0)==0)k=0.0;else k=(+(j>>>0)+4294967296.0*+(m>>>0))/(+(o>>>0)+4294967296.0*+(n>>>0));c[e>>2]=l;h[f>>3]=k;e=g;c[e>>2]=o;c[e+4>>2]=n;i=K;return c[J>>2]|0}return 0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Db(b,16962)|0))e=Oe(b,0,r)|0;else{if((Uf(17487,b)|0)==0?(Uf(17495,b)|0)==0:0){if(!(Uf(17504,b)|0)){c[g>>2]=b;rh(17848,g)}cc(b,o);if(Ue(o,16993)|0){c[f>>2]=b;rh(17511,f)}b=o+4112|0;g=dd(b,Dd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(lh(g,17558,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,ng(m,256,17565,j)|0,(lh(g,m,0,0)|0)==0):0){og(g)|0;e=-1;break}j=o+6176|0;s=(a[(Gd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?17577:17582;c[k+4>>2]=j;ng(m,256,17587,k)|0;ci(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=wh(j,40)|0;a[(wh(j,41)|0)>>0]=0;if((qe(s+1|0,17595,k,7)|0)!=6)rh(17597,h);f=(Dd(c[k+16>>2]|0)|0)<<8;f=Vb(b,(Dd(c[k+20>>2]|0)|0)+f|0)|0;th(l);if((f|0)<0){og(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((ed(f,1e6)|0)>0){b=26;break}if((ed(g,0)|0)>0?(rc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;$g(17633,n);og(g)|0;og(f)|0;e=-1;break}else if((b|0)==24){og(g)|0;og(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}gd(c[2335]|0)|0;gd(c[2276]|0)|0;gd(c[2306]|0)|0;b=Vd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;_d(b+20|0,o|0,10280)|0;f=b+4|0;if(Qg(f)|0){c[p>>2]=$d(c[(nh()|0)>>2]|0)|0;rh(17698,p)}b=Ua(b|0,0,3,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=$d(b)|0;c[q>>2]=b;c[q+4>>2]=s;rh(17802,q)}}}else{og(g)|0;e=-1}while(0)}break}e=Ph(b,17483,0)|0}while(0);i=r;return e|0}function _b(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Mg(d|0,m|0,52)|0;e=e&2047;j=Mg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ig(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ig(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ig(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ig(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ig(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ig(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ig(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ig(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Tg(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ig(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Tg(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ig(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=eh(d|0,f|0,0,-1048576)|0;d=C;e=Ig(e|0,0,52)|0;d=d|C;e=o|e}else{e=Mg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ac(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=3;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=kb[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=kb[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=kb[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=kb[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=kb[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Cc(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[224];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}mb[c[o>>2]&3](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function bc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=kh(b)|0;c[t>>2]=q;c[v>>2]=Jh(q<<2)|0;wf(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=Ai(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=$i(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}wf(g,r,Je(p,h-s|0,r,q)|0);u=u-o|0}x=$i(g)|0;u=((x|0)<0)<<31>>31;Jb(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,2,6,x,u,g);Gh(v);C=u;i=w;return x|0}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Gd(b)|0)>>>0>4095){c[e>>2]=b;rh(16943,e)}yi(f,b)|0;oh(f)|0;b=Db(f,16962)|0;if(!b){a[d>>0]=a[16966]|0;a[d+1>>0]=a[16967]|0;a[d+2>>0]=a[16968]|0;a[d+3>>0]=a[16969]|0;a[d+4>>0]=a[16970]|0}else{a[b>>0]=0;yg(f)|0;ff(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=wh(f,47)|0;if(g){xe(g,b,e,1);if(!((Ze(d,16966)|0)!=0?(Ze(d,16983)|0)!=0:0)){e=zd(g,19003,16989)|0;ff(d+6176|0,4096,e);Gi(e)}a[g>>0]=0;if(!(Ze(d,16993)|0)){g=g+1|0;Fd(g,d+6176|0,Gd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=wh(f,64)|0;if(!g){if(!((Ze(d,16966)|0)!=0?(Ze(d,16983)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Ze(d,16993)|0)){b=d+16|0;e=16997;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=17007;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=wh(f,58)|0;if(!b){e=d+16|0;ff(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;ff(e,2048,f);f=d+2064|0;ff(f,2048,b+1|0);b=f}md(e,e,Gd(e)|0);md(b,b,Gd(b)|0);f=g+1|0}b=wh(f,58)|0;do if(!b){if(!(Ze(d,16966)|0)){h=d+6160|0;a[h>>0]=a[17025]|0;a[h+1>>0]=a[17026]|0;a[h+2>>0]=a[17027]|0}if(!(Ze(d,16983)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Ze(d,16993)|0)){h=d+6160|0;a[h>>0]=a[17028]|0;a[h+1>>0]=a[17029]|0;a[h+2>>0]=a[17030]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){ff(d+6160|0,16,e);break}else{c[h>>2]=e;rh(17031,h)}}while(0);ff(d+4112|0,2048,f);i=j;return}function dc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[912+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[912+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function ec(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ah(na(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=na(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=na(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ah(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=na(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;na(221,l|0)|0}d=Ah(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=na(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=na(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;na(221,r|0)|0}d=Ah(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;La(6,p|0)|0}d=Ah(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ah(na(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ah(na(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function fc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Zg(512)|0;cc(b,s);h=Pa(17285)|0;p=(h|0)!=0;if(p){cc(h,q);_d(r|0,q|0,10280)|0;h=De(r,b)|0}else{_d(r|0,s|0,10280)|0;h=De(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ih(b)|0;j=ji(b,59)|0;if((j|0)!=0?(Uf(16971,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Cg(k,17296,l);Gi(b);c[m>>2]=f;Cg(k,17307,m);if((Ue(s,16966)|0)==0?(Ue(17025,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Ue(s,16983)|0)==0?(Ue(17060,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Cg(k,17335,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Cg(k,17324,n)}b=c[t>>2]|0;_d(r|0,s|0,10280)|0;ge(r,17349,b);if(p){_d(r|0,q|0,10280)|0;ge(r,17363,b);k=c[t>>2]|0}else k=b;di(k,17383);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Cg(k,17422,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Cg(k,17397,u);break}}while(0);if(g|0)di(c[t>>2]|0,g);v=c[t>>2]|0;di(v,17443);Le(h,c[v+4>>2]|0,c[v+12>>2]|0);th(t)}i=w;return h|0}function gc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function hc(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 ic(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(lb[d&7](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((lb[d&7](e,j)|0)>-1){g=f;e=m;q=19;break a}if((lb[d&7](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((lb[d&7](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){ud(b,p,e);Xc(a,b,d,g,h)}i=r;return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}qf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=$i(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=ig(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=eh(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Pg(2,13402,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Pg(2,13434,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Pg(2,13462,o);f=f+1|0}Pg(2,17148,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;tc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=$i(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=$i(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=13528;rh(13466,s)}else if((f|0)==14){Gc(b,a,0,d+-2|0,e);i=t;return}}function kc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=ig(f|0,b|0,10,0)|0;f=C;e=eh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=eh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Tg(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function lc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=eh(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;wf(o,z,1);wf(o,B,1);wf(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;ve(r|0,0,m|0)|0;mb[l&3](G,r);wf(o,r,m);wf(o,A,8);G=A;G=eh(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;Yg(o,0,x);p=p+1|0}k=t}if((d|0)==9)Aa(15708,15691,491,15735);else if((d|0)==13){i=E;return w|0}return 0}function mc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;A=B+24|0;y=B+16|0;x=B+8|0;w=B;z=B+28|0;if((m|0)<=0)Aa(15043,15059,304,15075);v=(h|0)==0;t=Ig(j|0,k|0,31)|0;t=vg(t|0,C|0,32)|0;u=C;j=0;while(1){if((j|0)>=(m|0)){t=5;break}k=c[o+(j<<2)>>2]|0;if(!(0>u>>>0|(0==(u|0)?(v?k<<5:k<<4&2147483632)>>>0>t>>>0:0))){t=8;break}j=j+1|0}if((t|0)==5){c[w>>2]=0;c[w+4>>2]=0;Pg(2,15094,w);t=9}else if((t|0)==8){j=c[n+(j<<2)>>2]|0;c[x>>2]=j;c[x+4>>2]=k;Pg(2,15094,x);if(!j)t=9}if((t|0)==9){k=c[o>>2]|0;j=c[n>>2]|0}v=rg(0)|0;c[z>>2]=v;qi(a);u=rb[f&1](l,g,a,j,k,4,d,e,h,v,b,q,r,s)|0;He(2,15141,y);c[p>>2]=j;t=j<<2;j=1;do{f=k;k=kh(u)|0;if((k|0)>=(f|0))break;f=$i(b)|0;y=q+(j<<3)|0;c[y>>2]=f;c[y+4>>2]=((f|0)<0)<<31>>31;y=Lc(u,d,e,h,b)|0;f=r+(j<<3)|0;c[f>>2]=y;c[f+4>>2]=C;c[p+(j<<2)>>2]=t;j=j+1|0;t=t<<2;u=Ac(u,t,v)|0}while((j|0)<10);ph(z);He(2,15222,A);i=B;return j|0}function nc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;wf(n,B,1);wf(n,D,1);wf(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=eh(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=ig(o|0,p|0,f|0,x|0)|0;p=d+p|0;ve(v|0,0,k|0)|0;mb[j&3](p,v);wf(n,v,k);wf(n,ob[l&3](p)|0,m);p=eh(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;Yg(n,0,y);r=eh(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=Tg(u|0,t|0,p|0,0)|0;q=C;p=eh(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)Aa(15772,15691,529,15788);else if((o|0)==11){i=E;return}}function oc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function pc(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[5908]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ah(gb(146,n|0)|0)|0}else{va(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ah(gb(146,m|0)|0)|0;ma(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 qc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Hc(23258,f<<24>>24,4)|0){e=sb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;na(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=na(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;na(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Sa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5909]|0))c[e+76>>2]=-1;Ya(23660);f=c[5914]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5914]=e;Ta(23660)}}else{c[(nh()|0)>>2]=22;e=0}i=o;return e|0}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Zg(4096)|0;while(1){if((ed(b,1e6)|0)<=0){j=3;break}g=Wf(b,m,4096)|0;if(g){Pe(c[o>>2]|0,m,g);if(!(Gg(c[(c[o>>2]|0)+4>>2]|0,17148)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Gd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Gd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;$g(17104,n);g=0}else if((j|0)==18){g=Dd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;$g(17150,p);g=0;break}if(!e)th(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function sc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;wf(l,n,4);wf(l,p,4);wf(l,r,4);wf(l,s,4);wf(l,o,8);wf(l,m,4);wf(l,m,4);f=$i(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=lc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=$i(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=15691;c[q+4>>2]=572;rh(15751,q)}else if((f|0)==8){nc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function tc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=kh(c[k>>2]|0)|0;wf(m,n,1);wf(m,o,1);wf(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;wf(m,k+12|0,4);wf(m,k+16|0,4);wf(m,k+20|0,4);wf(m,k+24|0,4);wf(m,q,8);j=q;j=eh(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;Yg(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=tc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function uc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23680:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9456+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(nh()|0)>>2]=84;f=-1}i=l;return f|0}function vc(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Va(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Wf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Tg(1,0,g|0,e|0)|0;b=eh(b|0,C|0,d|0,h|0)|0}r=(Vf(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)vf(17746,l);if((b|0)==-1)vf(17777,o);og(c[m>>2]|0)|0;og(c[a+12>>2]|0)|0;og(c[n>>2]|0)|0;i=q;return 0}function xc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function yc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=c[e>>2]|0;if(k>>>0>=f>>>0)Aa(15265,15059,682,15284);c[e>>2]=k+24;f=$i(c[i+12>>2]|0)|0;m=k;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=a+4|0;c[k+8>>2]=c[m>>2];c[k+12>>2]=c[a+8>>2];f=a+12|0;c[k+16>>2]=c[f>>2];Ad(i,a);e=c[b>>2]|0;if(((e|0)!=0?(c[e+4>>2]|0)==(c[m>>2]|0):0)?(l=c[f>>2]|0,((c[e+8>>2]|0)+d|0)>>>0>=l>>>0):0){c[e+12>>2]=l;f=e+16|0;c[f>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);j=+g[a+20>>2];f=e+20|0;if(j<+g[f>>2])g[f>>2]=j;j=+g[a+24>>2];f=e+24|0;if(j>+g[f>>2])g[f>>2]=j;m=e+28|0;g[m>>2]=+g[a+28>>2]+ +g[m>>2];m=e+32|0;g[m>>2]=+g[a+32>>2]+ +g[m>>2]}else{k=bf(h,48)|0;i=k;f=a;e=i+48|0;do{c[i>>2]=c[f>>2];i=i+4|0;f=f+4|0}while((i|0)<(e|0));c[k>>2]=c[b>>2];c[b>>2]=k}return}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){td(b);break}if((og(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];rh(19798,k)}}else{if(!(c[a+20>>2]&2)){if(jg(d)|0){c[f>>2]=c[a+12>>2];rh(19767,f)}}else{gd(d)|0;if(jg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];rh(19737,e)}}if((he(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];rh(19798,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((hb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Df(19420,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;rh(19828,l)}if(b|0)Aa(19869,19073,435,19887);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;rh(19903,m)}i=n;return d>>>8&255|0}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;c[n>>2]=0;h=0;j=0;while(1){if(!a){a=15;break}if(((j|0)!=0?(c[j+4>>2]|0)==(c[a+4>>2]|0):0)?(m=c[a+12>>2]|0,m>>>0<=((c[j+8>>2]|0)+b|0)>>>0):0){e=j+12|0;if((c[e>>2]|0)>>>0>=m>>>0){a=8;break}c[e>>2]=m;e=j+16|0;c[e>>2]=(c[e>>2]|0)+(c[a+16>>2]|0);e=j+20|0;f=+g[a+20>>2];if(+g[e>>2]>f)g[e>>2]=f;e=j+24|0;f=+g[a+24>>2];if(+g[e>>2]<f)g[e>>2]=f;e=j+28|0;g[e>>2]=+g[a+28>>2]+ +g[e>>2];e=j+32|0;g[e>>2]=+g[a+32>>2]+ +g[e>>2];e=j}else{l=bf(d,48)|0;e=l;j=a;k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[l>>2]=h;c[n>>2]=l;h=l;e=l}j=e;a=c[a>>2]|0}if((a|0)==8)Aa(15176,15059,729,15199);else if((a|0)==15){gg(n);i=o;return c[n>>2]|0}return 0}function Bc(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+120|0;r=s+80|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((vb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=jj(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=vb(b,d,o,q,r)|0;if(h){kb[c[b+36>>2]&7](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=vb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)ij(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Cc(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=dc(0,0,0)|0;else d=$b(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Pf(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;ve(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[144+(h*12|0)+2>>1];c[a+140>>2]=e[144+(h*12|0)>>1];c[a+144>>2]=e[144+(h*12|0)+4>>1];c[a+124>>2]=e[144+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Dc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ih(24308)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Vd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;ng(h,4,12708,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Zg(512)|0;c[h>>2]=f;di(f,b);di(f,16962);d=b+16|0;if(a[d>>0]|0){d=Dc(d)|0;di(f,d);Gi(d);d=b+2064|0;if(a[d>>0]|0){di(f,17056);d=Dc(d)|0;di(f,d);Gi(d)}di(f,17058)}di(f,b+4112|0);if(!((Ue(b,16993)|0)==0?!(Ue(17028,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Ue(b,16966)|0)==0?(Ue(17025,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Ue(b,16983)|0)==0?(Ue(17060,d)|0)==0:0)break;di(f,17056);di(f,d)}while(0);di(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Cg(f,17064,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Cg(f,17081,k)}k=xg(h)|0;i=l;return k|0}function Fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Kb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}og(a)|0;if((h|0)>0)Gi(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Uf(17487,f)|0)==0?(Uf(17495,f)|0)==0:0){g=11;break}f=ae(g,f)|0;c[j>>2]=f;a=Zb(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;$g(18497,k);g=14}else if((g|0)==11){c[l>>2]=f;$g(18551,l);g=14}else if((g|0)==13){c[m>>2]=f;$g(18581,m);g=14}if((g|0)==14)if((b|0)>0){Gi(f);b=0}else b=0;i=n;return b|0}function Gc(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=kh(c[g>>2]|0)|0;wf(j,k,1);wf(j,l,1);wf(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;wf(j,g+12|0,4);wf(j,g+16|0,4);wf(j,g+20|0,4);wf(j,g+24|0,4);f=g+32|0;wf(j,f,8);h=g+40|0;f=Tg(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;wf(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;Yg(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Gc(d,g,k,h,j)}}while(0);i=o;return}function Hc(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|0)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?b:0)|0}function Ic(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ah(qa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(nh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ah(qa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;ec(e,2,j)|0}if(b&2048){c[h>>2]=ec(e,3,k)|0|2048;ec(e,4,h)|0}}}}while(0);i=l;return e|0}function Jc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5908]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ah(fb(145,h|0)|0)|0}else{va(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ah(fb(145,g|0)|0)|0;ma(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Lc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=kh(a)|0;c[j>>2]=h;c[k>>2]=Jh(h<<2)|0;wf(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=$i(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;wf(f,e+4|0,4);wf(f,e+8|0,4);wf(f,e+12|0,4);wf(f,e+16|0,4);Wg(f,+g[e+20>>2]);Wg(f,+g[e+24>>2]);Wg(f,+g[e+28>>2]);Wg(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=$i(f)|0;e=((h|0)<0)<<31>>31;Jb(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,2,6,h,e,f);Gh(k)}else{h=bc(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=Zb(a,0)|0;if((d|0)<0){c[e>>2]=a;$g(18581,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Uf(17487,a)|0)==0?(Uf(17495,a)|0)==0:0){e=0;g=7}else if(!(Fc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=ih(a)|0;md(a,b,Gd(a)|0);do if(!(Gg(b,18598)|0)){if(Gg(b,18602)|0){Gi(b);g=12;break}f=(Gg(b,18605)|0)==0;Gi(b);if(f)b=Xf(a,1,d)|0;else g=12}else{Gi(b);g=12}while(0);if((g|0)==12)b=qg(a,1,d)|0;if(e)Gi(e)}}i=h;return b|0}function Nc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Aa(16375,16427,388,16439);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Jh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)gg(b);d=d+1|0}Gi(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Oc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;mb[c[b>>2]&3](c[e>>2]|0,d);d=b;b=c[f>>2]|0}mb[c[d>>2]&3](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Vd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Zg(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){di(e,18999);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){di(e,19003);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}di(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=xg(j)|0;if(!(c[a>>2]|0))rh(19005,k);if(!(b&8))e=0;else{Jg(l,pe(136,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Jg(l,pe(d,l)|0);e=e+1|0}i=m;return l|0}function Qc(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(!(Re(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=kb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((kb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);_d(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 Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Sc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Gd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Tc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Vd(16)|0;else l=bf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=ei(d,e)|0;else{k=bf(h,e+1|0)|0;c[l+4>>2]=k;_d(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Nc(b,hh(m)|0);return l|0}function Uc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=oj()|0;dj(23548)|0;if((c[5894]|0)!=0&(a|0)==(c[5895]|0)){Vf(2,12713,61)|0;Na(1)}bj(23548)|0;dj(23584)|0;dj(23548)|0;c[5895]=a;c[5894]=1;bj(23548)|0;if(!(c[5903]|0))c[5903]=ee(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;ng(d,64,17081,b)|0;a=Ee(c[5903]|0,d)|0;if(!a){a=Vd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Uh(c[5903]|0,d,a)|0}dj(23548)|0;c[5894]=0;bj(23548)|0;bj(23584)|0;i=e;return c[a+8>>2]|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Wc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=yf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Xc(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((lb[d&7](k,j)|0)>-1?(lb[d&7](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((lb[d&7](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);ud(b,o,e);i=p;return}function Yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9660;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(nh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Bc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Ue(b,13940)|0){if(!(Ue(b,13946)|0)){f=c[2276]|0;break}e=Nd(b,d)|0;if(!e){a:do if(!d)e=24308;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=13974;break a}case 119:{e=13964;break a}default:{e=e<<24>>24==97?13953:24308;break a}}}while(0);d=$d(c[(nh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;rh(13983,g)}else f=e}else f=c[2335]|0;while(0);i=h;return f|0}function _c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ie(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=ab(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Si(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;_i(f);break}else{b=Ca(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;$g(13633,f);b=0;break}}else{Te(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function $c(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Vd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[18610+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[18610+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[18610+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[18610+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function ad(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18794+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18794+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Da(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Df(19146,k);l=yh()|0;if(lg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Df(19169,f)}if(b|0?(Kf(b,0)|0)<0:0)Df(19196,g);if((d|0)!=1?(Kf(d,1)|0)<0:0)Df(19216,h);if((e|0)!=2?(Kf(e,2)|0)<0:0)Df(19237,j);Lg();i=k;return}function cd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=ig(c|0,d|0,10,0)|0;b=b+1|0;c=Tg(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Tg(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function dd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=Vb(a,b)|0;if((a|0)<0)a=-1;else{if((ed(a,1e6)|0)>0)lh(a,24308,0,0)|0;c[g>>2]=0;c[h>>2]=d;ng(f,256,17193,h)|0;do if(lh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,ng(f,256,17203,j)|0,(lh(a,f,0,0)|0)==0):0){og(a)|0;a=-1;break}if(!(lh(a,17213,0,0)|0)){og(a)|0;a=-1}}else{og(a)|0;a=-1}while(0)}i=k;return a|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=of(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(nh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=$d(a)|0;$g(17086,m)}i=n;return a|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Oe(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Vd(5)|0;c[g>>2]=f;if((Wf(e,f,4)|0)<4)Gh(g);else a[f+4>>0]=0;og(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Qd(e)|0,Gh(h),(g|0)!=0):0){h=$f(te(b)|0,33,b,0)|0;e=Xf(b,d,Qi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function gd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Od(a)|0;break}d=(jj(a)|0)==0;b=Od(a)|0;if(!d)ij(a)}else{if(!(c[2305]|0))b=0;else b=gd(c[2305]|0)|0;Ya(23660);a=c[5914]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=jj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Od(a)|0|b;if(d|0)ij(a);a=c[a+56>>2]|0}while((a|0)!=0);Ta(23660)}while(0);return b|0}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Bf(e,0)|0;c[n>>2]=g;Sf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Bf(d,e)|0;else if(!f){e=Oe(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Df(19706,k)}else j=e}else j=0;c[m>>2]=j;e=$e(a,b,j,g)|0;Cf(m);if(!l)Cf(n);i=o;return e|0}function id(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[(nh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=yh()|0;c[g>>2]=f;ng(a,256,18722,g)|0;d=Ke(a,1)|0;c[g>>2]=d;if(!d){j=c[2306]|0;c[b>>2]=a;Ag(j,18759,b)|0;a=j}else{while(1){if(!(Of(d,e)|0))break;a=c[e>>2]|0;if(Db(a,18738)|0){j=5;break}}if((j|0)==5){j=c[2306]|0;c[h>>2]=f;c[h+4>>2]=a;Ag(j,18745,h)|0}td(g);a=c[2306]|0}gd(a)|0;i=k;return}function kd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Pd(k)|0;_d(j|0,d|0,e|0)|0;Gi(c);d=j;e=k;c=j}k=yb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ih(d)|0;Gi(c);c=l}i=h;return c|0}function ld(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function md(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Eg(f,12704,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function nd(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;ve(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){Qc(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;Qc(h,f,a)|0}while(0);i=j;return}function od(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(!(Re(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((kb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function pd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Dg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Yc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Dg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function qd(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;h=kh(a)|0;if((h|0)>0){f=Jh(h<<4)|0;g=0;e=0;while(1){if((g|0)==(h|0))break;j=c[a+4>>2]|0;i=Gd(j)|0;c[f+(g<<4)+4>>2]=j;c[f+(g<<4)+8>>2]=c[a+12>>2];c[f+(g<<4)+12>>2]=c[a+16>>2];g=g+1|0;e=(i|0)>(e|0)?i:e;a=c[a>>2]|0}Ub(f,h,16,5)}else{f=0;e=0}sc(f,16,h,((h|0)<0)<<31>>31,(h|0)>(b|0)?b:h,2,e,2,8,d);Gi(f);return}function rd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;f=c[b+92>>2]|0;if(f|0)mb[f&3](b,12971);if(c[b+56>>2]|0){c[g>>2]=c[b+4>>2];Df(12984,g)}a[b+48>>0]=0;f=c[b+72>>2]|0;if(!f){c[b+20>>2]=0;c[b+36>>2]=0;c[b+32>>2]=0;e=kf(c[b+8>>2]|0,d,e)|0;c[b+16>>2]=e;if((e|0)==-1){c[h>>2]=c[b+4>>2];Df(13028,h)}}else mf(f,d,((d|0)<0)<<31>>31);i=j;return}function sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(jj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=od(d,b)|0;ij(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=od(d,b)|0}while(0);return e|0}function td(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(uh(c[2335]|0)|0):0){og(c[d>>2]|0)|0;Gi(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Rb(d)}else ah(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)jb[d&3](f);Gi(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Jd(g);Gh(b)}return}function ud(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;_d(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;_d(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function vd(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=Tg(h^a|0,g^b|0,h|0,g|0)|0;b=C;Tb(a,b,Tg(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Tg(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function wd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Wf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Df(14043,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;rh(14068,g)}else if((d|0)==8){i=h;return}}function xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(vi(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(vi(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Gd(b)|0;h=Gd(c)|0;d=0;e=Db(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Db(e+g|0,b)|0}f=Gd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Vd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Db(a,b)|0;d=f;while(1){if(!a)break;yi(d,e)|0;j=a+g|0;i=d+(a-e)|0;yi(i,c)|0;e=j;a=Db(j,b)|0;d=i+h|0}yi(d,e)|0;return f|0}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;c[f+(e<<5)>>2]=c[b+4>>2];c[f+(e<<5)+4>>2]=c[b+8>>2];c[f+(e<<5)+8>>2]=c[b+12>>2];c[f+(e<<5)+12>>2]=c[b+16>>2];c[f+(e<<5)+16>>2]=c[b+20>>2];c[f+(e<<5)+20>>2]=c[b+24>>2];c[f+(e<<5)+24>>2]=c[b+28>>2];c[f+(e<<5)+28>>2]=c[b+32>>2];b=e+1|0;c[d>>2]=b;if((b|0)>=(c[a+8>>2]|0))Zd(a);return}function Bd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Bh(f,-1,19927,56)|0;if(a|0){f=a;i=g;return f|0}a=tb(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Oc(f)|0;i=g;return f|0}else{Oc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Cd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ig(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Dd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(kb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((kb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Fd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Eg(f,12704,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Gd(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 Hd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Mg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Hd(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 Id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Ee(c[e>>2]|0,d)|0)){Uh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Ag(g,13053,h)|0}}}while(0);i=j;return}function Jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;ti(d);d=g}e=e+1|0}}else{ph(b);b=d+8|0}while(0);Gi(c[b>>2]|0);Gh(a)}return}function Kd(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[29]|0;if(!((b|0)!=0&d>>>0>b>>>0)){h=e;c[h>>2]=b;c[h+4>>2]=0;h=e+8|0;c[h>>2]=d;c[h+4>>2]=0;rh(15441,e)}d=Bi(a,b)|0;if(!d){h=c[(nh()|0)>>2]|0;g=f;c[g>>2]=b;c[g+4>>2]=0;c[f+8>>2]=h;rh(15505,f)}else{i=g;return d|0}return 0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=ec(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((ec(a,4,f)|0)<0){c[g>>2]=$d(c[(nh()|0)>>2]|0)|0;$g(16647,g);d=-1}else d=0}else{c[e>>2]=$d(c[(nh()|0)>>2]|0)|0;$g(16616,e);d=-1}i=h;return d|0}function Md(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18802+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18810+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18810+f>>0]}while(0);return}function Nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Hc(23258,a[d>>0]|0,4)|0){h=gf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ah(_a(5,e|0)|0)|0;if((e|0)>=0){b=qc(e,d)|0;if(!b){c[f>>2]=e;La(6,f|0)|0;b=0}}else b=0}else{c[(nh()|0)>>2]=22;b=0}i=g;return b|0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(kb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)kb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;b=c[29]|0;if(!((a|0)!=0&b>>>0>a>>>0)){g=d;c[g>>2]=a;c[g+4>>2]=0;g=d+8|0;c[g>>2]=b;c[g+4>>2]=0;rh(15317,d)}b=Yi(a)|0;if(!b){g=c[(nh()|0)>>2]|0;f=e;c[f>>2]=a;c[f+4>>2]=0;c[e+8>>2]=g;rh(15375,e)}else{i=f;return b|0}return 0}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Uf(12833,a)|0))if(!(Uf(12836,a)|0))if(!(Uf(12840,a)|0))if(!(Uf(12843,a)|0))a=0;else{a=12848;e=5}else{a=12852;e=5}else{a=12856;e=5}else{a=12858;e=5}if((e|0)==5){c[d>>2]=a;ng(b,20,12861,d)|0;a=ih(b)|0}i=f;return a|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;bh(e,b,16);a=se(12548,c[14]|0)|0;c[14]=a;Wi(_(a,1e9)|0);c[2]=se(12556,c[2]|0)|0;c[3]=se(12566,c[3]|0)|0;c[5886]=(Mi(12579)|0)==0&1;if((c[e>>2]|0)!=4)Fg();Nb(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);if((kj()|0)>1)jd();i=d;return 0}function Sd(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=Tg(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Tg((Tb(h,g,Tg(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Ff(h,0);e=+ub(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Ud(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=Zf(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Lh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Vd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;rh(15577,b)}b=Yi(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(15630,d)}else{ve(b|0,0,a|0)|0;i=e;return b|0}return 0}function Wd(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)kb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=13844;break}case 2:{a=13823;break}case -1:{a=13812;break}case -2:{a=13796;break}case -3:{a=13796;break}case -4:{a=13781;break}case -5:{a=13766;break}case -6:{a=13747;break}case 0:{a=0;break}default:{c[b>>2]=a;ng(24180,128,13728,b)|0;a=24180}}i=d;return a|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=sb(b)|0;return a|0}if(b>>>0>4294967231){c[(nh()|0)>>2]=12;a=0;return a|0}d=Ob(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=sb(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;_d(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;zb(a);a=d;return a|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;d=a+4|0;b=c[d>>2]|0;if(b|0){b=b<<5;if(!(c[a+16>>2]|0))wf(c[a+12>>2]|0,c[a>>2]|0,b);else{h=Ai(b)|0;f=Oa()|0;g=i;i=i+((1*h|0)+15&-16)|0;b=Je(c[a>>2]|0,b,g,h)|0;wf(c[a+12>>2]|0,g,b);za(f|0)}c[d>>2]=0}i=e;return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ha(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 $d(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21326+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21414;e=5;break}}if((e|0)==2)if(!c)b=21414;else{b=21414;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 ae(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;cc(b,g);cc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){ff(e,2048,d);ff(f+2064|0,2048,g+2064|0)}g=Ec(f)|0;i=h;return g|0}function be(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Of(b,d)|0))break;if((Uf(13291,c[d>>2]|0)|0)==0?(Uf(13299,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Pg(2,13342,f)}if((g|0)==5){c[e>>2]=c[d>>2];Pg(2,13305,e);a[b+48>>0]=1}i=h;return}function ce(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function de(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;rh(13543,k)}else{c[j>>2]=e;Ih(d,j)}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Aa(16375,16427,357,16450);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=rg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Jh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function fe(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Ff(j,0);e=Eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ge(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;ng(h,256,17264,j)|0;j=$c(h,Gd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Cg(e,17270,k);Gh(g)}i=l;return}function he(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ya(23660);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5914]|0)==(a|0))c[5914]=b;Ta(23660)}b=gd(a)|0;b=ob[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)zb(d);if(!e)zb(a);return b|0}function ie(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=kf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=14245;else e=(d|0)==2?14204:14213;else e=14236;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Df(14254,g);return 0}function je(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2276]|0;if((c[f+76>>2]|0)>-1)g=jj(f)|0;else g=0;do if((ni(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=(od(f,10)|0)<0}while(0);if(g|0)ij(f);return d<<31>>31|0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Gi(e);f=f+1|0}Gi(b);Gi(i);i=h}Gh(g+12|0);Gh(g+28|0);Gh(a)}return}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Ci(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;rh(13243,g);return +(0.0)}function me(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+16|0;f=h;e=(a|0)<10?10:a;a=0;while(1){if((a|0)>=10){a=10;break}c[d+(a<<2)>>2]=0;c[b+(a<<2)>>2]=e;if((e|0)>536870911){g=4;break}e=e<<2;a=a+1|0}if((g|0)==4){a=a+1|0;c[f>>2]=a;Pg(2,15008,f)}i=h;return a|0}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;rh(13195,f)}j=Dd(d)|0;i=g;return j|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;e=b+-1|0;d=0;while(1){if(!a)break;j=c[a+8>>2]|0;h=((e+j|0)>>>0)/(b>>>0)|0;c[f>>2]=c[a+4>>2];c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=b;Pg(2,15241,f);d=h+d|0;a=c[a>>2]|0}i=g;return d|0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Vd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ih(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Kc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Rc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function re(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2276]|0);if((b|0)==(c[2335]|0)|d)if(d){gd(b)|0;b=1}else b=1;else if(!(he(b)|0))b=1;else{vf(14299,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=mg(b)|0;do if((f|0)!=0?(Ue(f,16225)|0)!=0:0){d=Oh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;rh(15948,h)}else e=d;while(0);i=j;return e|0}function te(a){a=a|0;var b=0;b=ih(a)|0;if(!(((Uf(17487,a)|0)==0?(Uf(17495,a)|0)==0:0)?!(Uf(17504,a)|0):0))md(a,b,Gd(a)|0);if(!(Gg(b,18598)|0))if(!(Gg(b,18602)|0))if(!(Gg(b,18605)|0)){a=(Gg(b,12873)|0)==0;a=a?0:60}else a=96;else a=84;else a=72;Gi(b);return a|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Jh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;rh(16346,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function ve(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 we(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=xi(e&65535)|0;if(d){h=Ti(_c(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=ji(b,59)|0;if((g|0?Uf(16971,g)|0:0)?(i=(wh(g,61)|0)+1|0,h=wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=cd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=cd(b)|0;c[e>>2]=f}}return}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ee(0,1)|0;b=qh(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(eg(b,f,2)|0))break;b=c[f>>2]|0;$h(d,b,jh(c[a>>2]|0)|0)|0;b=c[e>>2]|0}td(e);i=g;return d|0}function ze(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 Ae(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ah(qa(102,h|0)|0)|0;i=g;return e|0}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Zg(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){di(e,19003);b=c[d>>2]|0}di(e,b);f=f+1|0}g=xg(g)|0;i=h;return g|0}function Ce(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ah(qa(102,h|0)|0)|0;i=g;return e|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Ue(a,16966)|0)if(!(Ue(a,16983)|0)){d=Xg(a+4112|0,Dd(a+6160|0)|0)|0;break}else{c[e>>2]=b;rh(17222,e)}else d=Vb(a+4112|0,Dd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Ue(c[e+4>>2]|0,d)|0)!=0);return e|0}function Fe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;h=a+4|0;i=a+8|0;f=e[a>>1]|0;g=0;while(1){if((g|0)>=(f|0))break;a=Gd(c[b+((e[(c[h>>2]|0)+(g<<1)>>1]|0)<<2)>>2]|0)|0;d=(c[i>>2]|0)+(g<<2)|0;if((a|0)>(c[d>>2]|0))c[d>>2]=a;g=g+1|0}return}function Ge(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((Ah(cb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function He(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+32|0;f=g;e=g+8|0;if(!b)Aa(13673,13687,55,13702);if((c[28]|0)<0)c[28]=Hf()|0;h=Hf()|0;c[e>>2]=d;dg(a,b,e);c[f>>2]=h-(c[28]|0);Pg(a,13714,f);c[28]=h;i=g;return}function Ie(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=Bd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=Xd(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;rh(13860,g)}return 0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Ue(a,13940)|0){if(te(a)|0){c=fd(a,b)|0;break}c=Oe(a,0,c)|0;if((c|0)==-1)c=0;else c=Xf(a,b,c)|0}else c=ki(b)|0;while(0);i=d;return c|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Vf(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Df(14110,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;rh(14136,e)}}function Me(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;return rb[a&1](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)|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;h=k;while(1){if(!(Lb(b,h,j)|0)){g=0;break}g=c[h>>2]|0;if((a[g>>0]|0)==35)continue;g=xd(g,d,e,f)|0;if(g|0)break}i=k;return g|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ah(_a(5,f|0)|0)|0;i=e;return d|0}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Dg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;_d(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ah(qa(102,f|0)|0)|0;i=e;return d|0}function Re(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 Se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=eh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Le(b,d,e);return}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((Xb(2,a,d)|0)<0){b=$d(c[(nh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;$g(13592,e);a=0}else{c[b>>2]=Si(c[d>>2]|0)|0;a=1}i=f;return a|0}function Ue(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 Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=eh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;wd(b,d,e);return}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Ae(a,1,20,d,8)|0)>=0)if((Ae(a,1,21,d,8)|0)<0){$g(16511,e);a=-1}else a=0;else{$g(16461,f);a=-1}i=f;return a|0}
-function Xe(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,Sa(54,f|0)|0):0)a[b+75>>0]=-1;f=pc(b,d,e)|0;i=g;return f|0}function Ye(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Lb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=yd(f,d,e)|0;if(f|0)break}i=j;return f|0}function Ze(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=hi(a[e>>0]|0)|0;c=c<<24>>24;b=(hi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function _e(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 $e(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;Sf(b);a=Pc(a,b)|0;if(!(b&1)){b=ag(a+16|0)|0;c[f>>2]=b;Sb(a,b,d,e,0,0);Cf(f)}else Nf(a,d,e,0,0);i=g;return a|0}function af(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=wb(e,b,d)|0;i=g;return h|0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=ue(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function cf(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=kb[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function df(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Yc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;rh(14313,g)}return 0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Hc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;_d(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Gd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;rh(13894,f)}else{yi(a,d)|0;i=g;return}}function gf(b){b=b|0;var c=0,d=0,e=0;d=(wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wh(b,120)|0)==0;d=e?d:d|128;b=(wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((d|0)<(b|0)){g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(13146,e)}else{i=f;return}}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(13106,e)}}function kf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ah(cb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function lf(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=(jj(e)|0)==0;a=Qc(a,f,e)|0;if(!g)ij(e)}else a=Qc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=eh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(14364)hg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function nf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2276]|0;else{je(12775)|0;je(12800)|0;d=c[2276]|0;Bc(d,a,b)|0;sd(10,d)|0;gd(d)|0}gd(d)|0;d=c[2306]|0;Bc(d,a,b)|0;sd(10,d)|0;gd(d)|0}return}function of(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ah(db(142,h|0)|0)|0;i=g;return d|0}function pf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)qf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function rf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Pd(h)|0;a=a+136|0;hg(a,b,d+64|0,0)|0;Ve(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function sf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ke(a,b)|0;if(!b){e=$d(c[(nh()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;rh(12949,d)}else{i=e;return b|0}return 0}function tf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Ng(e)|0,(a[d>>0]|0)!=0):0){e=Mf(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function uf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=$d(c[(nh()|0)>>2]|0)|0;c[g+4>>2]=a;zg(f,12827,g)|0;dh(f,e);i=d;return}function wf(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?(lf(b,d,1,a)|0)!=1:0){a=$d(jg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;rh(14013,e)}i=f;return}function xf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _d(b,c,d)|0;return b|0}function yf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Wd(a)|0)!=0:0)b=-1;else if((kb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;rh(19363,e)}}function Af(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 Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Oe(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Df(19674,d)}else{i=e;return b|0}return 0}function Cf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((og(b)|0)<0){c[d>>2]=b;Df(19398,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=$d(c[(nh()|0)>>2]|0)|0;c[f+4>>2]=a;zg(e,12827,f)|0;Ih(e,d)}function Ef(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+Ci(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;rh(13574,e);return +(0.0)}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Gf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((og(b)|0)<0)Df(14286,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Hf(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;d=e;bb(d|0,0)|0;a=c[5905]|0;b=c[d>>2]|0;if(!a){c[5905]=b;a=b}i=e;return ((b-a|0)*1e3|0)+((c[d+4>>2]|0)/1e3|0)|0}function If(a){a=a|0;var b=0,d=0,f=0,g=0;f=a+4|0;b=e[a>>1]|0;d=0;a=0;while(1){if((d|0)==(b|0))break;g=e[(c[f>>2]|0)+(d<<1)>>1]|0;d=d+1|0;a=(g|0)>(a|0)?g:a}return a|0}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Th(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Aa(12893,12915,352,12931)}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=ra(63,e|0)|0}while((d|0)==-16);e=Ah(d)|0;i=f;return e|0}function Lf(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(jj(a)|0)==0;Ed(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)ij(a)}else{Ed(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Mf(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(vi(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Nf(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;g=i;i=i+16|0;h=g;c[a+16>>2]=ag(h)|0;Sb(a,b,c[h>>2]|0,d,e,f);Cf(h);i=g;return}function Of(b,d){b=b|0;d=d|0;a:while(1){if(!(Lb(b,d,0)|0)){b=0;break}switch(a[(Ng(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Pf(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=264;c[a+2852>>2]=a+2440;c[a+2860>>2]=400;c[a+2864>>2]=a+2684;c[a+2872>>2]=540;b[a+5816>>1]=0;c[a+5820>>2]=0;xc(a);return}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_d(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Wf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Sf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{rh(18870,c);break}default:{}}if((a&18|0)==16)rh(18936,b);else{i=c;return}}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(jj(a)|0)==0;b=Ed(a,b,d)|0;if(!e)ij(a)}else b=Ed(a,b,d)|0;return b|0}function Uf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah($a(4,f|0)|0)|0;i=e;return a|0}function Wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(Wa(3,f|0)|0)|0;i=e;return a|0}function Xf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Vd(104)|0;c[f+4>>2]=ih(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Vd(65537)|0;return f|0}function Yf(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;ba(8);return 0}function Zf(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;Tb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=$e(g,b,d,e)|0;i=f;return e|0}function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=hd(g,b,d,e)|0;i=f;return e|0}function ag(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Qg(b)|0)<0)Df(19035,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function bg(b){b=b|0;var c=0,d=0;c=Gd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(vi(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function dg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[27]|0)>=(a|0)){a=c[5904]|0;if(!a){a=c[2306]|0;c[5904]=a}Bc(a,b,d)|0;gd(c[5904]|0)|0}return}function eg(a,b,c){a=a|0;b=b|0;c=c|0;b=Ye(a,b,c)|0;if(b)if((b|0)<(c|0)){jf(a,c,b);b=1}else b=1;else b=0;return b|0}function fg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return ie(b,d,e)|0}function ig(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=pf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function jg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(jj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)ij(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Vd(20)|0;c[e>>2]=Jh(a<<5)|0;c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=d;return e|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ah(Ra(57,e|0)|0)|0;i=d;return a|0}function mg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5906]|0;if(!b)rh(16314,d);else{a=fh(b,a)|0;i=d;return a|0}return 0}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=df(a,b,d,g)|0;i=f;return e|0}function og(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=La(6,d|0)|0;a=Ah((a|0)==-4?-115:a)|0;i=b;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Ue(d,a)|0))break;b=b+8|0}return b|0}function qg(a,b,d){a=a|0;b=b|0;d=d|0;d=_f(te(a)|0,33,d,2)|0;b=Xf(a,b,Qi(d)|0)|0;c[b+56>>2]=d;return b|0}function rg(a){a=a|0;var b=0;b=Vd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;ue(b,a)|0;return b|0}function sg(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=Ah(La(6,d|0)|0)|0;i=b;return a|0}function tg(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]}function ug(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return nb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function wg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Vd(d+1|0)|0;c=(c|0)<(d|0)?c:d;_d(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function xg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Aa(18675,18686,40,18702);else{b=c[b+4>>2]|0;Gh(a);return b|0}return 0}function yg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=ii(c<<24>>24)|0;d=d+1|0}return b|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xh(a,b,f)|0;i=e;return d|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Bc(a,b,f)|0;i=e;return d|0}function Bg(a,b,d){a=a|0;b=b|0;d=d|0;b=b+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Cg(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;pd(a,b,f);i=e;return}function Dg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Th(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=af(a,b,f)|0;i=e;return d|0}function Fg(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=4;c[a+4>>2]=d;c[a+8>>2]=b;rh(11076,a)}function Gg(a,b){a=a|0;b=b|0;var c=0;c=Gd(a)|0;c=c-(Gd(b)|0)|0;if((c|0)<0)c=0;else c=(Ue(a+c|0,b)|0)==0&1;return c|0}function Hg(a,b){a=a|0;b=b|0;wf(a,b,8);wf(a,b+8|0,8);wf(a,b+16|0,8);wf(a,b+24|0,8);wf(a,b+32|0,8);return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Kg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Gi(b);b=d}c[a>>2]=0;return}function Lg(){var a=0,b=0;a=Xa(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;og(b)|0;b=b+1|0}return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Ng(b){b=b|0;if(!b)b=0;else while(1)if(!(vi(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Og(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(jj(a)|0)==0;a=cf(a)|0}else a=cf(a)|0;return a|0}function Pg(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;dg(a,b,f);i=e;return}function Qg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ah(ua(42,d|0)|0)|0;i=b;return a|0}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;a=Kd(a,c)|0;if(c>>>0>b>>>0)ve(a+b|0,0,c-b|0)|0;return a|0}function Sg(){}function Tg(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 (C=d,a-c>>>0|0)|0}function Ug(a){a=a|0;var b=0;if(!a)a=Vd(8)|0;else{b=Vd((Gd(a)|0)+8|0)|0;yi(b+4|0,a)|0;a=b}return a|0}function Vg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[27]=a;c[d>>2]=0;i=b;return}function Wg(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;wf(a,d,4);i=c;return}function Xg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;rh(18818,d);return 0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;sd(b,a)|0;c=c+-1|0}return}function Zg(a){a=a|0;var b=0;b=Vd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Vd(a+1|0)|0;c[b+8>>2]=a;return b|0}function _g(){var a=0,b=0;b=i;i=i+16|0;a=Ic(2,1,0)|0;if((a|0)<0)$g(16586,b);i=b;return a|0}function $g(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;dh(a,e);i=d;return}function ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=zc(b)|0;ke(a)}return b|0}function bh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5906]|0)){Fh(Gb(a,b,0,d,0)|0);c[5907]=d}return}function ch(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Zd(b);Gi(c[b>>2]|0);Gh(a)}return}function dh(a,b){a=a|0;b=b|0;var d=0;d=Uc()|0;mb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function fh(a,b){a=a|0;b=b|0;a=Ee(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function hh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ih(a){a=a|0;var b=0;if(!a)a=0;else{b=Gd(a)|0;a=wg(a,b,b)|0}return a|0}function jh(a){a=a|0;var b=0;b=i;i=i+16|0;a=de(a,0,b)|0;i=b;return a|0}function kh(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ci(a,b);return rc(a,b,c,d)|0}function mh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function nh(){var a=0;if(!(c[5908]|0))a=23676;else a=c[(oj()|0)+64>>2]|0;return a|0}function oh(a){a=a|0;if(!a)a=0;else{a=Ng(a)|0;bg(a)}return a|0}function ph(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Kg(b);Gi(b);c[a>>2]=0}return}function qh(a){a=a|0;a=Mc(a)|0;if(!a)xh();else return a|0;return 0}function rh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ih(a,d)}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kb[a&7](b|0,c|0,d|0)|0}function th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Gi(c[b+4>>2]|0);Gh(a)}return}function uh(a){a=a|0;if((c[a+76>>2]|0)>-1?jj(a)|0:0)ij(a);return c[a+60>>2]|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;a=bf(a,c)|0;_d(a|0,b|0,c|0)|0;return a|0}function wh(b,c){b=b|0;c=c|0;b=Sc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xh(){var a=0;a=Uc()|0;qb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Na(-1)}function yh(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Gf(b+52|0);Gh(a)}return}function Ah(a){a=a|0;if(a>>>0>4294963200){c[(nh()|0)>>2]=0-a;a=-1}return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ac(a,b,8,15,8,0,c,d)|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pb[a&3](b|0,c|0,d|0)}function Dh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Eh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=id(a,b,0)|0;return a|0}function Fh(a){a=a|0;c[5906]=a;if(mg(15806)|0)Vg(se(15806,0)|0);return}function Gh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)aj(b);return}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Ih(a,b){a=a|0;b=b|0;c[(Uc()|0)+4>>2]=1;dh(a,b);xh()}function Jh(a){a=a|0;var b=0;b=Pd(a)|0;ve(b|0,0,a|0)|0;return b|0}function Kh(a,b){a=a|0;b=b|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Tb(a,b,c,d,0)|0}function Mh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,b,c,0,-2147483648)|0;return a|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,b,c,-2147483648,0)|0;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;return fc(a,b,17446,17455,c)|0}function Qh(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Rh(a,b){a=a|0;b=b|0;return Ue(c[a+4>>2]|0,c[b+4>>2]|0)|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&7](b|0,c|0)|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(a,b,c)|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;return Tc(a,b,Gd(b)|0,c)|0}function Vh(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Wh(a){a=a|0;if(!(re(a)|0))xh();else return}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,2147483647,b,c)|0}function Yh(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;mb[a&3](b|0,c|0)}function _h(){if((Pa(12808)|0)==0?(Pa(12818)|0)==0:0)Na(-1);Ma()}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return Uh(a,b,0+c|0)|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return sb(_(c,b)|0)|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;return ef(a,b,c)|0}function ci(a,b){a=a|0;b=b|0;Le(a,b,Gd(b)|0);return}function di(a,b){a=a|0;b=b|0;Pe(a,b,Gd(b)|0);return}function ei(a,b){a=a|0;b=b|0;return wg(a,Gd(a)|0,b)|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,0,c)|0}function gi(a,b){a=a|0;b=b|0;yi(b,c[a+4>>2]|0)|0;return}function hi(a){a=a|0;var b=0;b=(Oi(a)|0)==0;return (b?a:a&95)|0}function ii(a){a=a|0;var b=0;b=(Ni(a)|0)==0;return (b?a:a|32)|0}function ji(a,b){a=a|0;b=b|0;return fg(a,b,(Gd(a)|0)+1|0)|0}function ki(a){a=a|0;return Xf(13940,a,uh(c[2335]|0)|0)|0}function li(a){a=a|0;if(!(c[a+68>>2]|0))ij(a);return}function mi(a){a=a|0;if(!(c[a+68>>2]|0))ij(a);return}function ni(a,b){a=a|0;b=b|0;return (lf(a,Gd(a)|0,1,b)|0)+-1|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,1,c)|0}function pi(a){a=a|0;return ((a+-48|0)>>>0<10|(Hi(a)|0)!=0)&1|0}function qi(a){a=a|0;rd(a,0,0);c[a+28>>2]=0;return}function ri(a,b,c){a=a|0;b=b|0;c=c|0;return Tf(a,b,c)|0}function si(a,b){a=a|0;b=b|0;return ob[a&3](b|0)|0}function ti(a){a=a|0;Gi(c[a+4>>2]|0);Gi(a);return}function ui(a,b){a=a|0;b=b|0;i=a;j=b}function vi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function xi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function yi(a,b){a=a|0;b=b|0;Vc(a,b)|0;return a|0}function zi(a,b){a=a|0;b=b|0;jb[a&3](b|0)}function Ai(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Bi(a,b){a=a|0;b=b|0;return Yd(a,b)|0}function Ci(a,b){a=a|0;b=b|0;return +(+Td(a,b,1))}function Di(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function Ei(a){a=a|0;Yg(a,0,240);return}function Fi(a){a=a|0;Yg(a,0,64);return}function Gi(a){a=a|0;if(a|0)aj(a);return}function Hi(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Ii(a,b){a=+a;b=+b;return +(+uf(a,b))}function Ji(a,b){a=+a;b=b|0;return +(+Cd(a,b))}function Ki(a,b){a=+a;b=b|0;return +(+Hd(a,b))}function Li(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function Mi(a){a=a|0;return (mg(a)|0)!=0|0}function Ni(a){a=a|0;return (a+-65|0)>>>0<26|0}function Oi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Pi(a,b){a=a|0;b=b|0;zb(b);return}function Qi(a){a=a|0;return c[a+16>>2]|0}function Ri(a,b){a=+a;b=+b;return +(+_b(a,b))}function Si(a){a=a|0;return Qh(a|0)|0}function Ti(a){a=a|0;return Qh(a|0)|0}function Ui(a,b){a=a|0;b=b|0;ba(2);return 0}function Vi(){c[28]=Hf()|0;return}function Wi(a){a=a|0;c[29]=a;return}function Xi(a){a=a|0;qb[a&1]()}function Yi(a){a=a|0;return sb(a)|0}function Zi(a){a=a|0;return a+8|0}function _i(a){a=a|0;zb(a);return}function $i(a){a=a|0;return Og(a)|0}function aj(a){a=a|0;zb(a);return}function bj(a){a=a|0;return 0}function cj(a,b){a=a|0;b=b|0;ba(3)}function dj(a){a=a|0;return 0}function ej(a){a=a|0;i=a}function fj(a){a=a|0;C=a}function gj(a){a=a|0;ba(5);return 0}function hj(a){a=a|0;return a|0}function ij(a){a=a|0;return}function jj(a){a=a|0;return 0}function kj(){return c[27]|0}function lj(){return C|0}function mj(){return i|0}function nj(a){a=a|0;ba(0)}function oj(){return 0}function pj(){ba(7)}
+function sb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5921]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=23724+(b<<1<<2)|0;e=d+8|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[5925]|0)>>>0)Ma();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Ma()}else c[5921]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5923]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=23724+(b<<1<<2)|0;e=d+8|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[5925]|0)>>>0)Ma();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5923]|0;break}else Ma()}else{c[5921]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5926]|0;b=l>>>3;d=23724+(b<<1<<2)|0;a=c[5921]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{m=a;n=b}}else{c[5921]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5923]=h;c[5926]=e;N=j;i=O;return N|0}a=c[5922]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[23988+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5925]|0;if(k>>>0<g>>>0)Ma();j=k+q|0;if(k>>>0>=j>>>0)Ma();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Ma();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Ma()}while(0);do if(h|0){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5922]=c[5922]&~(1<<a);break}}else{if(h>>>0<(c[5925]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5925]|0;if(o>>>0<b>>>0)Ma();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5923]|0;if(a|0){f=c[5926]|0;b=a>>>3;e=23724+(b<<1<<2)|0;a=c[5921]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{r=a;s=b}}else{c[5921]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5923]=d;c[5926]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5922]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[23988+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[23988+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5923]|0)-q|0)>>>0:0){f=c[5925]|0;if(k>>>0<f>>>0)Ma();h=k+q|0;if(k>>>0>=h>>>0)Ma();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Ma();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Ma();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Ma()}while(0);do if(g|0){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5922]=c[5922]&~(1<<a);break}}else{if(g>>>0<(c[5925]|0)>>>0)Ma();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5925]|0;if(u>>>0<b>>>0)Ma();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{w=a;x=b}}else{c[5921]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=23988+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Ma()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5923]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5926]|0;if(a>>>0>15){N=b+q|0;c[5926]=N;c[5923]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5923]=0;c[5926]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5924]|0;if(a>>>0>q>>>0){L=a-q|0;c[5924]=L;N=c[5927]|0;M=N+q|0;c[5927]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6039]|0)){c[6041]=4096;c[6040]=4096;c[6042]=-1;c[6043]=-1;c[6044]=0;c[6032]=0;x=p&-16^1431655768;c[p>>2]=x;c[6039]=x}h=q+48|0;g=c[6041]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6031]|0;if(a|0?(w=c[6029]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6032]&4)){a=c[5927]|0;c:do if(a){d=24132;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5924]|0)&g;if(a>>>0<2147483647){b=Ga(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ga(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6040]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6029]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6031]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ga(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6041]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ga(y|0)|0)==(-1|0)){Ga(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6032]=c[6032]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ga(k|0)|0,A=Ga(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6029]|0)+f|0;c[6029]=a;if(a>>>0>(c[6030]|0)>>>0)c[6030]=a;j=c[5927]|0;do if(j){e=24132;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5924]|0)|0;c[5927]=M;c[5924]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5928]=c[6043];break}a=c[5925]|0;if(h>>>0<a>>>0){c[5925]=h;k=h}else k=a;d=h+f|0;a=24132;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24132;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5926]|0)){N=(c[5923]|0)+g|0;c[5923]=N;c[5926]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Ma();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(a|0))Ma();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Ma()}while(0);if(!h)break;b=c[a+28>>2]|0;d=23988+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5925]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5922]=c[5922]&~(1<<b);break e}while(0);e=c[5925]|0;if(L>>>0<e>>>0)Ma();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Ma();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=23724+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Ma();if((c[d+12>>2]|0)==(a|0))break;Ma()}while(0);if((e|0)==(d|0)){c[5921]=c[5921]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Ma();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Ma()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;do if(!(b&a)){c[5921]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5925]|0)>>>0){M=a;N=b;break}Ma()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=23988+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Ma()}}else{N=(c[5924]|0)+g|0;c[5924]=N;c[5927]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24132;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5927]=N;c[5924]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5928]=c[6043];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6033];c[a+4>>2]=c[6034];c[a+8>>2]=c[6035];c[a+12>>2]=c[6036];c[6033]=h;c[6034]=f;c[6036]=0;c[6035]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{J=a;K=b}}else{c[5921]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=23988+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Ma()}}}else{N=c[5925]|0;if((N|0)==0|h>>>0<N>>>0)c[5925]=h;c[6033]=h;c[6034]=f;c[6036]=0;c[5930]=c[6039];c[5929]=-1;a=0;do{N=23724+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5927]=M;c[5924]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5928]=c[6043]}while(0);a=c[5924]|0;if(a>>>0>q>>>0){L=a-q|0;c[5924]=L;N=c[5927]|0;M=N+q|0;c[5927]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(nh()|0)>>2]=12;N=0;i=O;return N|0}function tb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[225];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=$b(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=dc(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=dc(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=dc(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,_d(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=dc(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=dc(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,_d(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=dc(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=dc(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,_d(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=dc(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,ld(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,_d(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=dc(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[225];e=-5;return e|0}}else{j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;_d(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[225];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?(Wb(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Ab(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,_d(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,_d(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,_d(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){Wb(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[20445+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[19933]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Ab(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,_d(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,_d(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,_d(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=lb[c[144+((c[O+132>>2]|0)*12|0)+8>>2]&7](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{vc(O);break}case 5:break;default:{oc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,ve(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;_d(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;ld(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,_d(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[222];e=-2;return e|0}function ub(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0}while((vi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Wc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23528+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Wc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23537+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Wc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Wc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(nh()|0)>>2]=22;Ff(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Wc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Wc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;k=eh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=eh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Wc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Ff(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=eh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=kc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Ff(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ig(o|0,n|0,2)|0;H=eh(H|0,C|0,-32,-1)|0;e=eh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=eh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Tg(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=eh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Ii(+Cd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(nh()|0)>>2]=34;g=+Ji(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Wc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=eh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=eh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=kc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Ff(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=eh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(nh()|0)>>2]=22;Ff(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9772+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9772+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9772+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ig(c[p>>2]|0,0,29)|0;o=eh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Lh(o|0,n|0,1e9,0)|0;o=Zf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Ii(+Cd(1.0,105-o|0),j);m=+Ri(j,+Cd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ri(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(nh()|0)>>2]=34}while(0);g=+Ji(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(nh()|0)>>2]=22;Ff(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function vb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(nh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Qc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[20836+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}hc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Mg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21316;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21316;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Tg(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21316;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21316:21318;L=76}else{p=1;r=21317;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21316;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21316;o=N;break}case 109:{o=$d(c[(nh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23218;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){nd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23226:23231}else{G=1;H=23228}else{q=-q;G=1;H=23225}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Ki(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Ud(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21300+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;nd(e,32,K,r,I);if(!(c[e>>2]&32))Qc(y,w,e)|0;nd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Qc(ea,o,e)|0;f=ba-p|0;nd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Qc(t,f,e)|0;nd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ig(c[r>>2]|0,0,t|0)|0;B=eh(B|0,C|0,o|0,0)|0;o=C;A=Zf(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Lh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Ud(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;nd(e,32,K,w,I);if(!(c[e>>2]&32))Qc(H,G,e)|0;nd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Ud(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;ve(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Qc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Qc(23256,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Ud(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){ve(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Qc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}nd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Ud(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Qc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Qc(23256,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;ve(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Qc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}nd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Qc(u,ba-u|0,e)|0}while(0);nd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;nd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Qc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Qc(s?(t?23537:23252):t?23244:23248,3,e)|0;nd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21316;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21300+(o&15)>>0]|r;o=Mg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21316;L=77}else{o=t;t=2;r=21316+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21316;L=77}}else if((L|0)==76){f=Ud(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Hc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21316;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Eh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}nd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Eh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Qc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;nd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;nd(e,32,o,s,p);if(!(c[e>>2]&32))Qc(v,w,e)|0;nd(e,48,o,s,p^65536);nd(e,48,r,t,0);if(!(c[e>>2]&32))Qc(f,t,e)|0;nd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;hc(j+(m<<3)|0,n,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=ia;return m|0}function wb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=jj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(vi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Ff(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Wc(e)|0}while((vi(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Ff(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Wc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){ve(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;ve(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=sb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Wc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(uc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Yd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Mh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=sb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Yd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ub(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Ff(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Wc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(vi(d[m>>0]|0)|0))break;else n=m}Ff(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Wc(e)|0}while((vi(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){zb(l);zb(f)}}else k=0;while(0);if(O|0)ij(e);i=P;return k|0}function xb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=eh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(19567==0?(Ue(c[a+8>>2]|0,19581)|0)!=0:0){ba=a+32|0;T=ba;T=nb[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=eh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=eh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=eh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=eh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Tg(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=eh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Tg((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Tg(k|0,j|0,f|0,d|0)|0;_d(b|0,B+f|0,o|0)|0;e=eh(o|0,E|0,e|0,n|0)|0;f=C;d=Tg(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=eh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;hg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Vd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=eh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Tg(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(19567){y=eh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=eh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Lh(k|0,j|0,w|0,0)|0;t=eh(A|0,B|0,-1,-1)|0;t=eh(t|0,C|0,w|0,0)|0;w=Lh(t|0,C|0,w|0,0)|0;t=m+52|0;rf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((fi(u,d,s)|0)<(s|0))f=0;else{Gi(u);j=B;k=A;continue}while(1){o=fi(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=oi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=ig(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=ig(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=eh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Tg(f|0,j|0,p|0,q|0)|0;k=C;f=Pd(j)|0;c[W>>2]=f;m=nb[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}hg(Z,c[K>>2]|0,p,0)|0;Se(Z,c[K>>2]|0,f,j);Gh(W)}Md(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;hg(P,c[t>>2]|0,da+64|0,0)|0;Se(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Gi(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);hg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Ve(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;rh(19593,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Pg(4,19649,$);Pg(4,19695,aa);S=0;T=0;break}else if((n|0)==36){Ve(Z,j,f,h);S=ba;S=eh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=eh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function zb(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;if(!a)return;d=a+-8|0;h=c[5925]|0;if(d>>>0<h>>>0)Ma();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Ma();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Ma();if((k|0)==(c[5926]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5923]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=23724+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Ma();if((c[b+12>>2]|0)!=(k|0))Ma()}if((d|0)==(b|0)){c[5921]=c[5921]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Ma();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Ma()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Ma();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Ma();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Ma()}while(0);if(f){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5922]=c[5922]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5925]|0;if(i>>>0<d>>>0)Ma();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ma();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Ma();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Ma();if(!(b&2)){if((m|0)==(c[5927]|0)){p=(c[5924]|0)+g|0;c[5924]=p;c[5927]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5926]|0))return;c[5926]=0;c[5923]=0;return}if((m|0)==(c[5926]|0)){p=(c[5923]|0)+g|0;c[5923]=p;c[5926]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();d=b+12|0;if((c[d>>2]|0)!=(m|0))Ma();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Ma()}while(0);if(f|0){a=c[m+28>>2]|0;b=23988+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5922]=c[5922]&~(1<<a);break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5925]|0;if(n>>>0<d>>>0)Ma();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=23724+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5925]|0)>>>0)Ma();if((c[b+12>>2]|0)!=(m|0))Ma()}if((d|0)==(b|0)){c[5921]=c[5921]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5925]|0)>>>0)Ma();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Ma()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5926]|0)){c[5923]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{o=a;p=b}}else{c[5921]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=23988+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5922]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5925]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Ma()}}else{c[5922]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[5929]|0)+-1|0;c[5929]=q;if(!q)a=24140;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[5929]=-1;return}function Ab(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}xb(f,f+2840|0);xb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}xb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)oc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Pb(f,9804,10956);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[20701+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Hb(f,g,q);h=f+2440|0;Hb(f,h,r);Pb(f,g,h)}while(0);xc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Bb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5925]|0;if(l>>>0<i>>>0)Ma();if((l|0)==(c[5926]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5923]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=23724+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Ma();if((c[a+12>>2]|0)!=(l|0))Ma()}if((b|0)==(a|0)){c[5921]=c[5921]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Ma();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Ma();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Ma();d=e+12|0;if((c[d>>2]|0)!=(l|0))Ma();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Ma()}while(0);if(f){d=c[l+28>>2]|0;a=23988+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5922]=c[5922]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5925]|0;if(j>>>0<b>>>0)Ma();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5925]|0;if(o>>>0<h>>>0)Ma();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5927]|0)){q=(c[5924]|0)+g|0;c[5924]=q;c[5927]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5926]|0))return;c[5926]=0;c[5923]=0;return}if((o|0)==(c[5926]|0)){q=(c[5923]|0)+g|0;c[5923]=q;c[5926]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Ma();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Ma();d=e+12|0;if((c[d>>2]|0)!=(o|0))Ma();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Ma()}while(0);if(f|0){d=c[o+28>>2]|0;a=23988+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5922]=c[5922]&~(1<<d);break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5925]|0;if(n>>>0<b>>>0)Ma();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=23724+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Ma();if((c[a+12>>2]|0)!=(o|0))Ma()}if((b|0)==(a|0)){c[5921]=c[5921]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Ma();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Ma()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5926]|0)){c[5923]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=23724+(d<<1<<2)|0;a=c[5921]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5925]|0)>>>0)Ma();else{p=d;q=a}}else{c[5921]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=23988+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5922]|0;a=1<<b;if(!(d&a)){c[5922]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5925]|0)>>>0)Ma();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5925]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Ma();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){Wb(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=gc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,_d(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[20445+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[19933+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,_d(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,_d(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,_d(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Db(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(ze(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Hc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(nh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0}while((vi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Wc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Wc(b)|0;if((d[23263+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Ff(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23263+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Ff(b,0);c[(nh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Wc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=ig(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=eh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23519+((e*23|0)>>>5&7)>>0]|0;j=a[23263+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Mg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ig(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23263+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Lh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=ig(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=eh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23263+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0}while((d[23263+i>>0]|0)>>>0<e>>>0);c[(nh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(nh()|0)>>2]=34;g=eh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(nh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Tg(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Fb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){Wb(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=gc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[20445+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[19933+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,_d(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,_d(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,_d(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Gb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ee(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Ue(r,17412)|0)){j=g;h=k;N=4;break}s=wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(vi(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Gd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Uh(Q,o,(m|0)==0?17834:m)|0;else{l=pg(o,f)|0;if(!l){l=pg(o,80)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Oh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Nh(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Ci(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Ci(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17834:m;l=pg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=fh(Q,o)|0;l=Ug(m)|0;if(!n){Uh(Q,o,l)|0;break}else{Jg(n,l);break}}Uh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;rh(17423,z);break}case 34:{c[A>>2]=o;rh(17449,A);break}case 36:{c[K>>2]=o;rh(17488,K);break}case 38:{c[L>>2]=o;rh(17524,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;rh(17557,B);break}case 43:{c[C>>2]=o;rh(17524,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;rh(17599,D);break}case 48:{c[E>>2]=o;rh(17643,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;rh(17678,F);break}case 53:{c[G>>2]=o;rh(17718,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;rh(17754,H);break}case 57:{c[I>>2]=c[l>>2];rh(17795,I);break}case 65:{rh(17837,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Ib(d,e,f,h,j,k,l,m,n,o,p){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+96|0;S=V+40|0;R=V+32|0;T=V+16|0;Q=V;K=V+80|0;L=V+87|0;M=V+60|0;I=V+56|0;O=V+52|0;N=V+48|0;P=V+86|0;J=V+84|0;c[K>>2]=0;a[L>>0]=0;G=i;i=i+((1*(f*12|0)|0)+15&-16)|0;H=i;i=i+((1*(l<<2)|0)+15&-16)|0;q=0;while(1){if((q|0)>=(l|0))break;c[H+(q<<2)>>2]=0;q=q+1|0}B=Zg(0)|0;be(e);C=e+28|0;D=e+4|0;E=B+12|0;F=B+4|0;A=(o|0)==0;u=0;v=0;q=0;o=0;s=d;a:while(1){w=Ye(e,M,5)|0;if((w|0)>0){d=(Ue(c[M>>2]|0,c[s+4>>2]|0)|0)==0;if((u|0)<(f|0)&d){d=u;r=v}else{t=0;U=8}}else{d=0;t=(w|0)==0;U=8}if((U|0)==8){U=0;c[I>>2]=c[s+12>>2];c[O>>2]=c[G>>2];c[N>>2]=c[G+((u+-1|0)*12|0)+4>>2];if((o|0)>=(j|0)){U=9;break}y=$i(k)|0;r=h+(o*24|0)|0;c[r>>2]=y;c[r+4>>2]=((y|0)<0)<<31>>31;c[h+(o*24|0)+8>>2]=c[I>>2];c[h+(o*24|0)+12>>2]=c[O>>2];c[h+(o*24|0)+16>>2]=c[N>>2];c[E>>2]=0;a[c[F>>2]>>0]=0;a[P>>0]=1;b[J>>1]=u;Pe(B,I,4);Pe(B,O,4);Pe(B,N,4);Pe(B,K,4);Pe(B,K,4);Pe(B,P,1);Pe(B,L,1);Pe(B,J,2);r=0;while(1){if((r|0)>=(u|0))break;Pe(B,G+(r*12|0)|0,4);Pe(B,G+(r*12|0)+4|0,4);Pe(B,G+(r*12|0)+8|0,4);r=r+1|0}o=o+1|0;r=c[E>>2]|0;q=(r|0)>(q|0)?r:q;if(A)wf(k,c[F>>2]|0,r);else{x=Ai(r)|0;y=Oa()|0;r=i;i=i+((1*x|0)+15&-16)|0;wf(k,r,Je(c[F>>2]|0,c[E>>2]|0,r,x)|0);za(y|0)}b:do if(!t)if(d){t=1;d=0;r=v}else{s=c[s>>2]|0;if(!s){U=19;break a}d=c[M>>2]|0;r=c[s+4>>2]|0;if(Ue(d,r)|0){U=21;break a}if(!(Ue(d,r)|0))d=0;else{U=23;break a}while(1){if((d|0)>=(l|0)){t=1;d=0;r=0;break b}c[H+(d<<2)>>2]=0;d=d+1|0}}else{t=0;d=u;r=v}while(0);if(!t){U=43;break}}jf(e,4,w);x=ne(e,M,1)|0;y=ne(e,M,2)|0;z=+le(e,M,3);if(x>>>0>y>>>0){U=28;break}if(r){if((c[r>>2]|0)>>>0>x>>>0){U=31;break}if((c[r+4>>2]|0)>>>0>x>>>0){U=33;break}else w=0}else w=0;while(1){if((w|0)>=(l|0))break;v=H+(w<<2)|0;r=c[v>>2]|0;u=n+(w<<2)|0;if(x>>>0<r>>>0)t=m+(w<<2)|0;else{c[u>>2]=(c[u>>2]|0)+1;t=m+(w<<2)|0;r=(c[t>>2]|0)+x|0;c[v>>2]=r}while(1){if(y>>>0<=r>>>0)break;c[u>>2]=(c[u>>2]|0)+1;W=(c[t>>2]|0)+r|0;c[v>>2]=W;r=W}w=w+1|0}v=G+(d*12|0)|0;c[v>>2]=x;c[G+(d*12|0)+4>>2]=y;g[G+(d*12|0)+8>>2]=z;u=d+1|0}if((U|0)==9)Aa(12063,12088,112,12107);else if((U|0)==19)Aa(12121,12088,166,12107);else if((U|0)==21){V=c[C>>2]|0;W=c[D>>2]|0;c[Q>>2]=d;c[Q+4>>2]=r;c[Q+8>>2]=V;c[Q+12>>2]=W;rh(12135,Q)}else if((U|0)==23)Aa(12180,12088,170,12107);else if((U|0)==28){V=c[C>>2]|0;W=c[D>>2]|0;c[T>>2]=x;c[T+4>>2]=y;c[T+8>>2]=V;c[T+12>>2]=W;rh(12212,T)}else if((U|0)==31){W=c[D>>2]|0;c[R>>2]=c[C>>2];c[R+4>>2]=W;rh(12252,R)}else if((U|0)==33){W=c[D>>2]|0;c[S>>2]=c[C>>2];c[S+4>>2]=W;rh(12295,S)}else if((U|0)==43)if((o|0)==(j|0)){c[p>>2]=q;i=V;return}else Aa(12341,12088,219,12107)}function Jb(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=rg(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=lb[k&7](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=bf(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=ig(z|0,y|0,b|0,v|0)|0;p=a+p|0;pb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=eh(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=lb[k&7](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=eh(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=ig(q|0,C|0,b|0,v|0)|0;pb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=eh(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}gg(Q);c[H>>2]=kh(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Pg(2,16736,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}bf(I,48)|0;y=vh(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}gg(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;gg(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;wf(n,P,4);wf(n,M,4);wf(n,L,8);wf(n,g+12|0,4);wf(n,g+16|0,4);wf(n,g+20|0,4);wf(n,g+24|0,4);wf(n,O,8);wf(n,N,4);wf(n,K,4);if((g|0)!=(Q|0))jc(g,c[M>>2]|0,o,n);ph(R);i=S;return}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Db(d,14398)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){xe(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Wf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(nh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Uf(14904,f)|0))m=c[F>>2]|0;else{tf(F)|0;f=tf(F)|0;if(!f){O=20;break a}if((((Uf(15507,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Ue(f,15510)|0)if(Ue(f,15514)|0){if(I?(g=Ue(f,15518)|0,!((H|g|0)==0&G)):0)if(!(Ue(f,15522)|0)){f=o;break}else{O=30;break a}if(!(Ue(f,15609)|0)){O=34;break a}if(!(Ue(f,15518)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Ng(f+1|0)|0}if(!(Ze(m,15661)|0)){if(o|0)c[e>>2]=ih(f)|0;if(k)h=ih(f)|0}}while(!(I&(Ze(m,15670)|0)==0));if((Uf(15684,f)|0)!=0?(q=(wh(f,32)|0)+1|0,r=wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=cd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=cd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=$d(f)|0;c[z+4>>2]=d;$g(15318,z);f=0;break}case 10:{c[v>>2]=d;$g(15355,v);f=0;break}case 11:{c[x>>2]=d;$g(15411,x);f=0;break}case 15:{c[y>>2]=2e3;$g(15443,y);f=0;break}case 20:{c[u>>2]=d;$g(15481,u);f=0;break}case 30:{if(!g)$g(15526,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;$g(15569,E);f=0;break}case 34:{c[w>>2]=d;$g(15613,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;$g(15638,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ng(N,256,14510,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;$g(15691,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24308:15785;c[K+8>>2]=f?15510:15514;c[K+12>>2]=h|0?h:15801;$g(15811,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ng(N,256,14510,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;$g(15852,M);f=0}break}}i=P;return f|0}function Lb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=kb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Yh(h)|0;c[b+16>>2]=e;f=kd(c[f>>2]|0)|0;if(!f){s=0;break}s=Gd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Gi(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}ce(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)xf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Rf(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;ce(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Jf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Id(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;rh(19269,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Id(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Id(b,f);s=1}else s=1}while(0);i=y;return s|0}function Mb(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0.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.0;ea=i;i=i+112|0;X=ea+48|0;aa=ea+96|0;da=ea+100|0;V=ea;ba=ea+92|0;ca=ea+88|0;Z=ea+84|0;W=ea+64|0;c[aa>>2]=f;c[da>>2]=0;U=_(j,e)|0;Y=Jh(f*24|0)|0;c[ba>>2]=Y;c[ca>>2]=Y;Y=Y+(f*24|0)|0;G=$i(o)|0;F=p;c[F>>2]=G;c[F+4>>2]=((G|0)<0)<<31>>31;wf(o,aa,4);c[Z>>2]=kg(l,o,m)|0;be(d);F=W+4|0;G=W+8|0;H=W+12|0;I=r+8|0;J=r+16|0;K=r+24|0;L=r+32|0;M=V+4|0;N=V+8|0;O=V+12|0;P=V+24|0;Q=V+20|0;R=V+32|0;S=V+28|0;T=V+16|0;p=1;b=0;f=a;while(1){j=(b|0)!=0;if(j&(Ye(d,W,5)|0)==0)break;m=c[W>>2]|0;B=jh(c[F>>2]|0)|0;D=jh(c[G>>2]|0)|0;E=+Ef(c[H>>2]|0);A=D-B|0;if(!p){y=r;y=eh(c[y>>2]|0,c[y+4>>2]|0,A|0,0)|0;z=r;c[z>>2]=y;c[z+4>>2]=C;s=E;if(s<+h[I>>3])h[I>>3]=s;if(s>+h[J>>3])h[J>>3]=s;s=+(A>>>0);h[K>>3]=E*s+ +h[K>>3];s=s*(E*E)+ +h[L>>3]}else{z=r;c[z>>2]=A;c[z+4>>2]=0;s=E;h[J>>3]=s;h[I>>3]=s;s=+(A>>>0);h[K>>3]=E*s;s=s*(E*E)}h[L>>3]=s;if(!(Ue(m,c[f+4>>2]|0)|0))if(j){j=c[b+12>>2]|0;if(j>>>0<=B>>>0){yc(b,da,U,ca,Y,n,c[Z>>2]|0);$=15}}else $=15;else{f=c[f>>2]|0;yc(b,da,U,ca,Y,n,c[Z>>2]|0);$=15}if(($|0)==15){$=0;c[M>>2]=c[f+12>>2];c[N>>2]=B;j=B+e|0;c[O>>2]=j;b=c[f+16>>2]|0;j=j>>>0>b>>>0?b:j;c[O>>2]=j;g[P>>2]=E;g[Q>>2]=E;g[R>>2]=0.0;g[S>>2]=0.0;c[T>>2]=0;b=V}t=b+12|0;u=b+8|0;w=b+16|0;x=b+20|0;y=b+24|0;z=b+28|0;s=E*E;v=b+32|0;a=f+16|0;p=A;m=B;while(1){if(D>>>0<=j>>>0){j=p;break}B=c[u>>2]|0;c[X>>2]=m;c[X+4>>2]=D;c[X+8>>2]=B;c[X+12>>2]=j;Pg(3,12583,X);m=gh(m,D,c[u>>2]|0,c[t>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+m;if(+g[x>>2]>E)g[x>>2]=E;if(+g[y>>2]<E)g[y>>2]=E;fa=+(m>>>0);g[z>>2]=E*fa+ +g[z>>2];g[v>>2]=s*fa+ +g[v>>2];yc(b,da,U,ca,Y,n,c[Z>>2]|0);B=c[t>>2]|0;c[u>>2]=B;j=B+e|0;c[t>>2]=j;A=c[a>>2]|0;j=j>>>0>A>>>0?A:j;c[t>>2]=j;g[y>>2]=E;g[x>>2]=E;g[v>>2]=0.0;g[z>>2]=0.0;c[w>>2]=0;p=p-m|0;m=B}c[w>>2]=(c[w>>2]|0)+j;if(+g[x>>2]>E)g[x>>2]=E;if(+g[y>>2]<E)g[y>>2]=E;fa=+(j>>>0);g[z>>2]=E*fa+ +g[z>>2];g[v>>2]=s*fa+ +g[v>>2];p=0}yc(b,da,U,ca,Y,n,c[Z>>2]|0);ch(Z);b=$i(o)|0;j=((b|0)<0)<<31>>31;c[q>>2]=b;c[q+4>>2]=j;if((c[ca>>2]|0)==(Y|0)){Jb(c[ba>>2]|0,24,c[aa>>2]|0,0,k,l,0,1,4,b,j,o);Gh(ba);gg(da);i=ea;return c[da>>2]|0}else Aa(12639,12088,355,12661);return 0}function Nb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;H=i;i=i+480|0;w=H+352|0;t=H+344|0;v=H+304|0;s=H+296|0;G=H+264|0;F=H+224|0;J=H+216|0;B=H+460|0;g=H+208|0;I=H+200|0;r=H+456|0;E=H+192|0;m=H+184|0;j=H+416|0;k=H+376|0;n=H+176|0;l=H+168|0;o=H+368|0;x=H+88|0;y=H+8|0;D=H+364|0;u=H+468|0;q=H+466|0;p=H+464|0;z=H+360|0;A=H;Vi();L=sf(a,1)|0;c[B>>2]=L;f=ye(d)|0;c[J>>2]=c[f+24>>2];c[J+4>>2]=d;Pg(2,12367,J);c[J>>2]=0;h[g>>3]=0.0;d=I;c[d>>2]=0;c[d+4>>2]=0;c[r>>2]=0;f=Yb(L,f,0,J,g,I,0)|0;He(2,12384,F);L=kh(f)|0;d=c[J>>2]|0;K=+h[g>>3];J=c[I>>2]|0;I=c[I+4>>2]|0;c[G>>2]=L;c[G+4>>2]=a;c[G+8>>2]=d;h[G+16>>3]=K;d=G+24|0;c[d>>2]=J;c[d+4>>2]=I;Pg(2,12390,G);d=Zc(e,12446)|0;c[G>>2]=d;Fi(d);Ei(c[G>>2]|0);d=F;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));a=$i(c[G>>2]|0)|0;M=E;c[M>>2]=a;c[M+4>>2]=((a|0)<0)<<31>>31;Hg(c[G>>2]|0,F);M=$i(c[G>>2]|0)|0;a=m;c[a>>2]=M;c[a+4>>2]=((M|0)<0)<<31>>31;qd(f,c[2]|0,c[G>>2]|0);a=me(~~+h[g>>3],j,k)|0;g=$i(c[G>>2]|0)|0;M=n;c[M>>2]=g;c[M+4>>2]=((g|0)<0)<<31>>31;M=oe(f,c[3]|0)|0;g=l;c[g>>2]=M;c[g+4>>2]=((M|0)<0)<<31>>31;wf(c[G>>2]|0,l,8);g=l;g=ig(c[g>>2]|0,c[g+4>>2]|0,24,0)|0;g=Jh(g)|0;M=c[B>>2]|0;qi(M);c[o>>2]=0;Ib(f,M,c[3]|0,g,c[l>>2]|0,c[G>>2]|0,a,j,k,c[5886]|0,o);He(2,12449,s);M=$i(c[G>>2]|0)|0;d=((M|0)<0)<<31>>31;e=s;c[e>>2]=M;c[e+4>>2]=d;e=l;Jb(g,24,c[e>>2]|0,c[e+4>>2]|0,c[2]|0,1,0,1,4,M,d,c[G>>2]|0);He(2,12455,v);e=c[B>>2]|0;g=c[G>>2]|0;l=c[2]|0;I=c[3]|0;J=c[5886]|0;L=n;L=Tg(M|0,d|0,c[L>>2]|0,c[L+4>>2]|0)|0;a=mc(e,g,l,I,1,4,J,L,C,f,a,j,k,v,x,y,F)|0;if(c[5886]|0){M=c[3]<<5;L=c[o>>2]|0;c[r>>2]=L>>>0>M>>>0?L:M}Lf(c[G>>2]|0);c[D>>2]=-2003829722;b[u>>1]=4;b[q>>1]=a;b[p>>1]=0;c[z>>2]=0;M=A;c[M>>2]=0;c[M+4>>2]=0;wf(c[G>>2]|0,D,4);wf(c[G>>2]|0,u,2);wf(c[G>>2]|0,q,2);wf(c[G>>2]|0,m,8);wf(c[G>>2]|0,n,8);wf(c[G>>2]|0,s,8);wf(c[G>>2]|0,p,2);wf(c[G>>2]|0,p,2);wf(c[G>>2]|0,A,8);wf(c[G>>2]|0,E,8);wf(c[G>>2]|0,r,4);wf(c[G>>2]|0,A,8);if(($i(c[G>>2]|0)|0)!=64)Aa(12467,12088,462,12482);c[t>>2]=a;Pg(2,12499,t);d=0;while(1){if((d|0)>=(a|0))break;M=v+(d<<2)|0;L=c[M>>2]|0;c[w>>2]=d;c[w+4>>2]=L;Pg(3,12526,w);wf(c[G>>2]|0,M,4);wf(c[G>>2]|0,z,4);wf(c[G>>2]|0,x+(d<<3)|0,8);wf(c[G>>2]|0,y+(d<<3)|0,8);d=d+1|0}while(1){d=c[G>>2]|0;if((a|0)>=10)break;wf(d,z,4);wf(c[G>>2]|0,z,4);wf(c[G>>2]|0,A,8);wf(c[G>>2]|0,A,8);a=a+1|0}ri(d,c[E>>2]|0,0)|0;Hg(c[G>>2]|0,F);ri(c[G>>2]|0,0,2)|0;wf(c[G>>2]|0,D,4);td(B);Wh(G);i=H;return}function Ob(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5925]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Ma();f=c[k+4>>2]|0;if(!(f&1))Ma();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6041]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Bb(m,d);return a|0}if((k|0)==(c[5927]|0)){d=(c[5924]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5927]=l;c[5924]=m;return a|0}if((k|0)==(c[5926]|0)){e=(c[5923]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5923]=d;c[5926]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Ma();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(k|0))Ma();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Ma()}while(0);if(h|0){d=c[k+28>>2]|0;e=23988+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5922]=c[5922]&~(1<<d);break}}else{if(h>>>0<(c[5925]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5925]|0;if(j>>>0<f>>>0)Ma();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Ma();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=23724+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ma();if((c[e+12>>2]|0)!=(k|0))Ma()}if((f|0)==(e|0)){c[5921]=c[5921]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ma();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Ma()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Bb(l,m);return a|0}return 0}function Pb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[20445+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[284+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[636+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[19933+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[420+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[752+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Qb(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){Wb(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,_d(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,_d(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,_d(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Ab(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,_d(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Ag(0,19718,b)|0}b=d+112|0;if(c[b>>2]|0)Gf(b);b=d+128|0;if(c[b>>2]|0)Gf(b);Gi(c[d+4>>2]|0);Gi(c[d+8>>2]|0);Gh(d+12|0);Gi(c[d+40>>2]|0);Gi(c[d+44>>2]|0);Gi(c[d+48>>2]|0);Gi(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Gf(b);zh(d+80|0)}Gh(a);i=e;return}function Sb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Aa(12894,12914,448,12930);h=wa()|0;c[s>>2]=h;if((h|0)<0)Df(12943,l);if(h|0)if(!(lg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Df(13481,k)}r=yh()|0;c[s>>2]=r;if(lg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Df(12954,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=ag(m)|0;j=wa()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}zf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Cf(t);if(c[k>>2]|0)Cf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Df(12943,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){bd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;ta(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Df(13188,o)}bd(k,0,h,e);h=Vf(1,f,g)|0;if((h|0)<0)Df(13099,p);if((h|0)==(g|0)){og(1)|0;Na(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;rh(13134,q)}}else if((b|0)==28){og(0)|0;og(1)|0;Lg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=hb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;zf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Df(13261,u);else if((b|0)==35){c[v>>2]=h;rh(13276,v)}else if((b|0)==39){v=Be(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;rh(13306,w)}else if((b|0)==41)Aa(13361,12914,242,13385);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2306]|0;v=Be(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Ag(h,13404,x)|0;h=c[k>>2]|0}Na(h>>>8&255|0)}else if((b|0)==47)Aa(13451,12914,396,13471);else if((b|0)==49)Na(0)}}function Tb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Af(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Af(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=eh(m|0,l|0,-1,-1)|0;d=C;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;Tg(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Tg(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){Xc(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Xc(a,d,e,f,o);else ic(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}ic(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;ic(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;ic(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(we(a,b,d)|0){b=_g()|0;if((b|0)>=0){if((Ld(b,1)|0)<0){og(b)|0;b=-1;break}b:do if((Qe(b,d,16)|0)<0){n=nh()|0;d=c[n>>2]|0;if((d|0)!=115){w=$d(d)|0;c[e>>2]=d;c[e+4>>2]=w;$g(14329,e);og(b)|0;b=-1;break a}cb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=of(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}cb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=$d(d)|0;c[t>>2]=d;c[t+4>>2]=C;$g(14105,t);og(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;$g(14237,u);og(b)|0;e=23;break}c[r>>2]=4;do if((Ce(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=$d(d)|0;c[w>>2]=d;c[w+4>>2]=C;$g(14193,w);og(b)|0;break}}else{B=c[n>>2]|0;C=$d(B)|0;c[v>>2]=B;c[v+4>>2]=C;$g(14163,v);og(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Ld(b,0)|0)<0){og(b)|0;b=-1;break}if((We(b,120)|0)<0){og(b)|0;b=-1}}}else b=-1;else{$g(13985,x+24|0);b=-1}while(0);i=x;return b|0}function Wb(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;_d(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;_d(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=$b(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=dc(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;ve((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;ve((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function Xb(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,xf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){ve(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(Xb(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(nh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function Yb(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.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+80|0;F=K+56|0;E=K+32|0;H=K+24|0;G=K+16|0;D=K;J=K+64|0;z=(d|0)==0;if(z)A=3;else A=(If(d)|0)+1|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;c[J>>2]=0;be(a);w=(j|0)==0;x=a+28|0;y=a+4|0;o=0;n=0;j=0;m=0;p=0;q=-1;l=1073741823;r=0;a:while(1){u=p;while(1){if(w)p=Ye(a,B,A)|0;else p=Ne(a,9,B,A)|0;if(!p){I=26;break a}hf(a,A,p);s=c[B>>2]|0;v=ne(a,B,1)|0;t=ne(a,B,2)|0;if(!z)Fe(d,B);if((t|0)<(v|0)){I=12;break a}o=eh(o|0,n|0,1,0)|0;n=C;p=t-v|0;j=eh(p|0,((p|0)<0)<<31>>31|0,j|0,m|0)|0;m=C;if(r){p=Ue(c[r+4>>2]|0,s)|0;if(p)if((p|0)>0){I=16;break a}else I=17}else I=17;if((I|0)==17){I=0;p=Ee(b,s)|0;if(!p){I=18;break a}q=hj(c[p+8>>2]|0)|0;r=Vd(20)|0;c[r+4>>2]=ih(s)|0;c[r+12>>2]=u;c[r+16>>2]=q;c[r>>2]=c[J>>2];c[J>>2]=r;u=u+1|0;q=-1}p=c[r+16>>2]|0;if(t>>>0>p>>>0){I=21;break a}t=r+8|0;c[t>>2]=(c[t>>2]|0)+1;if((q|0)<=-1){q=v;continue}p=v-q|0;if((p|0)<(l|0)){q=v;l=p;p=u;break}else q=v}if((l|0)<0){I=25;break}}if((I|0)==12){J=c[x>>2]|0;K=c[y>>2]|0;c[D>>2]=t;c[D+4>>2]=v;c[D+8>>2]=J;c[D+12>>2]=K;rh(17984,D)}else if((I|0)==16){K=c[x>>2]|0;c[G>>2]=c[y>>2];c[G+4>>2]=K;rh(18025,G)}else if((I|0)==18){c[H>>2]=s;rh(18147,H)}else if((I|0)==21){e=c[r+4>>2]|0;J=c[x>>2]|0;K=c[y>>2]|0;c[E>>2]=t;c[E+4>>2]=e;c[E+8>>2]=p;c[E+12>>2]=J;c[E+16>>2]=K;rh(18188,E)}else if((I|0)==25){K=c[x>>2]|0;c[F>>2]=c[y>>2];c[F+4>>2]=K;rh(18246,F)}else if((I|0)==26){gg(J);if((o|0)==0&(n|0)==0)k=0.0;else k=(+(j>>>0)+4294967296.0*+(m>>>0))/(+(o>>>0)+4294967296.0*+(n>>>0));c[e>>2]=l;h[f>>3]=k;e=g;c[e>>2]=o;c[e+4>>2]=n;i=K;return c[J>>2]|0}return 0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Db(b,14389)|0))e=Oe(b,0,r)|0;else{if((Uf(19043,b)|0)==0?(Uf(19051,b)|0)==0:0){if(!(Uf(19060,b)|0)){c[g>>2]=b;rh(15251,g)}cc(b,o);if(Ue(o,14422)|0){c[f>>2]=b;rh(14914,f)}b=o+4112|0;g=dd(b,Dd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(lh(g,14961,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,ng(m,256,14968,j)|0,(lh(g,m,0,0)|0)==0):0){og(g)|0;e=-1;break}j=o+6176|0;s=(a[(Gd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14980:14985;c[k+4>>2]=j;ng(m,256,14990,k)|0;ci(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=wh(j,40)|0;a[(wh(j,41)|0)>>0]=0;if((qe(s+1|0,14998,k,7)|0)!=6)rh(15e3,h);f=(Dd(c[k+16>>2]|0)|0)<<8;f=Vb(b,(Dd(c[k+20>>2]|0)|0)+f|0)|0;th(l);if((f|0)<0){og(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((ed(f,1e6)|0)>0){b=26;break}if((ed(g,0)|0)>0?(rc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;$g(15036,n);og(g)|0;og(f)|0;e=-1;break}else if((b|0)==24){og(g)|0;og(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}gd(c[2335]|0)|0;gd(c[2276]|0)|0;gd(c[2306]|0)|0;b=Vd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;_d(b+20|0,o|0,10280)|0;f=b+4|0;if(Qg(f)|0){c[p>>2]=$d(c[(nh()|0)>>2]|0)|0;rh(15101,p)}b=Ua(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=$d(b)|0;c[q>>2]=b;c[q+4>>2]=s;rh(15205,q)}}}else{og(g)|0;e=-1}while(0)}break}e=Ph(b,14910,0)|0}while(0);i=r;return e|0}function _b(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Mg(d|0,m|0,52)|0;e=e&2047;j=Mg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ig(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ig(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ig(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ig(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ig(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ig(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ig(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ig(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Tg(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ig(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Tg(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ig(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=eh(d|0,f|0,0,-1048576)|0;d=C;e=Ig(e|0,0,52)|0;d=d|C;e=o|e}else{e=Mg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ac(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=3;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=kb[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=kb[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=kb[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=kb[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=kb[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Cc(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[224];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}mb[c[o>>2]&3](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function bc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=kh(b)|0;c[t>>2]=q;c[v>>2]=Jh(q<<2)|0;wf(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=Ai(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=$i(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}wf(g,r,Je(p,h-s|0,r,q)|0);u=u-o|0}x=$i(g)|0;u=((x|0)<0)<<31>>31;Jb(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,2,6,x,u,g);Gh(v);C=u;i=w;return x|0}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Gd(b)|0)>>>0>4095){c[e>>2]=b;rh(14370,e)}yi(f,b)|0;oh(f)|0;b=Db(f,14389)|0;if(!b){a[d>>0]=a[14393]|0;a[d+1>>0]=a[14394]|0;a[d+2>>0]=a[14395]|0;a[d+3>>0]=a[14396]|0;a[d+4>>0]=a[14397]|0}else{a[b>>0]=0;yg(f)|0;ff(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=wh(f,47)|0;if(g){xe(g,b,e,1);if(!((Ze(d,14393)|0)!=0?(Ze(d,14410)|0)!=0:0)){e=zd(g,14416,14418)|0;ff(d+6176|0,4096,e);Gi(e)}a[g>>0]=0;if(!(Ze(d,14422)|0)){g=g+1|0;Fd(g,d+6176|0,Gd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=wh(f,64)|0;if(!g){if(!((Ze(d,14393)|0)!=0?(Ze(d,14410)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Ze(d,14422)|0)){b=d+16|0;e=14426;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=14436;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=wh(f,58)|0;if(!b){e=d+16|0;ff(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;ff(e,2048,f);f=d+2064|0;ff(f,2048,b+1|0);b=f}md(e,e,Gd(e)|0);md(b,b,Gd(b)|0);f=g+1|0}b=wh(f,58)|0;do if(!b){if(!(Ze(d,14393)|0)){h=d+6160|0;a[h>>0]=a[14454]|0;a[h+1>>0]=a[14455]|0;a[h+2>>0]=a[14456]|0}if(!(Ze(d,14410)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Ze(d,14422)|0)){h=d+6160|0;a[h>>0]=a[14457]|0;a[h+1>>0]=a[14458]|0;a[h+2>>0]=a[14459]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){ff(d+6160|0,16,e);break}else{c[h>>2]=e;rh(14460,h)}}while(0);ff(d+4112|0,2048,f);i=j;return}function dc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[912+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[912+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function ec(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ah(na(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=na(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=na(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ah(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=na(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;na(221,l|0)|0}d=Ah(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=na(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=na(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;na(221,r|0)|0}d=Ah(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;La(6,p|0)|0}d=Ah(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ah(na(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ah(na(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function fc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Zg(512)|0;cc(b,s);h=Pa(14712)|0;p=(h|0)!=0;if(p){cc(h,q);_d(r|0,q|0,10280)|0;h=De(r,b)|0}else{_d(r|0,s|0,10280)|0;h=De(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ih(b)|0;j=ji(b,59)|0;if((j|0)!=0?(Uf(14398,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Cg(k,14723,l);Gi(b);c[m>>2]=f;Cg(k,14734,m);if((Ue(s,14393)|0)==0?(Ue(14454,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Ue(s,14410)|0)==0?(Ue(14489,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Cg(k,14762,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Cg(k,14751,n)}b=c[t>>2]|0;_d(r|0,s|0,10280)|0;ge(r,14776,b);if(p){_d(r|0,q|0,10280)|0;ge(r,14790,b);k=c[t>>2]|0}else k=b;di(k,14810);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Cg(k,14849,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Cg(k,14824,u);break}}while(0);if(g|0)di(c[t>>2]|0,g);v=c[t>>2]|0;di(v,14870);Le(h,c[v+4>>2]|0,c[v+12>>2]|0);th(t)}i=w;return h|0}function gc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function hc(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 ic(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(lb[d&7](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((lb[d&7](e,j)|0)>-1){g=f;e=m;q=19;break a}if((lb[d&7](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((lb[d&7](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){ud(b,p,e);Xc(a,b,d,g,h)}i=r;return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}qf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=$i(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=ig(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=eh(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Pg(2,16783,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Pg(2,16815,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Pg(2,16843,o);f=f+1|0}Pg(2,16847,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;tc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=$i(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=$i(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=16911;rh(16849,s)}else if((f|0)==14){Gc(b,a,0,d+-2|0,e);i=t;return}}function kc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=ig(f|0,b|0,10,0)|0;f=C;e=eh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=eh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Tg(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function lc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=eh(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;wf(o,z,1);wf(o,B,1);wf(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;ve(r|0,0,m|0)|0;mb[l&3](G,r);wf(o,r,m);wf(o,A,8);G=A;G=eh(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;Yg(o,0,x);p=p+1|0}k=t}if((d|0)==9)Aa(17317,17300,491,17344);else if((d|0)==13){i=E;return w|0}return 0}function mc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;A=B+24|0;y=B+16|0;x=B+8|0;w=B;z=B+28|0;if((m|0)<=0)Aa(18368,18384,304,18400);v=(h|0)==0;t=Ig(j|0,k|0,31)|0;t=vg(t|0,C|0,32)|0;u=C;j=0;while(1){if((j|0)>=(m|0)){t=5;break}k=c[o+(j<<2)>>2]|0;if(!(0>u>>>0|(0==(u|0)?(v?k<<5:k<<4&2147483632)>>>0>t>>>0:0))){t=8;break}j=j+1|0}if((t|0)==5){c[w>>2]=0;c[w+4>>2]=0;Pg(2,18419,w);t=9}else if((t|0)==8){j=c[n+(j<<2)>>2]|0;c[x>>2]=j;c[x+4>>2]=k;Pg(2,18419,x);if(!j)t=9}if((t|0)==9){k=c[o>>2]|0;j=c[n>>2]|0}v=rg(0)|0;c[z>>2]=v;qi(a);u=rb[f&1](l,g,a,j,k,4,d,e,h,v,b,q,r,s)|0;He(2,18466,y);c[p>>2]=j;t=j<<2;j=1;do{f=k;k=kh(u)|0;if((k|0)>=(f|0))break;f=$i(b)|0;y=q+(j<<3)|0;c[y>>2]=f;c[y+4>>2]=((f|0)<0)<<31>>31;y=Lc(u,d,e,h,b)|0;f=r+(j<<3)|0;c[f>>2]=y;c[f+4>>2]=C;c[p+(j<<2)>>2]=t;j=j+1|0;t=t<<2;u=Ac(u,t,v)|0}while((j|0)<10);ph(z);He(2,18547,A);i=B;return j|0}function nc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;wf(n,B,1);wf(n,D,1);wf(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=eh(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=ig(o|0,p|0,f|0,x|0)|0;p=d+p|0;ve(v|0,0,k|0)|0;mb[j&3](p,v);wf(n,v,k);wf(n,ob[l&3](p)|0,m);p=eh(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;Yg(n,0,y);r=eh(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=Tg(u|0,t|0,p|0,0)|0;q=C;p=eh(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)Aa(17381,17300,529,17397);else if((o|0)==11){i=E;return}}function oc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function pc(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[5908]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ah(gb(146,n|0)|0)|0}else{va(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ah(gb(146,m|0)|0)|0;ma(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 qc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Hc(23258,f<<24>>24,4)|0){e=sb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;na(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=na(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;na(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Sa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5909]|0))c[e+76>>2]=-1;Za(23660);f=c[5914]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5914]=e;Ta(23660)}}else{c[(nh()|0)>>2]=22;e=0}i=o;return e|0}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Zg(4096)|0;while(1){if((ed(b,1e6)|0)<=0){j=3;break}g=Wf(b,m,4096)|0;if(g){Pe(c[o>>2]|0,m,g);if(!(Gg(c[(c[o>>2]|0)+4>>2]|0,16847)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Gd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Gd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;$g(14533,n);g=0}else if((j|0)==18){g=Dd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;$g(14577,p);g=0;break}if(!e)th(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function sc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;wf(l,n,4);wf(l,p,4);wf(l,r,4);wf(l,s,4);wf(l,o,8);wf(l,m,4);wf(l,m,4);f=$i(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=lc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=$i(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=17300;c[q+4>>2]=572;rh(17360,q)}else if((f|0)==8){nc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function tc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=kh(c[k>>2]|0)|0;wf(m,n,1);wf(m,o,1);wf(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;wf(m,k+12|0,4);wf(m,k+16|0,4);wf(m,k+20|0,4);wf(m,k+24|0,4);wf(m,q,8);j=q;j=eh(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;Yg(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=tc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function uc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23680:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9456+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(nh()|0)>>2]=84;f=-1}i=l;return f|0}function vc(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Wa(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Wf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Tg(1,0,g|0,e|0)|0;b=eh(b|0,C|0,d|0,h|0)|0}r=(Vf(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)vf(15149,l);if((b|0)==-1)vf(15180,o);og(c[m>>2]|0)|0;og(c[a+12>>2]|0)|0;og(c[n>>2]|0)|0;i=q;return 0}function xc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function yc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=c[e>>2]|0;if(k>>>0>=f>>>0)Aa(18590,18384,682,18609);c[e>>2]=k+24;f=$i(c[i+12>>2]|0)|0;m=k;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=a+4|0;c[k+8>>2]=c[m>>2];c[k+12>>2]=c[a+8>>2];f=a+12|0;c[k+16>>2]=c[f>>2];Ad(i,a);e=c[b>>2]|0;if(((e|0)!=0?(c[e+4>>2]|0)==(c[m>>2]|0):0)?(l=c[f>>2]|0,((c[e+8>>2]|0)+d|0)>>>0>=l>>>0):0){c[e+12>>2]=l;f=e+16|0;c[f>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);j=+g[a+20>>2];f=e+20|0;if(j<+g[f>>2])g[f>>2]=j;j=+g[a+24>>2];f=e+24|0;if(j>+g[f>>2])g[f>>2]=j;m=e+28|0;g[m>>2]=+g[a+28>>2]+ +g[m>>2];m=e+32|0;g[m>>2]=+g[a+32>>2]+ +g[m>>2]}else{k=bf(h,48)|0;i=k;f=a;e=i+48|0;do{c[i>>2]=c[f>>2];i=i+4|0;f=f+4|0}while((i|0)<(e|0));c[k>>2]=c[b>>2];c[b>>2]=k}return}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){td(b);break}if((og(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];rh(13639,k)}}else{if(!(c[a+20>>2]&2)){if(jg(d)|0){c[f>>2]=c[a+12>>2];rh(13608,f)}}else{gd(d)|0;if(jg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];rh(13578,e)}}if((he(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];rh(13639,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((hb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Df(13261,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;rh(13669,l)}if(b|0)Aa(13710,12914,435,13728);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;rh(13744,m)}i=n;return d>>>8&255|0}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;c[n>>2]=0;h=0;j=0;while(1){if(!a){a=15;break}if(((j|0)!=0?(c[j+4>>2]|0)==(c[a+4>>2]|0):0)?(m=c[a+12>>2]|0,m>>>0<=((c[j+8>>2]|0)+b|0)>>>0):0){e=j+12|0;if((c[e>>2]|0)>>>0>=m>>>0){a=8;break}c[e>>2]=m;e=j+16|0;c[e>>2]=(c[e>>2]|0)+(c[a+16>>2]|0);e=j+20|0;f=+g[a+20>>2];if(+g[e>>2]>f)g[e>>2]=f;e=j+24|0;f=+g[a+24>>2];if(+g[e>>2]<f)g[e>>2]=f;e=j+28|0;g[e>>2]=+g[a+28>>2]+ +g[e>>2];e=j+32|0;g[e>>2]=+g[a+32>>2]+ +g[e>>2];e=j}else{l=bf(d,48)|0;e=l;j=a;k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[l>>2]=h;c[n>>2]=l;h=l;e=l}j=e;a=c[a>>2]|0}if((a|0)==8)Aa(18501,18384,729,18524);else if((a|0)==15){gg(n);i=o;return c[n>>2]|0}return 0}function Bc(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+120|0;r=s+80|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((vb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=jj(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=vb(b,d,o,q,r)|0;if(h){kb[c[b+36>>2]&7](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=vb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)ij(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Cc(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=dc(0,0,0)|0;else d=$b(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Pf(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;ve(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[144+(h*12|0)+2>>1];c[a+140>>2]=e[144+(h*12|0)>>1];c[a+144>>2]=e[144+(h*12|0)+4>>1];c[a+124>>2]=e[144+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Dc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ih(24308)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Vd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;ng(h,4,12708,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Zg(512)|0;c[h>>2]=f;di(f,b);di(f,14389);d=b+16|0;if(a[d>>0]|0){d=Dc(d)|0;di(f,d);Gi(d);d=b+2064|0;if(a[d>>0]|0){di(f,14485);d=Dc(d)|0;di(f,d);Gi(d)}di(f,14487)}di(f,b+4112|0);if(!((Ue(b,14422)|0)==0?!(Ue(14457,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Ue(b,14393)|0)==0?(Ue(14454,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Ue(b,14410)|0)==0?(Ue(14489,d)|0)==0:0)break;di(f,14485);di(f,d)}while(0);di(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Cg(f,14493,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Cg(f,14510,k)}k=xg(h)|0;i=l;return k|0}function Fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Kb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}og(a)|0;if((h|0)>0)Gi(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Uf(19043,f)|0)==0?(Uf(19051,f)|0)==0:0){g=11;break}f=ae(g,f)|0;c[j>>2]=f;a=Zb(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;$g(15900,k);g=14}else if((g|0)==11){c[l>>2]=f;$g(15954,l);g=14}else if((g|0)==13){c[m>>2]=f;$g(15984,m);g=14}if((g|0)==14)if((b|0)>0){Gi(f);b=0}else b=0;i=n;return b|0}function Gc(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=kh(c[g>>2]|0)|0;wf(j,k,1);wf(j,l,1);wf(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;wf(j,g+12|0,4);wf(j,g+16|0,4);wf(j,g+20|0,4);wf(j,g+24|0,4);f=g+32|0;wf(j,f,8);h=g+40|0;f=Tg(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;wf(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;Yg(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Gc(d,g,k,h,j)}}while(0);i=o;return}function Hc(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|0)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?b:0)|0}function Ic(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ah(qa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(nh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ah(qa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;ec(e,2,j)|0}if(b&2048){c[h>>2]=ec(e,3,k)|0|2048;ec(e,4,h)|0}}}}while(0);i=l;return e|0}function Jc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5908]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ah(fb(145,h|0)|0)|0}else{va(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ah(fb(145,g|0)|0)|0;ma(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Lc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=kh(a)|0;c[j>>2]=h;c[k>>2]=Jh(h<<2)|0;wf(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=$i(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;wf(f,e+4|0,4);wf(f,e+8|0,4);wf(f,e+12|0,4);wf(f,e+16|0,4);Wg(f,+g[e+20>>2]);Wg(f,+g[e+24>>2]);Wg(f,+g[e+28>>2]);Wg(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=$i(f)|0;e=((h|0)<0)<<31>>31;Jb(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,2,6,h,e,f);Gh(k)}else{h=bc(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=Zb(a,0)|0;if((d|0)<0){c[e>>2]=a;$g(15984,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Uf(19043,a)|0)==0?(Uf(19051,a)|0)==0:0){e=0;g=7}else if(!(Fc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=ih(a)|0;md(a,b,Gd(a)|0);do if(!(Gg(b,19067)|0)){if(Gg(b,19071)|0){Gi(b);g=12;break}f=(Gg(b,19074)|0)==0;Gi(b);if(f)b=Xf(a,1,d)|0;else g=12}else{Gi(b);g=12}while(0);if((g|0)==12)b=qg(a,1,d)|0;if(e)Gi(e)}}i=h;return b|0}function Nc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Aa(16650,16702,388,16714);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Jh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)gg(b);d=d+1|0}Gi(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Oc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;mb[c[b>>2]&3](c[e>>2]|0,d);d=b;b=c[f>>2]|0}mb[c[d>>2]&3](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Vd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Zg(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){di(e,12842);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){di(e,14416);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}di(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=xg(j)|0;if(!(c[a>>2]|0))rh(12846,k);if(!(b&8))e=0;else{Jg(l,pe(60,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Jg(l,pe(d,l)|0);e=e+1|0}i=m;return l|0}function Qc(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(!(Re(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=kb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((kb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);_d(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 Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Sc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Gd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Tc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Vd(16)|0;else l=bf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=ei(d,e)|0;else{k=bf(h,e+1|0)|0;c[l+4>>2]=k;_d(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Nc(b,hh(m)|0);return l|0}function Uc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=oj()|0;dj(23548)|0;if((c[5894]|0)!=0&(a|0)==(c[5895]|0)){Vf(2,13768,61)|0;Na(1)}bj(23548)|0;dj(23584)|0;dj(23548)|0;c[5895]=a;c[5894]=1;bj(23548)|0;if(!(c[5903]|0))c[5903]=ee(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;ng(d,64,14510,b)|0;a=Ee(c[5903]|0,d)|0;if(!a){a=Vd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Uh(c[5903]|0,d,a)|0}dj(23548)|0;c[5894]=0;bj(23548)|0;bj(23584)|0;i=e;return c[a+8>>2]|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Wc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=yf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Xc(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((lb[d&7](k,j)|0)>-1?(lb[d&7](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((lb[d&7](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);ud(b,o,e);i=p;return}function Yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9660;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(nh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Bc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Ue(b,19155)|0){if(!(Ue(b,16232)|0)){f=c[2276]|0;break}e=Nd(b,d)|0;if(!e){a:do if(!d)e=24308;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=16260;break a}case 119:{e=16250;break a}default:{e=e<<24>>24==97?16239:24308;break a}}}while(0);d=$d(c[(nh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;rh(16269,g)}else f=e}else f=c[2335]|0;while(0);i=h;return f|0}function _c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ie(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=bb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Si(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;_i(f);break}else{b=Va(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;$g(16091,f);b=0;break}}else{Te(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function $c(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Vd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[19862+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[19862+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[19862+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[19862+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function ad(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18927+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18927+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Da(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Df(12987,k);l=yh()|0;if(lg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Df(13010,f)}if(b|0?(Kf(b,0)|0)<0:0)Df(13037,g);if((d|0)!=1?(Kf(d,1)|0)<0:0)Df(13057,h);if((e|0)!=2?(Kf(e,2)|0)<0:0)Df(13078,j);Lg();i=k;return}function cd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=ig(c|0,d|0,10,0)|0;b=b+1|0;c=Tg(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Tg(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function dd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=Vb(a,b)|0;if((a|0)<0)a=-1;else{if((ed(a,1e6)|0)>0)lh(a,24308,0,0)|0;c[g>>2]=0;c[h>>2]=d;ng(f,256,14620,h)|0;do if(lh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,ng(f,256,14630,j)|0,(lh(a,f,0,0)|0)==0):0){og(a)|0;a=-1;break}if(!(lh(a,14640,0,0)|0)){og(a)|0;a=-1}}else{og(a)|0;a=-1}while(0)}i=k;return a|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=of(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(nh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=$d(a)|0;$g(14515,m)}i=n;return a|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Oe(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Vd(5)|0;c[g>>2]=f;if((Wf(e,f,4)|0)<4)Gh(g);else a[f+4>>0]=0;og(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Qd(e)|0,Gh(h),(g|0)!=0):0){h=$f(te(b)|0,33,b,0)|0;e=Xf(b,d,Qi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function gd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Od(a)|0;break}d=(jj(a)|0)==0;b=Od(a)|0;if(!d)ij(a)}else{if(!(c[2305]|0))b=0;else b=gd(c[2305]|0)|0;Za(23660);a=c[5914]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=jj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Od(a)|0|b;if(d|0)ij(a);a=c[a+56>>2]|0}while((a|0)!=0);Ta(23660)}while(0);return b|0}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Bf(e,0)|0;c[n>>2]=g;Sf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Bf(d,e)|0;else if(!f){e=Oe(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Df(13547,k)}else j=e}else j=0;c[m>>2]=j;e=$e(a,b,j,g)|0;Cf(m);if(!l)Cf(n);i=o;return e|0}function id(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[(nh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=yh()|0;c[g>>2]=f;ng(a,256,18689,g)|0;d=Ke(a,1)|0;c[g>>2]=d;if(!d){j=c[2306]|0;c[b>>2]=a;Ag(j,18726,b)|0;a=j}else{while(1){if(!(Of(d,e)|0))break;a=c[e>>2]|0;if(Db(a,18705)|0){j=5;break}}if((j|0)==5){j=c[2306]|0;c[h>>2]=f;c[h+4>>2]=a;Ag(j,18712,h)|0}td(g);a=c[2306]|0}gd(a)|0;i=k;return}function kd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Pd(k)|0;_d(j|0,d|0,e|0)|0;Gi(c);d=j;e=k;c=j}k=yb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ih(d)|0;Gi(c);c=l}i=h;return c|0}function ld(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function md(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Eg(f,12704,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function nd(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;ve(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){Qc(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;Qc(h,f,a)|0}while(0);i=j;return}function od(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(!(Re(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((kb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function pd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Dg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Yc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Dg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function qd(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;h=kh(a)|0;if((h|0)>0){f=Jh(h<<4)|0;g=0;e=0;while(1){if((g|0)==(h|0))break;j=c[a+4>>2]|0;i=Gd(j)|0;c[f+(g<<4)+4>>2]=j;c[f+(g<<4)+8>>2]=c[a+12>>2];c[f+(g<<4)+12>>2]=c[a+16>>2];g=g+1|0;e=(i|0)>(e|0)?i:e;a=c[a>>2]|0}Ub(f,h,16,5)}else{f=0;e=0}sc(f,16,h,((h|0)<0)<<31>>31,(h|0)>(b|0)?b:h,2,e,3,8,d);Gi(f);return}function rd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;f=c[b+92>>2]|0;if(f|0)mb[f&3](b,19183);if(c[b+56>>2]|0){c[g>>2]=c[b+4>>2];Df(19196,g)}a[b+48>>0]=0;f=c[b+72>>2]|0;if(!f){c[b+20>>2]=0;c[b+36>>2]=0;c[b+32>>2]=0;e=kf(c[b+8>>2]|0,d,e)|0;c[b+16>>2]=e;if((e|0)==-1){c[h>>2]=c[b+4>>2];Df(19240,h)}}else mf(f,d,((d|0)<0)<<31>>31);i=j;return}function sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(jj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=od(d,b)|0;ij(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=od(d,b)|0}while(0);return e|0}function td(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(uh(c[2335]|0)|0):0){og(c[d>>2]|0)|0;Gi(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Rb(d)}else ah(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)jb[d&3](f);Gi(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Jd(g);Gh(b)}return}function ud(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;_d(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;_d(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function vd(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=Tg(h^a|0,g^b|0,h|0,g|0)|0;b=C;Tb(a,b,Tg(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Tg(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function wd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Wf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Df(16329,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;rh(16354,g)}else if((d|0)==8){i=h;return}}function xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(vi(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(vi(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Gd(b)|0;h=Gd(c)|0;d=0;e=Db(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Db(e+g|0,b)|0}f=Gd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Vd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Db(a,b)|0;d=f;while(1){if(!a)break;yi(d,e)|0;j=a+g|0;i=d+(a-e)|0;yi(i,c)|0;e=j;a=Db(j,b)|0;d=i+h|0}yi(d,e)|0;return f|0}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;c[f+(e<<5)>>2]=c[b+4>>2];c[f+(e<<5)+4>>2]=c[b+8>>2];c[f+(e<<5)+8>>2]=c[b+12>>2];c[f+(e<<5)+12>>2]=c[b+16>>2];c[f+(e<<5)+16>>2]=c[b+20>>2];c[f+(e<<5)+20>>2]=c[b+24>>2];c[f+(e<<5)+24>>2]=c[b+28>>2];c[f+(e<<5)+28>>2]=c[b+32>>2];b=e+1|0;c[d>>2]=b;if((b|0)>=(c[a+8>>2]|0))Zd(a);return}function Bd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Bh(f,-1,19927,56)|0;if(a|0){f=a;i=g;return f|0}a=tb(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Oc(f)|0;i=g;return f|0}else{Oc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Cd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ig(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Dd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(kb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((kb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Fd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Eg(f,12704,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Gd(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 Hd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Mg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Hd(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 Id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Ee(c[e>>2]|0,d)|0)){Uh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Ag(g,19265,h)|0}}}while(0);i=j;return}function Jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;ti(d);d=g}e=e+1|0}}else{ph(b);b=d+8|0}while(0);Gi(c[b>>2]|0);Gh(a)}return}function Kd(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[19]|0;if(!((b|0)!=0&d>>>0>b>>>0)){h=e;c[h>>2]=b;c[h+4>>2]=0;h=e+8|0;c[h>>2]=d;c[h+4>>2]=0;rh(17050,e)}d=Bi(a,b)|0;if(!d){h=c[(nh()|0)>>2]|0;g=f;c[g>>2]=b;c[g+4>>2]=0;c[f+8>>2]=h;rh(17114,f)}else{i=g;return d|0}return 0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=ec(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((ec(a,4,f)|0)<0){c[g>>2]=$d(c[(nh()|0)>>2]|0)|0;$g(14074,g);d=-1}else d=0}else{c[e>>2]=$d(c[(nh()|0)>>2]|0)|0;$g(14043,e);d=-1}i=h;return d|0}function Md(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18935+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18943+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18943+f>>0]}while(0);return}function Nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Hc(23258,a[d>>0]|0,4)|0){h=gf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ah($a(5,e|0)|0)|0;if((e|0)>=0){b=qc(e,d)|0;if(!b){c[f>>2]=e;La(6,f|0)|0;b=0}}else b=0}else{c[(nh()|0)>>2]=22;b=0}i=g;return b|0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(kb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)kb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;b=c[19]|0;if(!((a|0)!=0&b>>>0>a>>>0)){g=d;c[g>>2]=a;c[g+4>>2]=0;g=d+8|0;c[g>>2]=b;c[g+4>>2]=0;rh(16926,d)}b=Yi(a)|0;if(!b){g=c[(nh()|0)>>2]|0;f=e;c[f>>2]=a;c[f+4>>2]=0;c[e+8>>2]=g;rh(16984,e)}else{i=f;return b|0}return 0}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Uf(19003,a)|0))if(!(Uf(19006,a)|0))if(!(Uf(19010,a)|0))if(!(Uf(19013,a)|0))a=0;else{a=19018;e=5}else{a=19022;e=5}else{a=19026;e=5}else{a=19028;e=5}if((e|0)==5){c[d>>2]=a;ng(b,20,19031,d)|0;a=ih(b)|0}i=f;return a|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;bh(e,b,16);a=se(12548,c[14]|0)|0;c[14]=a;Wi(_(a,1e9)|0);c[2]=se(12556,c[2]|0)|0;c[3]=se(12566,c[3]|0)|0;c[5886]=(Mi(12579)|0)==0&1;if((c[e>>2]|0)!=4)Fg();Nb(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);if((kj()|0)>1)jd();i=d;return 0}function Sd(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=Tg(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Tg((Tb(h,g,Tg(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Ff(h,0);e=+ub(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Ud(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=Zf(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Lh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Vd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;rh(17186,b)}b=Yi(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(17239,d)}else{ve(b|0,0,a|0)|0;i=e;return b|0}return 0}function Wd(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)kb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18877;break}case 2:{a=18856;break}case -1:{a=18845;break}case -2:{a=18829;break}case -3:{a=18829;break}case -4:{a=18814;break}case -5:{a=18799;break}case -6:{a=18780;break}case 0:{a=0;break}default:{c[b>>2]=a;ng(24180,128,18761,b)|0;a=24180}}i=d;return a|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=sb(b)|0;return a|0}if(b>>>0>4294967231){c[(nh()|0)>>2]=12;a=0;return a|0}d=Ob(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=sb(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;_d(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;zb(a);a=d;return a|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;d=a+4|0;b=c[d>>2]|0;if(b|0){b=b<<5;if(!(c[a+16>>2]|0))wf(c[a+12>>2]|0,c[a>>2]|0,b);else{h=Ai(b)|0;f=Oa()|0;g=i;i=i+((1*h|0)+15&-16)|0;b=Je(c[a>>2]|0,b,g,h)|0;wf(c[a+12>>2]|0,g,b);za(f|0)}c[d>>2]=0}i=e;return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ha(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 $d(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21326+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21414;e=5;break}}if((e|0)==2)if(!c)b=21414;else{b=21414;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 ae(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;cc(b,g);cc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){ff(e,2048,d);ff(f+2064|0,2048,g+2064|0)}g=Ec(f)|0;i=h;return g|0}function be(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Of(b,d)|0))break;if((Uf(19503,c[d>>2]|0)|0)==0?(Uf(19511,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Pg(2,19554,f)}if((g|0)==5){c[e>>2]=c[d>>2];Pg(2,19517,e);a[b+48>>0]=1}i=h;return}function ce(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function de(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;rh(16001,k)}else{c[j>>2]=e;Ih(d,j)}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Aa(16650,16702,357,16725);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=rg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Jh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function fe(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Ff(j,0);e=Eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ge(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;ng(h,256,14691,j)|0;j=$c(h,Gd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Cg(e,14697,k);Gh(g)}i=l;return}function he(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Za(23660);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5914]|0)==(a|0))c[5914]=b;Ta(23660)}b=gd(a)|0;b=ob[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)zb(d);if(!e)zb(a);return b|0}function ie(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=kf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16531;else e=(d|0)==2?16490:16499;else e=16522;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Df(16540,g);return 0}function je(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2276]|0;if((c[f+76>>2]|0)>-1)g=jj(f)|0;else g=0;do if((ni(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=(od(f,10)|0)<0}while(0);if(g|0)ij(f);return d<<31>>31|0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Gi(e);f=f+1|0}Gi(b);Gi(i);i=h}Gh(g+12|0);Gh(g+28|0);Gh(a)}return}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Ci(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;rh(19455,g);return +(0.0)}function me(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+16|0;f=h;e=(a|0)<10?10:a;a=0;while(1){if((a|0)>=10){a=10;break}c[d+(a<<2)>>2]=0;c[b+(a<<2)>>2]=e;if((e|0)>536870911){g=4;break}e=e<<2;a=a+1|0}if((g|0)==4){a=a+1|0;c[f>>2]=a;Pg(2,18333,f)}i=h;return a|0}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;rh(19407,f)}j=Dd(d)|0;i=g;return j|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;e=b+-1|0;d=0;while(1){if(!a)break;j=c[a+8>>2]|0;h=((e+j|0)>>>0)/(b>>>0)|0;c[f>>2]=c[a+4>>2];c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=b;Pg(2,18566,f);d=h+d|0;a=c[a>>2]|0}i=g;return d|0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Vd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ih(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Kc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Rc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function re(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2276]|0);if((b|0)==(c[2335]|0)|d)if(d){gd(b)|0;b=1}else b=1;else if(!(he(b)|0))b=1;else{vf(16585,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=mg(b)|0;do if((f|0)!=0?(Ue(f,17834)|0)!=0:0){d=Oh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;rh(17557,h)}else e=d;while(0);i=j;return e|0}function te(a){a=a|0;var b=0;b=ih(a)|0;if(!(((Uf(19043,a)|0)==0?(Uf(19051,a)|0)==0:0)?!(Uf(19060,a)|0):0))md(a,b,Gd(a)|0);if(!(Gg(b,19067)|0))if(!(Gg(b,19071)|0))if(!(Gg(b,19074)|0)){a=(Gg(b,19079)|0)==0;a=a?0:96}else a=132;else a=120;else a=108;Gi(b);return a|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Jh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;rh(17955,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function ve(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 we(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=xi(e&65535)|0;if(d){h=Ti(_c(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=ji(b,59)|0;if((g|0?Uf(14398,g)|0:0)?(i=(wh(g,61)|0)+1|0,h=wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=cd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=cd(b)|0;c[e>>2]=f}}return}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ee(0,1)|0;b=qh(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(eg(b,f,2)|0))break;b=c[f>>2]|0;$h(d,b,jh(c[a>>2]|0)|0)|0;b=c[e>>2]|0}td(e);i=g;return d|0}function ze(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 Ae(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ah(qa(102,h|0)|0)|0;i=g;return e|0}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Zg(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){di(e,14416);b=c[d>>2]|0}di(e,b);f=f+1|0}g=xg(g)|0;i=h;return g|0}function Ce(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ah(qa(102,h|0)|0)|0;i=g;return e|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Ue(a,14393)|0)if(!(Ue(a,14410)|0)){d=Xg(a+4112|0,Dd(a+6160|0)|0)|0;break}else{c[e>>2]=b;rh(14649,e)}else d=Vb(a+4112|0,Dd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Ue(c[e+4>>2]|0,d)|0)!=0);return e|0}function Fe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;h=a+4|0;i=a+8|0;f=e[a>>1]|0;g=0;while(1){if((g|0)>=(f|0))break;a=Gd(c[b+((e[(c[h>>2]|0)+(g<<1)>>1]|0)<<2)>>2]|0)|0;d=(c[i>>2]|0)+(g<<2)|0;if((a|0)>(c[d>>2]|0))c[d>>2]=a;g=g+1|0}return}function Ge(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((Ah(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 He(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+32|0;f=g;e=g+8|0;if(!b)Aa(16131,16145,55,16160);if((c[18]|0)<0)c[18]=Hf()|0;h=Hf()|0;c[e>>2]=d;dg(a,b,e);c[f>>2]=h-(c[18]|0);Pg(a,16172,f);c[18]=h;i=g;return}function Ie(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=Bd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=Xd(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;rh(18893,g)}return 0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Ue(a,19155)|0){if(te(a)|0){c=fd(a,b)|0;break}c=Oe(a,0,c)|0;if((c|0)==-1)c=0;else c=Xf(a,b,c)|0}else c=ki(b)|0;while(0);i=d;return c|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Vf(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Df(16396,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;rh(16422,e)}}function Me(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;return rb[a&1](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)|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;h=k;while(1){if(!(Lb(b,h,j)|0)){g=0;break}g=c[h>>2]|0;if((a[g>>0]|0)==35)continue;g=xd(g,d,e,f)|0;if(g|0)break}i=k;return g|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ah($a(5,f|0)|0)|0;i=e;return d|0}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Dg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;_d(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ah(qa(102,f|0)|0)|0;i=e;return d|0}function Re(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 Se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=eh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Le(b,d,e);return}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((Xb(2,a,d)|0)<0){b=$d(c[(nh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;$g(16050,e);a=0}else{c[b>>2]=Si(c[d>>2]|0)|0;a=1}i=f;return a|0}function Ue(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 Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=eh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;wd(b,d,e);return}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Ae(a,1,20,d,8)|0)>=0)if((Ae(a,1,21,d,8)|0)<0){$g(13938,e);a=-1}else a=0;else{$g(13888,f);a=-1}i=f;return a|0}
+function Xe(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,Sa(54,f|0)|0):0)a[b+75>>0]=-1;f=pc(b,d,e)|0;i=g;return f|0}function Ye(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Lb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=yd(f,d,e)|0;if(f|0)break}i=j;return f|0}function Ze(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=hi(a[e>>0]|0)|0;c=c<<24>>24;b=(hi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function _e(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 $e(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;Sf(b);a=Pc(a,b)|0;if(!(b&1)){b=ag(a+16|0)|0;c[f>>2]=b;Sb(a,b,d,e,0,0);Cf(f)}else Nf(a,d,e,0,0);i=g;return a|0}function af(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=wb(e,b,d)|0;i=g;return h|0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=ue(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function cf(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=kb[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function df(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Yc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;rh(16599,g)}return 0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Hc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;_d(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Gd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;rh(16186,f)}else{yi(a,d)|0;i=g;return}}function gf(b){b=b|0;var c=0,d=0,e=0;d=(wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wh(b,120)|0)==0;d=e?d:d|128;b=(wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((d|0)<(b|0)){g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(19358,e)}else{i=f;return}}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(19318,e)}}function kf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ah(db(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function lf(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=(jj(e)|0)==0;a=Qc(a,f,e)|0;if(!g)ij(e)}else a=Qc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=eh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(19567)hg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function nf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2276]|0;else{je(13830)|0;je(13855)|0;d=c[2276]|0;Bc(d,a,b)|0;sd(10,d)|0;gd(d)|0}gd(d)|0;d=c[2306]|0;Bc(d,a,b)|0;sd(10,d)|0;gd(d)|0}return}function of(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ah(eb(142,h|0)|0)|0;i=g;return d|0}function pf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)qf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function rf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Pd(h)|0;a=a+136|0;hg(a,b,d+64|0,0)|0;Ve(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function sf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ke(a,b)|0;if(!b){e=$d(c[(nh()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;rh(19161,d)}else{i=e;return b|0}return 0}function tf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Ng(e)|0,(a[d>>0]|0)!=0):0){e=Mf(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function uf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=$d(c[(nh()|0)>>2]|0)|0;c[g+4>>2]=a;zg(f,13882,g)|0;dh(f,e);i=d;return}function wf(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?(lf(b,d,1,a)|0)!=1:0){a=$d(jg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;rh(16299,e)}i=f;return}function xf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _d(b,c,d)|0;return b|0}function yf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Wd(a)|0)!=0:0)b=-1;else if((kb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;rh(13204,e)}}function Af(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 Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Oe(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Df(13515,d)}else{i=e;return b|0}return 0}function Cf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((og(b)|0)<0){c[d>>2]=b;Df(13239,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=$d(c[(nh()|0)>>2]|0)|0;c[f+4>>2]=a;zg(e,13882,f)|0;Ih(e,d)}function Ef(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+Ci(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;rh(16032,e);return +(0.0)}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Gf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((og(b)|0)<0)Df(16572,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Hf(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;d=e;cb(d|0,0)|0;a=c[5907]|0;b=c[d>>2]|0;if(!a){c[5907]=b;a=b}i=e;return ((b-a|0)*1e3|0)+((c[d+4>>2]|0)/1e3|0)|0}function If(a){a=a|0;var b=0,d=0,f=0,g=0;f=a+4|0;b=e[a>>1]|0;d=0;a=0;while(1){if((d|0)==(b|0))break;g=e[(c[f>>2]|0)+(d<<1)>>1]|0;d=d+1|0;a=(g|0)>(a|0)?g:a}return a|0}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Th(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Aa(19099,19121,352,19137)}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=ra(63,e|0)|0}while((d|0)==-16);e=Ah(d)|0;i=f;return e|0}function Lf(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(jj(a)|0)==0;Ed(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)ij(a)}else{Ed(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Mf(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(vi(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Nf(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;g=i;i=i+16|0;h=g;c[a+16>>2]=ag(h)|0;Sb(a,b,c[h>>2]|0,d,e,f);Cf(h);i=g;return}function Of(b,d){b=b|0;d=d|0;a:while(1){if(!(Lb(b,d,0)|0)){b=0;break}switch(a[(Ng(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Pf(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=264;c[a+2852>>2]=a+2440;c[a+2860>>2]=400;c[a+2864>>2]=a+2684;c[a+2872>>2]=540;b[a+5816>>1]=0;c[a+5820>>2]=0;xc(a);return}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_d(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Wf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Sf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{rh(12713,c);break}default:{}}if((a&18|0)==16)rh(12779,b);else{i=c;return}}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(jj(a)|0)==0;b=Ed(a,b,d)|0;if(!e)ij(a)}else b=Ed(a,b,d)|0;return b|0}function Uf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(ab(4,f|0)|0)|0;i=e;return a|0}function Wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(Xa(3,f|0)|0)|0;i=e;return a|0}function Xf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Vd(104)|0;c[f+4>>2]=ih(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Vd(65537)|0;return f|0}function Yf(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;ba(8);return 0}function Zf(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;Tb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=$e(g,b,d,e)|0;i=f;return e|0}function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=hd(g,b,d,e)|0;i=f;return e|0}function ag(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Qg(b)|0)<0)Df(12876,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function bg(b){b=b|0;var c=0,d=0;c=Gd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(vi(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function dg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[17]|0)>=(a|0)){a=c[5904]|0;if(!a){a=c[2306]|0;c[5904]=a}Bc(a,b,d)|0;gd(c[5904]|0)|0}return}function eg(a,b,c){a=a|0;b=b|0;c=c|0;b=Ye(a,b,c)|0;if(b)if((b|0)<(c|0)){jf(a,c,b);b=1}else b=1;else b=0;return b|0}function fg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return ie(b,d,e)|0}function ig(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=pf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function jg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(jj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)ij(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Vd(20)|0;c[e>>2]=Jh(a<<5)|0;c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=d;return e|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ah(Ra(57,e|0)|0)|0;i=d;return a|0}function mg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5905]|0;if(!b)rh(17923,d);else{a=fh(b,a)|0;i=d;return a|0}return 0}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=df(a,b,d,g)|0;i=f;return e|0}function og(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=La(6,d|0)|0;a=Ah((a|0)==-4?-115:a)|0;i=b;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Ue(d,a)|0))break;b=b+8|0}return b|0}function qg(a,b,d){a=a|0;b=b|0;d=d|0;d=_f(te(a)|0,33,d,2)|0;b=Xf(a,b,Qi(d)|0)|0;c[b+56>>2]=d;return b|0}function rg(a){a=a|0;var b=0;b=Vd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;ue(b,a)|0;return b|0}function sg(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=Ah(La(6,d|0)|0)|0;i=b;return a|0}function tg(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]}function ug(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return nb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function wg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Vd(d+1|0)|0;c=(c|0)<(d|0)?c:d;_d(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function xg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Aa(18642,18653,40,18669);else{b=c[b+4>>2]|0;Gh(a);return b|0}return 0}function yg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=ii(c<<24>>24)|0;d=d+1|0}return b|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xh(a,b,f)|0;i=e;return d|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Bc(a,b,f)|0;i=e;return d|0}function Bg(a,b,d){a=a|0;b=b|0;d=d|0;b=b+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Cg(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;pd(a,b,f);i=e;return}function Dg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Th(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=af(a,b,f)|0;i=e;return d|0}function Fg(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=4;c[a+4>>2]=d;c[a+8>>2]=b;rh(11076,a)}function Gg(a,b){a=a|0;b=b|0;var c=0;c=Gd(a)|0;c=c-(Gd(b)|0)|0;if((c|0)<0)c=0;else c=(Ue(a+c|0,b)|0)==0&1;return c|0}function Hg(a,b){a=a|0;b=b|0;wf(a,b,8);wf(a,b+8|0,8);wf(a,b+16|0,8);wf(a,b+24|0,8);wf(a,b+32|0,8);return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Kg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Gi(b);b=d}c[a>>2]=0;return}function Lg(){var a=0,b=0;a=Ia(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;og(b)|0;b=b+1|0}return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Ng(b){b=b|0;if(!b)b=0;else while(1)if(!(vi(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Og(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(jj(a)|0)==0;a=cf(a)|0}else a=cf(a)|0;return a|0}function Pg(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;dg(a,b,f);i=e;return}function Qg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ah(ua(42,d|0)|0)|0;i=b;return a|0}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;a=Kd(a,c)|0;if(c>>>0>b>>>0)ve(a+b|0,0,c-b|0)|0;return a|0}function Sg(){}function Tg(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 (C=d,a-c>>>0|0)|0}function Ug(a){a=a|0;var b=0;if(!a)a=Vd(8)|0;else{b=Vd((Gd(a)|0)+8|0)|0;yi(b+4|0,a)|0;a=b}return a|0}function Vg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[17]=a;c[d>>2]=0;i=b;return}function Wg(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;wf(a,d,4);i=c;return}function Xg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;rh(18951,d);return 0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;sd(b,a)|0;c=c+-1|0}return}function Zg(a){a=a|0;var b=0;b=Vd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Vd(a+1|0)|0;c[b+8>>2]=a;return b|0}function _g(){var a=0,b=0;b=i;i=i+16|0;a=Ic(2,1,0)|0;if((a|0)<0)$g(14013,b);i=b;return a|0}function $g(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;dh(a,e);i=d;return}function ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=zc(b)|0;ke(a)}return b|0}function bh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5905]|0)){Fh(Gb(a,b,0,d,0)|0);c[5906]=d}return}function ch(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Zd(b);Gi(c[b>>2]|0);Gh(a)}return}function dh(a,b){a=a|0;b=b|0;var d=0;d=Uc()|0;mb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function fh(a,b){a=a|0;b=b|0;a=Ee(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function hh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ih(a){a=a|0;var b=0;if(!a)a=0;else{b=Gd(a)|0;a=wg(a,b,b)|0}return a|0}function jh(a){a=a|0;var b=0;b=i;i=i+16|0;a=de(a,0,b)|0;i=b;return a|0}function kh(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ci(a,b);return rc(a,b,c,d)|0}function mh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function nh(){var a=0;if(!(c[5908]|0))a=23676;else a=c[(oj()|0)+64>>2]|0;return a|0}function oh(a){a=a|0;if(!a)a=0;else{a=Ng(a)|0;bg(a)}return a|0}function ph(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Kg(b);Gi(b);c[a>>2]=0}return}function qh(a){a=a|0;a=Mc(a)|0;if(!a)xh();else return a|0;return 0}function rh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ih(a,d)}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kb[a&7](b|0,c|0,d|0)|0}function th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Gi(c[b+4>>2]|0);Gh(a)}return}function uh(a){a=a|0;if((c[a+76>>2]|0)>-1?jj(a)|0:0)ij(a);return c[a+60>>2]|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;a=bf(a,c)|0;_d(a|0,b|0,c|0)|0;return a|0}function wh(b,c){b=b|0;c=c|0;b=Sc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xh(){var a=0;a=Uc()|0;qb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Na(-1)}function yh(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Gf(b+52|0);Gh(a)}return}function Ah(a){a=a|0;if(a>>>0>4294963200){c[(nh()|0)>>2]=0-a;a=-1}return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ac(a,b,8,15,8,0,c,d)|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pb[a&3](b|0,c|0,d|0)}function Dh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Eh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=id(a,b,0)|0;return a|0}function Fh(a){a=a|0;c[5905]=a;if(mg(17415)|0)Vg(se(17415,0)|0);return}function Gh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)aj(b);return}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Ih(a,b){a=a|0;b=b|0;c[(Uc()|0)+4>>2]=1;dh(a,b);xh()}function Jh(a){a=a|0;var b=0;b=Pd(a)|0;ve(b|0,0,a|0)|0;return b|0}function Kh(a,b){a=a|0;b=b|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Tb(a,b,c,d,0)|0}function Mh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,b,c,0,-2147483648)|0;return a|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,b,c,-2147483648,0)|0;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;return fc(a,b,14873,14882,c)|0}function Qh(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Rh(a,b){a=a|0;b=b|0;return Ue(c[a+4>>2]|0,c[b+4>>2]|0)|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&7](b|0,c|0)|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(a,b,c)|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;return Tc(a,b,Gd(b)|0,c)|0}function Vh(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Wh(a){a=a|0;if(!(re(a)|0))xh();else return}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,2147483647,b,c)|0}function Yh(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;mb[a&3](b|0,c|0)}function _h(){if((Pa(13863)|0)==0?(Pa(13873)|0)==0:0)Na(-1);Ma()}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return Uh(a,b,0+c|0)|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return sb(_(c,b)|0)|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;return ef(a,b,c)|0}function ci(a,b){a=a|0;b=b|0;Le(a,b,Gd(b)|0);return}function di(a,b){a=a|0;b=b|0;Pe(a,b,Gd(b)|0);return}function ei(a,b){a=a|0;b=b|0;return wg(a,Gd(a)|0,b)|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,0,c)|0}function gi(a,b){a=a|0;b=b|0;yi(b,c[a+4>>2]|0)|0;return}function hi(a){a=a|0;var b=0;b=(Oi(a)|0)==0;return (b?a:a&95)|0}function ii(a){a=a|0;var b=0;b=(Ni(a)|0)==0;return (b?a:a|32)|0}function ji(a,b){a=a|0;b=b|0;return fg(a,b,(Gd(a)|0)+1|0)|0}function ki(a){a=a|0;return Xf(19155,a,uh(c[2335]|0)|0)|0}function li(a){a=a|0;if(!(c[a+68>>2]|0))ij(a);return}function mi(a){a=a|0;if(!(c[a+68>>2]|0))ij(a);return}function ni(a,b){a=a|0;b=b|0;return (lf(a,Gd(a)|0,1,b)|0)+-1|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,1,c)|0}function pi(a){a=a|0;return ((a+-48|0)>>>0<10|(Hi(a)|0)!=0)&1|0}function qi(a){a=a|0;rd(a,0,0);c[a+28>>2]=0;return}function ri(a,b,c){a=a|0;b=b|0;c=c|0;return Tf(a,b,c)|0}function si(a,b){a=a|0;b=b|0;return ob[a&3](b|0)|0}function ti(a){a=a|0;Gi(c[a+4>>2]|0);Gi(a);return}function ui(a,b){a=a|0;b=b|0;i=a;j=b}function vi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function xi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function yi(a,b){a=a|0;b=b|0;Vc(a,b)|0;return a|0}function zi(a,b){a=a|0;b=b|0;jb[a&3](b|0)}function Ai(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Bi(a,b){a=a|0;b=b|0;return Yd(a,b)|0}function Ci(a,b){a=a|0;b=b|0;return +(+Td(a,b,1))}function Di(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function Ei(a){a=a|0;Yg(a,0,240);return}function Fi(a){a=a|0;Yg(a,0,64);return}function Gi(a){a=a|0;if(a|0)aj(a);return}function Hi(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Ii(a,b){a=+a;b=+b;return +(+uf(a,b))}function Ji(a,b){a=+a;b=b|0;return +(+Cd(a,b))}function Ki(a,b){a=+a;b=b|0;return +(+Hd(a,b))}function Li(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function Mi(a){a=a|0;return (mg(a)|0)!=0|0}function Ni(a){a=a|0;return (a+-65|0)>>>0<26|0}function Oi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Pi(a,b){a=a|0;b=b|0;zb(b);return}function Qi(a){a=a|0;return c[a+16>>2]|0}function Ri(a,b){a=+a;b=+b;return +(+_b(a,b))}function Si(a){a=a|0;return Qh(a|0)|0}function Ti(a){a=a|0;return Qh(a|0)|0}function Ui(a,b){a=a|0;b=b|0;ba(2);return 0}function Vi(){c[18]=Hf()|0;return}function Wi(a){a=a|0;c[19]=a;return}function Xi(a){a=a|0;qb[a&1]()}function Yi(a){a=a|0;return sb(a)|0}function Zi(a){a=a|0;return a+8|0}function _i(a){a=a|0;zb(a);return}function $i(a){a=a|0;return Og(a)|0}function aj(a){a=a|0;zb(a);return}function bj(a){a=a|0;return 0}function cj(a,b){a=a|0;b=b|0;ba(3)}function dj(a){a=a|0;return 0}function ej(a){a=a|0;i=a}function fj(a){a=a|0;C=a}function gj(a){a=a|0;ba(5);return 0}function hj(a){a=a|0;return a|0}function ij(a){a=a|0;return}function jj(a){a=a|0;return 0}function kj(){return c[17]|0}function lj(){return C|0}function mj(){return i|0}function nj(a){a=a|0;ba(0)}function oj(){return 0}function pj(){ba(7)}
 
 // EMSCRIPTEN_END_FUNCS
-var jb=[nj,mi,li,nj];var kb=[Di,Xe,Ge,pc,Jc,Qf,ai,bi];var lb=[Ui,Qb,Fb,Cb,Kh,Rh,mh,Ui];var mb=[cj,nf,gi,Pi];var nb=[Hh];var ob=[gj,sg,Zi,wc];var pb=[Li,Bg,cg,Li];var qb=[pj,_h];var rb=[Yf,Mb];return{_i64Subtract:Tg,_bitshift64Ashr:vg,_free:zb,_main:Rd,_htonl:Ti,_realloc:Yd,_i64Add:eh,_memmove:xf,_pthread_self:oj,_memset:ve,_pthread_mutex_unlock:bj,_malloc:sb,_pthread_mutex_lock:dj,_memcpy:_d,_llvm_bswap_i32:Qh,_bitshift64Lshr:Mg,_htons:xi,_bitshift64Shl:Ig,___errno_location:nh,_ntohs:wi,runPostSets:Sg,stackAlloc:Dh,stackSave:mj,stackRestore:ej,establishStackSpace:ui,setThrew:Vh,setTempRet0:fj,getTempRet0:lj,dynCall_vi:zi,dynCall_iiii:sh,dynCall_iii:Sh,dynCall_vii:Zh,dynCall_iiiiiii:ug,dynCall_ii:si,dynCall_viii:Ch,dynCall_v:Xi,dynCall_iiiiiiiiiiiiiii:Me}})
+var jb=[nj,mi,li,nj];var kb=[Di,Xe,Ge,pc,Jc,Qf,ai,bi];var lb=[Ui,Qb,Fb,Cb,Kh,Rh,mh,Ui];var mb=[cj,nf,gi,Pi];var nb=[Hh];var ob=[gj,sg,wc,Zi];var pb=[Li,Bg,cg,Li];var qb=[pj,_h];var rb=[Yf,Mb];return{_i64Subtract:Tg,_bitshift64Ashr:vg,_free:zb,_main:Rd,_htonl:Ti,_realloc:Yd,_i64Add:eh,_memmove:xf,_pthread_self:oj,_memset:ve,_pthread_mutex_unlock:bj,_malloc:sb,_pthread_mutex_lock:dj,_memcpy:_d,_llvm_bswap_i32:Qh,_bitshift64Lshr:Mg,_htons:xi,_bitshift64Shl:Ig,___errno_location:nh,_ntohs:wi,runPostSets:Sg,stackAlloc:Dh,stackSave:mj,stackRestore:ej,establishStackSpace:ui,setThrew:Vh,setTempRet0:fj,getTempRet0:lj,dynCall_vi:zi,dynCall_iiii:sh,dynCall_iii:Sh,dynCall_vii:Zh,dynCall_iiiiiii:ug,dynCall_ii:si,dynCall_viii:Ch,dynCall_v:Xi,dynCall_iiiiiiiiiiiiiii:Me}})
 
 
 // EMSCRIPTEN_END_ASM
diff --git a/bedTools/bedGraphToBigWig_static.js.html.mem b/bedTools/bedGraphToBigWig_static.js.html.mem
index 7b1c9a362ba48eb50ac85b2c048187313024523a..3dede7c735eeadb8292429dcaf3786f2e12f03b1 100644
Binary files a/bedTools/bedGraphToBigWig_static.js.html.mem and b/bedTools/bedGraphToBigWig_static.js.html.mem differ
diff --git a/bedTools/bedGraphToBigWig_static.js.js b/bedTools/bedGraphToBigWig_static.js.js
index fc1e07a04e37381cba7dc90739f59dc22571c885..e5e47a1f1c4918cbf3aee2f23058c0444efa5754 100644
--- a/bedTools/bedGraphToBigWig_static.js.js
+++ b/bedTools/bedGraphToBigWig_static.js.js
@@ -1,12 +1,12 @@
-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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26384;__ATINIT__.push();memoryInitializer="bedGraphToBigWig_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_gai_strerror":_gai_strerror,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"__read_sockaddr":__read_sockaddr,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26384;__ATINIT__.push();memoryInitializer="bedGraphToBigWig_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_create(){return 11}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _llvm_fabs_f64=Math_abs;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 _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__read_sockaddr":__read_sockaddr,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_sysconf":_sysconf,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"__exit":__exit,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_vi;var ea=env.invoke_iiii;var fa=env.invoke_iii;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiiiiiiiiiiiii;var ma=env._pthread_cleanup_pop;var na=env.___syscall221;var oa=env.__inet_pton4_raw;var pa=env.__inet_ntop6_raw;var qa=env.___syscall102;var ra=env.___syscall63;var sa=env.__inet_ntop4_raw;var ta=env._execvp;var ua=env.___syscall42;var va=env._pthread_cleanup_push;var wa=env._fork;var xa=env.__inet_pton6_raw;var ya=env.___syscall20;var za=env._llvm_stackrestore;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env._gai_strerror;var Da=env._signal;var Ea=env._wait;var Fa=env.___setErrNo;var Ga=env._sbrk;var Ha=env._emscripten_memcpy_big;var Ia=env.__exit;var Ja=env._execl;var Ka=env.__write_sockaddr;var La=env.___syscall6;var Ma=env._abort;var Na=env._exit;var Oa=env._llvm_stacksave;var Pa=env._getenv;var Qa=env.___syscall51;var Ra=env.___syscall57;var Sa=env.___syscall54;var Ta=env.___unlock;var Ua=env._pthread_create;var Va=env._pthread_detach;var Wa=env.___syscall3;var Xa=env._sysconf;var Ya=env.___lock;var Za=env._llvm_fabs_f64;var _a=env.___syscall5;var $a=env.___syscall4;var ab=env._getaddrinfo;var bb=env._gettimeofday;var cb=env.___syscall140;var db=env.___syscall142;var eb=env.__read_sockaddr;var fb=env.___syscall145;var gb=env.___syscall146;var hb=env._waitpid;var ib=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_vi;var ea=env.invoke_iiii;var fa=env.invoke_iii;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiiiiiiiiiiiii;var ma=env._pthread_cleanup_pop;var na=env.___syscall221;var oa=env.__inet_pton4_raw;var pa=env.__inet_ntop6_raw;var qa=env.___syscall102;var ra=env.___syscall63;var sa=env.__inet_ntop4_raw;var ta=env._execvp;var ua=env.___syscall42;var va=env._pthread_cleanup_push;var wa=env._fork;var xa=env.__inet_pton6_raw;var ya=env.___syscall20;var za=env._llvm_stackrestore;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env.__read_sockaddr;var Da=env._signal;var Ea=env._wait;var Fa=env.___setErrNo;var Ga=env._sbrk;var Ha=env._emscripten_memcpy_big;var Ia=env._sysconf;var Ja=env._execl;var Ka=env.__write_sockaddr;var La=env.___syscall6;var Ma=env._abort;var Na=env._exit;var Oa=env._llvm_stacksave;var Pa=env._getenv;var Qa=env.___syscall51;var Ra=env.___syscall57;var Sa=env.___syscall54;var Ta=env.___unlock;var Ua=env._pthread_create;var Va=env._gai_strerror;var Wa=env._pthread_detach;var Xa=env.___syscall3;var Ya=env.__exit;var Za=env.___lock;var _a=env._llvm_fabs_f64;var $a=env.___syscall5;var ab=env.___syscall4;var bb=env._getaddrinfo;var cb=env._gettimeofday;var db=env.___syscall140;var eb=env.___syscall142;var fb=env.___syscall145;var gb=env.___syscall146;var hb=env._waitpid;var ib=0.0;
 // EMSCRIPTEN_START_FUNCS
-function sb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5921]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=23724+(b<<1<<2)|0;e=d+8|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[5925]|0)>>>0)Ma();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Ma()}else c[5921]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5923]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=23724+(b<<1<<2)|0;e=d+8|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[5925]|0)>>>0)Ma();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5923]|0;break}else Ma()}else{c[5921]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5926]|0;b=l>>>3;d=23724+(b<<1<<2)|0;a=c[5921]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{m=a;n=b}}else{c[5921]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5923]=h;c[5926]=e;N=j;i=O;return N|0}a=c[5922]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[23988+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5925]|0;if(k>>>0<g>>>0)Ma();j=k+q|0;if(k>>>0>=j>>>0)Ma();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Ma();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Ma()}while(0);do if(h|0){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5922]=c[5922]&~(1<<a);break}}else{if(h>>>0<(c[5925]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5925]|0;if(o>>>0<b>>>0)Ma();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5923]|0;if(a|0){f=c[5926]|0;b=a>>>3;e=23724+(b<<1<<2)|0;a=c[5921]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{r=a;s=b}}else{c[5921]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5923]=d;c[5926]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5922]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[23988+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[23988+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5923]|0)-q|0)>>>0:0){f=c[5925]|0;if(k>>>0<f>>>0)Ma();h=k+q|0;if(k>>>0>=h>>>0)Ma();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Ma();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Ma();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Ma()}while(0);do if(g|0){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5922]=c[5922]&~(1<<a);break}}else{if(g>>>0<(c[5925]|0)>>>0)Ma();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5925]|0;if(u>>>0<b>>>0)Ma();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{w=a;x=b}}else{c[5921]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=23988+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Ma()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5923]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5926]|0;if(a>>>0>15){N=b+q|0;c[5926]=N;c[5923]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5923]=0;c[5926]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5924]|0;if(a>>>0>q>>>0){L=a-q|0;c[5924]=L;N=c[5927]|0;M=N+q|0;c[5927]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6039]|0)){c[6041]=4096;c[6040]=4096;c[6042]=-1;c[6043]=-1;c[6044]=0;c[6032]=0;x=p&-16^1431655768;c[p>>2]=x;c[6039]=x}h=q+48|0;g=c[6041]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6031]|0;if(a|0?(w=c[6029]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6032]&4)){a=c[5927]|0;c:do if(a){d=24132;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5924]|0)&g;if(a>>>0<2147483647){b=Ga(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ga(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6040]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6029]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6031]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ga(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6041]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ga(y|0)|0)==(-1|0)){Ga(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6032]=c[6032]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ga(k|0)|0,A=Ga(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6029]|0)+f|0;c[6029]=a;if(a>>>0>(c[6030]|0)>>>0)c[6030]=a;j=c[5927]|0;do if(j){e=24132;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5924]|0)|0;c[5927]=M;c[5924]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5928]=c[6043];break}a=c[5925]|0;if(h>>>0<a>>>0){c[5925]=h;k=h}else k=a;d=h+f|0;a=24132;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24132;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5926]|0)){N=(c[5923]|0)+g|0;c[5923]=N;c[5926]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Ma();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(a|0))Ma();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Ma()}while(0);if(!h)break;b=c[a+28>>2]|0;d=23988+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5925]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5922]=c[5922]&~(1<<b);break e}while(0);e=c[5925]|0;if(L>>>0<e>>>0)Ma();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Ma();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=23724+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Ma();if((c[d+12>>2]|0)==(a|0))break;Ma()}while(0);if((e|0)==(d|0)){c[5921]=c[5921]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Ma();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Ma()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;do if(!(b&a)){c[5921]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5925]|0)>>>0){M=a;N=b;break}Ma()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=23988+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Ma()}}else{N=(c[5924]|0)+g|0;c[5924]=N;c[5927]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24132;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5927]=N;c[5924]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5928]=c[6043];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6033];c[a+4>>2]=c[6034];c[a+8>>2]=c[6035];c[a+12>>2]=c[6036];c[6033]=h;c[6034]=f;c[6036]=0;c[6035]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{J=a;K=b}}else{c[5921]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=23988+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Ma()}}}else{N=c[5925]|0;if((N|0)==0|h>>>0<N>>>0)c[5925]=h;c[6033]=h;c[6034]=f;c[6036]=0;c[5930]=c[6039];c[5929]=-1;a=0;do{N=23724+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5927]=M;c[5924]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5928]=c[6043]}while(0);a=c[5924]|0;if(a>>>0>q>>>0){L=a-q|0;c[5924]=L;N=c[5927]|0;M=N+q|0;c[5927]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(nh()|0)>>2]=12;N=0;i=O;return N|0}function tb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[225];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=$b(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=dc(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=dc(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=dc(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,_d(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=dc(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=dc(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,_d(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=dc(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=dc(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,_d(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=dc(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,ld(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,_d(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=dc(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[225];e=-5;return e|0}}else{j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;_d(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[225];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?(Wb(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Ab(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,_d(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,_d(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,_d(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){Wb(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[20445+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[19933]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Ab(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,_d(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,_d(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,_d(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=lb[c[144+((c[O+132>>2]|0)*12|0)+8>>2]&7](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{vc(O);break}case 5:break;default:{oc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,ve(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;_d(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;ld(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,_d(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[222];e=-2;return e|0}function ub(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0}while((vi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Wc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23528+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Wc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23537+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Wc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Wc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(nh()|0)>>2]=22;Ff(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Wc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Wc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;k=eh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=eh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Wc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Ff(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=eh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=kc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Ff(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ig(o|0,n|0,2)|0;H=eh(H|0,C|0,-32,-1)|0;e=eh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=eh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Tg(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=eh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Ii(+Cd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(nh()|0)>>2]=34;g=+Ji(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Wc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=eh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=eh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=kc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Ff(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=eh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(nh()|0)>>2]=22;Ff(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9772+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9772+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9772+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ig(c[p>>2]|0,0,29)|0;o=eh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Lh(o|0,n|0,1e9,0)|0;o=Zf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Ii(+Cd(1.0,105-o|0),j);m=+Ri(j,+Cd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ri(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(nh()|0)>>2]=34}while(0);g=+Ji(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(nh()|0)>>2]=22;Ff(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function vb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(nh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Qc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[20836+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}hc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Mg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21316;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21316;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Tg(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21316;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21316:21318;L=76}else{p=1;r=21317;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21316;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21316;o=N;break}case 109:{o=$d(c[(nh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23218;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){nd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23226:23231}else{G=1;H=23228}else{q=-q;G=1;H=23225}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Ki(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Ud(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21300+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;nd(e,32,K,r,I);if(!(c[e>>2]&32))Qc(y,w,e)|0;nd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Qc(ea,o,e)|0;f=ba-p|0;nd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Qc(t,f,e)|0;nd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ig(c[r>>2]|0,0,t|0)|0;B=eh(B|0,C|0,o|0,0)|0;o=C;A=Zf(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Lh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Ud(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;nd(e,32,K,w,I);if(!(c[e>>2]&32))Qc(H,G,e)|0;nd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Ud(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;ve(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Qc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Qc(23256,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Ud(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){ve(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Qc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}nd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Ud(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Qc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Qc(23256,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;ve(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Qc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}nd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Qc(u,ba-u|0,e)|0}while(0);nd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;nd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Qc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Qc(s?(t?23537:23252):t?23244:23248,3,e)|0;nd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21316;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21300+(o&15)>>0]|r;o=Mg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21316;L=77}else{o=t;t=2;r=21316+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21316;L=77}}else if((L|0)==76){f=Ud(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Hc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21316;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Eh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}nd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Eh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Qc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;nd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;nd(e,32,o,s,p);if(!(c[e>>2]&32))Qc(v,w,e)|0;nd(e,48,o,s,p^65536);nd(e,48,r,t,0);if(!(c[e>>2]&32))Qc(f,t,e)|0;nd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;hc(j+(m<<3)|0,n,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=ia;return m|0}function wb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=jj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(vi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Ff(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Wc(e)|0}while((vi(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Ff(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Wc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){ve(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;ve(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=sb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Wc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(uc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Yd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Mh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=sb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Yd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ub(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Ff(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Wc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(vi(d[m>>0]|0)|0))break;else n=m}Ff(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Wc(e)|0}while((vi(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){zb(l);zb(f)}}else k=0;while(0);if(O|0)ij(e);i=P;return k|0}function xb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=eh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(14364==0?(Ue(c[a+8>>2]|0,14378)|0)!=0:0){ba=a+32|0;T=ba;T=nb[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=eh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=eh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=eh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=eh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Tg(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=eh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Tg((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Tg(k|0,j|0,f|0,d|0)|0;_d(b|0,B+f|0,o|0)|0;e=eh(o|0,E|0,e|0,n|0)|0;f=C;d=Tg(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=eh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;hg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Vd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=eh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Tg(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(14364){y=eh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=eh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Lh(k|0,j|0,w|0,0)|0;t=eh(A|0,B|0,-1,-1)|0;t=eh(t|0,C|0,w|0,0)|0;w=Lh(t|0,C|0,w|0,0)|0;t=m+52|0;rf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((fi(u,d,s)|0)<(s|0))f=0;else{Gi(u);j=B;k=A;continue}while(1){o=fi(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=oi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=ig(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=ig(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=eh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Tg(f|0,j|0,p|0,q|0)|0;k=C;f=Pd(j)|0;c[W>>2]=f;m=nb[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}hg(Z,c[K>>2]|0,p,0)|0;Se(Z,c[K>>2]|0,f,j);Gh(W)}Md(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;hg(P,c[t>>2]|0,da+64|0,0)|0;Se(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Gi(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);hg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Ve(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;rh(14390,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Pg(4,14446,$);Pg(4,14492,aa);S=0;T=0;break}else if((n|0)==36){Ve(Z,j,f,h);S=ba;S=eh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=eh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function zb(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;if(!a)return;d=a+-8|0;h=c[5925]|0;if(d>>>0<h>>>0)Ma();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Ma();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Ma();if((k|0)==(c[5926]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5923]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=23724+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Ma();if((c[b+12>>2]|0)!=(k|0))Ma()}if((d|0)==(b|0)){c[5921]=c[5921]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Ma();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Ma()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Ma();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Ma();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Ma()}while(0);if(f){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5922]=c[5922]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5925]|0;if(i>>>0<d>>>0)Ma();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ma();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Ma();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Ma();if(!(b&2)){if((m|0)==(c[5927]|0)){p=(c[5924]|0)+g|0;c[5924]=p;c[5927]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5926]|0))return;c[5926]=0;c[5923]=0;return}if((m|0)==(c[5926]|0)){p=(c[5923]|0)+g|0;c[5923]=p;c[5926]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();d=b+12|0;if((c[d>>2]|0)!=(m|0))Ma();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Ma()}while(0);if(f|0){a=c[m+28>>2]|0;b=23988+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5922]=c[5922]&~(1<<a);break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5925]|0;if(n>>>0<d>>>0)Ma();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=23724+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5925]|0)>>>0)Ma();if((c[b+12>>2]|0)!=(m|0))Ma()}if((d|0)==(b|0)){c[5921]=c[5921]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5925]|0)>>>0)Ma();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Ma()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5926]|0)){c[5923]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{o=a;p=b}}else{c[5921]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=23988+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5922]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5925]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Ma()}}else{c[5922]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[5929]|0)+-1|0;c[5929]=q;if(!q)a=24140;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[5929]=-1;return}function Ab(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}xb(f,f+2840|0);xb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}xb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)oc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Pb(f,9804,10956);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[20701+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Hb(f,g,q);h=f+2440|0;Hb(f,h,r);Pb(f,g,h)}while(0);xc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Bb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5925]|0;if(l>>>0<i>>>0)Ma();if((l|0)==(c[5926]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5923]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=23724+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Ma();if((c[a+12>>2]|0)!=(l|0))Ma()}if((b|0)==(a|0)){c[5921]=c[5921]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Ma();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Ma();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Ma();d=e+12|0;if((c[d>>2]|0)!=(l|0))Ma();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Ma()}while(0);if(f){d=c[l+28>>2]|0;a=23988+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5922]=c[5922]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5925]|0;if(j>>>0<b>>>0)Ma();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5925]|0;if(o>>>0<h>>>0)Ma();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5927]|0)){q=(c[5924]|0)+g|0;c[5924]=q;c[5927]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5926]|0))return;c[5926]=0;c[5923]=0;return}if((o|0)==(c[5926]|0)){q=(c[5923]|0)+g|0;c[5923]=q;c[5926]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Ma();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Ma();d=e+12|0;if((c[d>>2]|0)!=(o|0))Ma();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Ma()}while(0);if(f|0){d=c[o+28>>2]|0;a=23988+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5922]=c[5922]&~(1<<d);break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5925]|0;if(n>>>0<b>>>0)Ma();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=23724+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Ma();if((c[a+12>>2]|0)!=(o|0))Ma()}if((b|0)==(a|0)){c[5921]=c[5921]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Ma();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Ma()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5926]|0)){c[5923]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=23724+(d<<1<<2)|0;a=c[5921]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5925]|0)>>>0)Ma();else{p=d;q=a}}else{c[5921]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=23988+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5922]|0;a=1<<b;if(!(d&a)){c[5922]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5925]|0)>>>0)Ma();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5925]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Ma();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){Wb(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=gc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,_d(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[20445+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[19933+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,_d(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,_d(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,_d(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Db(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(ze(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Hc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(nh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0}while((vi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Wc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Wc(b)|0;if((d[23263+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Ff(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23263+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Ff(b,0);c[(nh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Wc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=ig(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=eh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23519+((e*23|0)>>>5&7)>>0]|0;j=a[23263+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Mg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ig(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23263+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Lh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=ig(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=eh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23263+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0}while((d[23263+i>>0]|0)>>>0<e>>>0);c[(nh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(nh()|0)>>2]=34;g=eh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(nh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Tg(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Fb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){Wb(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=gc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[20445+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[19933+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,_d(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,_d(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,_d(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Gb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ee(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Ue(r,15803)|0)){j=g;h=k;N=4;break}s=wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(vi(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Gd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Uh(Q,o,(m|0)==0?16225:m)|0;else{l=pg(o,f)|0;if(!l){l=pg(o,120)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Oh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Nh(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Ci(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Ci(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?16225:m;l=pg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=fh(Q,o)|0;l=Ug(m)|0;if(!n){Uh(Q,o,l)|0;break}else{Jg(n,l);break}}Uh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;rh(15814,z);break}case 34:{c[A>>2]=o;rh(15840,A);break}case 36:{c[K>>2]=o;rh(15879,K);break}case 38:{c[L>>2]=o;rh(15915,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;rh(15948,B);break}case 43:{c[C>>2]=o;rh(15915,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;rh(15990,D);break}case 48:{c[E>>2]=o;rh(16034,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;rh(16069,F);break}case 53:{c[G>>2]=o;rh(16109,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;rh(16145,H);break}case 57:{c[I>>2]=c[l>>2];rh(16186,I);break}case 65:{rh(16228,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Ib(d,e,f,h,j,k,l,m,n,o,p){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+96|0;S=V+40|0;R=V+32|0;T=V+16|0;Q=V;K=V+80|0;L=V+87|0;M=V+60|0;I=V+56|0;O=V+52|0;N=V+48|0;P=V+86|0;J=V+84|0;c[K>>2]=0;a[L>>0]=0;G=i;i=i+((1*(f*12|0)|0)+15&-16)|0;H=i;i=i+((1*(l<<2)|0)+15&-16)|0;q=0;while(1){if((q|0)>=(l|0))break;c[H+(q<<2)>>2]=0;q=q+1|0}B=Zg(0)|0;be(e);C=e+28|0;D=e+4|0;E=B+12|0;F=B+4|0;A=(o|0)==0;u=0;v=0;q=0;o=0;s=d;a:while(1){w=Ye(e,M,5)|0;if((w|0)>0){d=(Ue(c[M>>2]|0,c[s+4>>2]|0)|0)==0;if((u|0)<(f|0)&d){d=u;r=v}else{t=0;U=8}}else{d=0;t=(w|0)==0;U=8}if((U|0)==8){U=0;c[I>>2]=c[s+12>>2];c[O>>2]=c[G>>2];c[N>>2]=c[G+((u+-1|0)*12|0)+4>>2];if((o|0)>=(j|0)){U=9;break}y=$i(k)|0;r=h+(o*24|0)|0;c[r>>2]=y;c[r+4>>2]=((y|0)<0)<<31>>31;c[h+(o*24|0)+8>>2]=c[I>>2];c[h+(o*24|0)+12>>2]=c[O>>2];c[h+(o*24|0)+16>>2]=c[N>>2];c[E>>2]=0;a[c[F>>2]>>0]=0;a[P>>0]=1;b[J>>1]=u;Pe(B,I,4);Pe(B,O,4);Pe(B,N,4);Pe(B,K,4);Pe(B,K,4);Pe(B,P,1);Pe(B,L,1);Pe(B,J,2);r=0;while(1){if((r|0)>=(u|0))break;Pe(B,G+(r*12|0)|0,4);Pe(B,G+(r*12|0)+4|0,4);Pe(B,G+(r*12|0)+8|0,4);r=r+1|0}o=o+1|0;r=c[E>>2]|0;q=(r|0)>(q|0)?r:q;if(A)wf(k,c[F>>2]|0,r);else{x=Ai(r)|0;y=Oa()|0;r=i;i=i+((1*x|0)+15&-16)|0;wf(k,r,Je(c[F>>2]|0,c[E>>2]|0,r,x)|0);za(y|0)}b:do if(!t)if(d){t=1;d=0;r=v}else{s=c[s>>2]|0;if(!s){U=19;break a}d=c[M>>2]|0;r=c[s+4>>2]|0;if(Ue(d,r)|0){U=21;break a}if(!(Ue(d,r)|0))d=0;else{U=23;break a}while(1){if((d|0)>=(l|0)){t=1;d=0;r=0;break b}c[H+(d<<2)>>2]=0;d=d+1|0}}else{t=0;d=u;r=v}while(0);if(!t){U=43;break}}jf(e,4,w);x=ne(e,M,1)|0;y=ne(e,M,2)|0;z=+le(e,M,3);if(x>>>0>y>>>0){U=28;break}if(r){if((c[r>>2]|0)>>>0>x>>>0){U=31;break}if((c[r+4>>2]|0)>>>0>x>>>0){U=33;break}else w=0}else w=0;while(1){if((w|0)>=(l|0))break;v=H+(w<<2)|0;r=c[v>>2]|0;u=n+(w<<2)|0;if(x>>>0<r>>>0)t=m+(w<<2)|0;else{c[u>>2]=(c[u>>2]|0)+1;t=m+(w<<2)|0;r=(c[t>>2]|0)+x|0;c[v>>2]=r}while(1){if(y>>>0<=r>>>0)break;c[u>>2]=(c[u>>2]|0)+1;W=(c[t>>2]|0)+r|0;c[v>>2]=W;r=W}w=w+1|0}v=G+(d*12|0)|0;c[v>>2]=x;c[G+(d*12|0)+4>>2]=y;g[G+(d*12|0)+8>>2]=z;u=d+1|0}if((U|0)==9)Aa(12063,12088,112,12107);else if((U|0)==19)Aa(12121,12088,166,12107);else if((U|0)==21){V=c[C>>2]|0;W=c[D>>2]|0;c[Q>>2]=d;c[Q+4>>2]=r;c[Q+8>>2]=V;c[Q+12>>2]=W;rh(12135,Q)}else if((U|0)==23)Aa(12180,12088,170,12107);else if((U|0)==28){V=c[C>>2]|0;W=c[D>>2]|0;c[T>>2]=x;c[T+4>>2]=y;c[T+8>>2]=V;c[T+12>>2]=W;rh(12212,T)}else if((U|0)==31){W=c[D>>2]|0;c[R>>2]=c[C>>2];c[R+4>>2]=W;rh(12252,R)}else if((U|0)==33){W=c[D>>2]|0;c[S>>2]=c[C>>2];c[S+4>>2]=W;rh(12295,S)}else if((U|0)==43)if((o|0)==(j|0)){c[p>>2]=q;i=V;return}else Aa(12341,12088,219,12107)}function Jb(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=rg(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=lb[k&7](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=bf(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=ig(z|0,y|0,b|0,v|0)|0;p=a+p|0;pb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=eh(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=lb[k&7](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=eh(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=ig(q|0,C|0,b|0,v|0)|0;pb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=eh(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}gg(Q);c[H>>2]=kh(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Pg(2,13355,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}bf(I,48)|0;y=vh(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}gg(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;gg(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;wf(n,P,4);wf(n,M,4);wf(n,L,8);wf(n,g+12|0,4);wf(n,g+16|0,4);wf(n,g+20|0,4);wf(n,g+24|0,4);wf(n,O,8);wf(n,N,4);wf(n,K,4);if((g|0)!=(Q|0))jc(g,c[M>>2]|0,o,n);ph(R);i=S;return}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Db(d,16971)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){xe(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Wf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(nh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Uf(17477,f)|0))m=c[F>>2]|0;else{tf(F)|0;f=tf(F)|0;if(!f){O=20;break a}if((((Uf(18104,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Ue(f,18107)|0)if(Ue(f,18111)|0){if(I?(g=Ue(f,18115)|0,!((H|g|0)==0&G)):0)if(!(Ue(f,18119)|0)){f=o;break}else{O=30;break a}if(!(Ue(f,18206)|0)){O=34;break a}if(!(Ue(f,18115)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Ng(f+1|0)|0}if(!(Ze(m,18258)|0)){if(o|0)c[e>>2]=ih(f)|0;if(k)h=ih(f)|0}}while(!(I&(Ze(m,18267)|0)==0));if((Uf(18281,f)|0)!=0?(q=(wh(f,32)|0)+1|0,r=wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=cd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=cd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=$d(f)|0;c[z+4>>2]=d;$g(17915,z);f=0;break}case 10:{c[v>>2]=d;$g(17952,v);f=0;break}case 11:{c[x>>2]=d;$g(18008,x);f=0;break}case 15:{c[y>>2]=2e3;$g(18040,y);f=0;break}case 20:{c[u>>2]=d;$g(18078,u);f=0;break}case 30:{if(!g)$g(18123,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;$g(18166,E);f=0;break}case 34:{c[w>>2]=d;$g(18210,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;$g(18235,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ng(N,256,17081,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;$g(18288,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24308:18382;c[K+8>>2]=f?18107:18111;c[K+12>>2]=h|0?h:18398;$g(18408,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ng(N,256,17081,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;$g(18449,M);f=0}break}}i=P;return f|0}function Lb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=kb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Yh(h)|0;c[b+16>>2]=e;f=kd(c[f>>2]|0)|0;if(!f){s=0;break}s=Gd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Gi(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}ce(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)xf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Rf(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;ce(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Jf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Id(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;rh(13057,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Id(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Id(b,f);s=1}else s=1}while(0);i=y;return s|0}function Mb(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0.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.0;ea=i;i=i+112|0;X=ea+48|0;aa=ea+96|0;da=ea+100|0;V=ea;ba=ea+92|0;ca=ea+88|0;Z=ea+84|0;W=ea+64|0;c[aa>>2]=f;c[da>>2]=0;U=_(j,e)|0;Y=Jh(f*24|0)|0;c[ba>>2]=Y;c[ca>>2]=Y;Y=Y+(f*24|0)|0;G=$i(o)|0;F=p;c[F>>2]=G;c[F+4>>2]=((G|0)<0)<<31>>31;wf(o,aa,4);c[Z>>2]=kg(l,o,m)|0;be(d);F=W+4|0;G=W+8|0;H=W+12|0;I=r+8|0;J=r+16|0;K=r+24|0;L=r+32|0;M=V+4|0;N=V+8|0;O=V+12|0;P=V+24|0;Q=V+20|0;R=V+32|0;S=V+28|0;T=V+16|0;p=1;b=0;f=a;while(1){j=(b|0)!=0;if(j&(Ye(d,W,5)|0)==0)break;m=c[W>>2]|0;B=jh(c[F>>2]|0)|0;D=jh(c[G>>2]|0)|0;E=+Ef(c[H>>2]|0);A=D-B|0;if(!p){y=r;y=eh(c[y>>2]|0,c[y+4>>2]|0,A|0,0)|0;z=r;c[z>>2]=y;c[z+4>>2]=C;s=E;if(s<+h[I>>3])h[I>>3]=s;if(s>+h[J>>3])h[J>>3]=s;s=+(A>>>0);h[K>>3]=E*s+ +h[K>>3];s=s*(E*E)+ +h[L>>3]}else{z=r;c[z>>2]=A;c[z+4>>2]=0;s=E;h[J>>3]=s;h[I>>3]=s;s=+(A>>>0);h[K>>3]=E*s;s=s*(E*E)}h[L>>3]=s;if(!(Ue(m,c[f+4>>2]|0)|0))if(j){j=c[b+12>>2]|0;if(j>>>0<=B>>>0){yc(b,da,U,ca,Y,n,c[Z>>2]|0);$=15}}else $=15;else{f=c[f>>2]|0;yc(b,da,U,ca,Y,n,c[Z>>2]|0);$=15}if(($|0)==15){$=0;c[M>>2]=c[f+12>>2];c[N>>2]=B;j=B+e|0;c[O>>2]=j;b=c[f+16>>2]|0;j=j>>>0>b>>>0?b:j;c[O>>2]=j;g[P>>2]=E;g[Q>>2]=E;g[R>>2]=0.0;g[S>>2]=0.0;c[T>>2]=0;b=V}t=b+12|0;u=b+8|0;w=b+16|0;x=b+20|0;y=b+24|0;z=b+28|0;s=E*E;v=b+32|0;a=f+16|0;p=A;m=B;while(1){if(D>>>0<=j>>>0){j=p;break}B=c[u>>2]|0;c[X>>2]=m;c[X+4>>2]=D;c[X+8>>2]=B;c[X+12>>2]=j;Pg(3,12583,X);m=gh(m,D,c[u>>2]|0,c[t>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+m;if(+g[x>>2]>E)g[x>>2]=E;if(+g[y>>2]<E)g[y>>2]=E;fa=+(m>>>0);g[z>>2]=E*fa+ +g[z>>2];g[v>>2]=s*fa+ +g[v>>2];yc(b,da,U,ca,Y,n,c[Z>>2]|0);B=c[t>>2]|0;c[u>>2]=B;j=B+e|0;c[t>>2]=j;A=c[a>>2]|0;j=j>>>0>A>>>0?A:j;c[t>>2]=j;g[y>>2]=E;g[x>>2]=E;g[v>>2]=0.0;g[z>>2]=0.0;c[w>>2]=0;p=p-m|0;m=B}c[w>>2]=(c[w>>2]|0)+j;if(+g[x>>2]>E)g[x>>2]=E;if(+g[y>>2]<E)g[y>>2]=E;fa=+(j>>>0);g[z>>2]=E*fa+ +g[z>>2];g[v>>2]=s*fa+ +g[v>>2];p=0}yc(b,da,U,ca,Y,n,c[Z>>2]|0);ch(Z);b=$i(o)|0;j=((b|0)<0)<<31>>31;c[q>>2]=b;c[q+4>>2]=j;if((c[ca>>2]|0)==(Y|0)){Jb(c[ba>>2]|0,24,c[aa>>2]|0,0,k,l,0,1,4,b,j,o);Gh(ba);gg(da);i=ea;return c[da>>2]|0}else Aa(12639,12088,355,12661);return 0}function Nb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;H=i;i=i+480|0;w=H+352|0;t=H+344|0;v=H+304|0;s=H+296|0;G=H+264|0;F=H+224|0;J=H+216|0;B=H+460|0;g=H+208|0;I=H+200|0;r=H+456|0;E=H+192|0;m=H+184|0;j=H+416|0;k=H+376|0;n=H+176|0;l=H+168|0;o=H+368|0;x=H+88|0;y=H+8|0;D=H+364|0;u=H+468|0;q=H+466|0;p=H+464|0;z=H+360|0;A=H;Vi();L=sf(a,1)|0;c[B>>2]=L;f=ye(d)|0;c[J>>2]=c[f+24>>2];c[J+4>>2]=d;Pg(2,12367,J);c[J>>2]=0;h[g>>3]=0.0;d=I;c[d>>2]=0;c[d+4>>2]=0;c[r>>2]=0;f=Yb(L,f,0,J,g,I,0)|0;He(2,12384,F);L=kh(f)|0;d=c[J>>2]|0;K=+h[g>>3];J=c[I>>2]|0;I=c[I+4>>2]|0;c[G>>2]=L;c[G+4>>2]=a;c[G+8>>2]=d;h[G+16>>3]=K;d=G+24|0;c[d>>2]=J;c[d+4>>2]=I;Pg(2,12390,G);d=Zc(e,12446)|0;c[G>>2]=d;Fi(d);Ei(c[G>>2]|0);d=F;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));a=$i(c[G>>2]|0)|0;M=E;c[M>>2]=a;c[M+4>>2]=((a|0)<0)<<31>>31;Hg(c[G>>2]|0,F);M=$i(c[G>>2]|0)|0;a=m;c[a>>2]=M;c[a+4>>2]=((M|0)<0)<<31>>31;qd(f,c[2]|0,c[G>>2]|0);a=me(~~+h[g>>3],j,k)|0;g=$i(c[G>>2]|0)|0;M=n;c[M>>2]=g;c[M+4>>2]=((g|0)<0)<<31>>31;M=oe(f,c[3]|0)|0;g=l;c[g>>2]=M;c[g+4>>2]=((M|0)<0)<<31>>31;wf(c[G>>2]|0,l,8);g=l;g=ig(c[g>>2]|0,c[g+4>>2]|0,24,0)|0;g=Jh(g)|0;M=c[B>>2]|0;qi(M);c[o>>2]=0;Ib(f,M,c[3]|0,g,c[l>>2]|0,c[G>>2]|0,a,j,k,c[5886]|0,o);He(2,12449,s);M=$i(c[G>>2]|0)|0;d=((M|0)<0)<<31>>31;e=s;c[e>>2]=M;c[e+4>>2]=d;e=l;Jb(g,24,c[e>>2]|0,c[e+4>>2]|0,c[2]|0,1,0,1,4,M,d,c[G>>2]|0);He(2,12455,v);e=c[B>>2]|0;g=c[G>>2]|0;l=c[2]|0;I=c[3]|0;J=c[5886]|0;L=n;L=Tg(M|0,d|0,c[L>>2]|0,c[L+4>>2]|0)|0;a=mc(e,g,l,I,1,4,J,L,C,f,a,j,k,v,x,y,F)|0;if(c[5886]|0){M=c[3]<<5;L=c[o>>2]|0;c[r>>2]=L>>>0>M>>>0?L:M}Lf(c[G>>2]|0);c[D>>2]=-2003829722;b[u>>1]=4;b[q>>1]=a;b[p>>1]=0;c[z>>2]=0;M=A;c[M>>2]=0;c[M+4>>2]=0;wf(c[G>>2]|0,D,4);wf(c[G>>2]|0,u,2);wf(c[G>>2]|0,q,2);wf(c[G>>2]|0,m,8);wf(c[G>>2]|0,n,8);wf(c[G>>2]|0,s,8);wf(c[G>>2]|0,p,2);wf(c[G>>2]|0,p,2);wf(c[G>>2]|0,A,8);wf(c[G>>2]|0,E,8);wf(c[G>>2]|0,r,4);wf(c[G>>2]|0,A,8);if(($i(c[G>>2]|0)|0)!=64)Aa(12467,12088,462,12482);c[t>>2]=a;Pg(2,12499,t);d=0;while(1){if((d|0)>=(a|0))break;M=v+(d<<2)|0;L=c[M>>2]|0;c[w>>2]=d;c[w+4>>2]=L;Pg(3,12526,w);wf(c[G>>2]|0,M,4);wf(c[G>>2]|0,z,4);wf(c[G>>2]|0,x+(d<<3)|0,8);wf(c[G>>2]|0,y+(d<<3)|0,8);d=d+1|0}while(1){d=c[G>>2]|0;if((a|0)>=10)break;wf(d,z,4);wf(c[G>>2]|0,z,4);wf(c[G>>2]|0,A,8);wf(c[G>>2]|0,A,8);a=a+1|0}ri(d,c[E>>2]|0,0)|0;Hg(c[G>>2]|0,F);ri(c[G>>2]|0,0,2)|0;wf(c[G>>2]|0,D,4);td(B);Wh(G);i=H;return}function Ob(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5925]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Ma();f=c[k+4>>2]|0;if(!(f&1))Ma();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6041]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Bb(m,d);return a|0}if((k|0)==(c[5927]|0)){d=(c[5924]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5927]=l;c[5924]=m;return a|0}if((k|0)==(c[5926]|0)){e=(c[5923]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5923]=d;c[5926]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Ma();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(k|0))Ma();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Ma()}while(0);if(h|0){d=c[k+28>>2]|0;e=23988+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5922]=c[5922]&~(1<<d);break}}else{if(h>>>0<(c[5925]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5925]|0;if(j>>>0<f>>>0)Ma();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Ma();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=23724+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ma();if((c[e+12>>2]|0)!=(k|0))Ma()}if((f|0)==(e|0)){c[5921]=c[5921]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ma();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Ma()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Bb(l,m);return a|0}return 0}function Pb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[20445+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[284+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[636+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[19933+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[420+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[752+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Qb(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){Wb(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,_d(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,_d(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,_d(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Ab(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,_d(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Ag(0,14515,b)|0}b=d+112|0;if(c[b>>2]|0)Gf(b);b=d+128|0;if(c[b>>2]|0)Gf(b);Gi(c[d+4>>2]|0);Gi(c[d+8>>2]|0);Gh(d+12|0);Gi(c[d+40>>2]|0);Gi(c[d+44>>2]|0);Gi(c[d+48>>2]|0);Gi(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Gf(b);zh(d+80|0)}Gh(a);i=e;return}function Sb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Aa(19053,19073,448,19089);h=wa()|0;c[s>>2]=h;if((h|0)<0)Df(19102,l);if(h|0)if(!(lg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Df(19640,k)}r=yh()|0;c[s>>2]=r;if(lg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Df(19113,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=ag(m)|0;j=wa()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}zf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Cf(t);if(c[k>>2]|0)Cf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Df(19102,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){bd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;ta(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Df(19347,o)}bd(k,0,h,e);h=Vf(1,f,g)|0;if((h|0)<0)Df(19258,p);if((h|0)==(g|0)){og(1)|0;Na(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;rh(19293,q)}}else if((b|0)==28){og(0)|0;og(1)|0;Lg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=hb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;zf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Df(19420,u);else if((b|0)==35){c[v>>2]=h;rh(19435,v)}else if((b|0)==39){v=Be(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;rh(19465,w)}else if((b|0)==41)Aa(19520,19073,242,19544);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2306]|0;v=Be(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Ag(h,19563,x)|0;h=c[k>>2]|0}Na(h>>>8&255|0)}else if((b|0)==47)Aa(19610,19073,396,19630);else if((b|0)==49)Na(0)}}function Tb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Af(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Af(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=eh(m|0,l|0,-1,-1)|0;d=C;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;Tg(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Tg(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){Xc(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Xc(a,d,e,f,o);else ic(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}ic(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;ic(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;ic(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(we(a,b,d)|0){b=_g()|0;if((b|0)>=0){if((Ld(b,1)|0)<0){og(b)|0;b=-1;break}b:do if((Qe(b,d,16)|0)<0){n=nh()|0;d=c[n>>2]|0;if((d|0)!=115){w=$d(d)|0;c[e>>2]=d;c[e+4>>2]=w;$g(16902,e);og(b)|0;b=-1;break a}bb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=of(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}bb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=$d(d)|0;c[t>>2]=d;c[t+4>>2]=C;$g(16678,t);og(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;$g(16810,u);og(b)|0;e=23;break}c[r>>2]=4;do if((Ce(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=$d(d)|0;c[w>>2]=d;c[w+4>>2]=C;$g(16766,w);og(b)|0;break}}else{B=c[n>>2]|0;C=$d(B)|0;c[v>>2]=B;c[v+4>>2]=C;$g(16736,v);og(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Ld(b,0)|0)<0){og(b)|0;b=-1;break}if((We(b,120)|0)<0){og(b)|0;b=-1}}}else b=-1;else{$g(16558,x+24|0);b=-1}while(0);i=x;return b|0}function Wb(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;_d(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;_d(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=$b(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=dc(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;ve((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;ve((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function Xb(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,xf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){ve(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(Xb(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(nh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function Yb(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.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+80|0;F=K+56|0;E=K+32|0;H=K+24|0;G=K+16|0;D=K;J=K+64|0;z=(d|0)==0;if(z)A=3;else A=(If(d)|0)+1|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;c[J>>2]=0;be(a);w=(j|0)==0;x=a+28|0;y=a+4|0;o=0;n=0;j=0;m=0;p=0;q=-1;l=1073741823;r=0;a:while(1){u=p;while(1){if(w)p=Ye(a,B,A)|0;else p=Ne(a,9,B,A)|0;if(!p){I=26;break a}hf(a,A,p);s=c[B>>2]|0;v=ne(a,B,1)|0;t=ne(a,B,2)|0;if(!z)Fe(d,B);if((t|0)<(v|0)){I=12;break a}o=eh(o|0,n|0,1,0)|0;n=C;p=t-v|0;j=eh(p|0,((p|0)<0)<<31>>31|0,j|0,m|0)|0;m=C;if(r){p=Ue(c[r+4>>2]|0,s)|0;if(p)if((p|0)>0){I=16;break a}else I=17}else I=17;if((I|0)==17){I=0;p=Ee(b,s)|0;if(!p){I=18;break a}q=hj(c[p+8>>2]|0)|0;r=Vd(20)|0;c[r+4>>2]=ih(s)|0;c[r+12>>2]=u;c[r+16>>2]=q;c[r>>2]=c[J>>2];c[J>>2]=r;u=u+1|0;q=-1}p=c[r+16>>2]|0;if(t>>>0>p>>>0){I=21;break a}t=r+8|0;c[t>>2]=(c[t>>2]|0)+1;if((q|0)<=-1){q=v;continue}p=v-q|0;if((p|0)<(l|0)){q=v;l=p;p=u;break}else q=v}if((l|0)<0){I=25;break}}if((I|0)==12){J=c[x>>2]|0;K=c[y>>2]|0;c[D>>2]=t;c[D+4>>2]=v;c[D+8>>2]=J;c[D+12>>2]=K;rh(14659,D)}else if((I|0)==16){K=c[x>>2]|0;c[G>>2]=c[y>>2];c[G+4>>2]=K;rh(14700,G)}else if((I|0)==18){c[H>>2]=s;rh(14822,H)}else if((I|0)==21){e=c[r+4>>2]|0;J=c[x>>2]|0;K=c[y>>2]|0;c[E>>2]=t;c[E+4>>2]=e;c[E+8>>2]=p;c[E+12>>2]=J;c[E+16>>2]=K;rh(14863,E)}else if((I|0)==25){K=c[x>>2]|0;c[F>>2]=c[y>>2];c[F+4>>2]=K;rh(14921,F)}else if((I|0)==26){gg(J);if((o|0)==0&(n|0)==0)k=0.0;else k=(+(j>>>0)+4294967296.0*+(m>>>0))/(+(o>>>0)+4294967296.0*+(n>>>0));c[e>>2]=l;h[f>>3]=k;e=g;c[e>>2]=o;c[e+4>>2]=n;i=K;return c[J>>2]|0}return 0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Db(b,16962)|0))e=Oe(b,0,r)|0;else{if((Uf(17487,b)|0)==0?(Uf(17495,b)|0)==0:0){if(!(Uf(17504,b)|0)){c[g>>2]=b;rh(17848,g)}cc(b,o);if(Ue(o,16993)|0){c[f>>2]=b;rh(17511,f)}b=o+4112|0;g=dd(b,Dd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(lh(g,17558,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,ng(m,256,17565,j)|0,(lh(g,m,0,0)|0)==0):0){og(g)|0;e=-1;break}j=o+6176|0;s=(a[(Gd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?17577:17582;c[k+4>>2]=j;ng(m,256,17587,k)|0;ci(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=wh(j,40)|0;a[(wh(j,41)|0)>>0]=0;if((qe(s+1|0,17595,k,7)|0)!=6)rh(17597,h);f=(Dd(c[k+16>>2]|0)|0)<<8;f=Vb(b,(Dd(c[k+20>>2]|0)|0)+f|0)|0;th(l);if((f|0)<0){og(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((ed(f,1e6)|0)>0){b=26;break}if((ed(g,0)|0)>0?(rc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;$g(17633,n);og(g)|0;og(f)|0;e=-1;break}else if((b|0)==24){og(g)|0;og(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}gd(c[2335]|0)|0;gd(c[2276]|0)|0;gd(c[2306]|0)|0;b=Vd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;_d(b+20|0,o|0,10280)|0;f=b+4|0;if(Qg(f)|0){c[p>>2]=$d(c[(nh()|0)>>2]|0)|0;rh(17698,p)}b=Ua(b|0,0,3,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=$d(b)|0;c[q>>2]=b;c[q+4>>2]=s;rh(17802,q)}}}else{og(g)|0;e=-1}while(0)}break}e=Ph(b,17483,0)|0}while(0);i=r;return e|0}function _b(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Mg(d|0,m|0,52)|0;e=e&2047;j=Mg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ig(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ig(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ig(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ig(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ig(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ig(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ig(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ig(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Tg(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ig(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Tg(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ig(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=eh(d|0,f|0,0,-1048576)|0;d=C;e=Ig(e|0,0,52)|0;d=d|C;e=o|e}else{e=Mg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ac(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=3;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=kb[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=kb[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=kb[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=kb[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=kb[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Cc(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[224];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}mb[c[o>>2]&3](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function bc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=kh(b)|0;c[t>>2]=q;c[v>>2]=Jh(q<<2)|0;wf(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=Ai(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=$i(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}wf(g,r,Je(p,h-s|0,r,q)|0);u=u-o|0}x=$i(g)|0;u=((x|0)<0)<<31>>31;Jb(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,2,6,x,u,g);Gh(v);C=u;i=w;return x|0}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Gd(b)|0)>>>0>4095){c[e>>2]=b;rh(16943,e)}yi(f,b)|0;oh(f)|0;b=Db(f,16962)|0;if(!b){a[d>>0]=a[16966]|0;a[d+1>>0]=a[16967]|0;a[d+2>>0]=a[16968]|0;a[d+3>>0]=a[16969]|0;a[d+4>>0]=a[16970]|0}else{a[b>>0]=0;yg(f)|0;ff(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=wh(f,47)|0;if(g){xe(g,b,e,1);if(!((Ze(d,16966)|0)!=0?(Ze(d,16983)|0)!=0:0)){e=zd(g,19003,16989)|0;ff(d+6176|0,4096,e);Gi(e)}a[g>>0]=0;if(!(Ze(d,16993)|0)){g=g+1|0;Fd(g,d+6176|0,Gd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=wh(f,64)|0;if(!g){if(!((Ze(d,16966)|0)!=0?(Ze(d,16983)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Ze(d,16993)|0)){b=d+16|0;e=16997;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=17007;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=wh(f,58)|0;if(!b){e=d+16|0;ff(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;ff(e,2048,f);f=d+2064|0;ff(f,2048,b+1|0);b=f}md(e,e,Gd(e)|0);md(b,b,Gd(b)|0);f=g+1|0}b=wh(f,58)|0;do if(!b){if(!(Ze(d,16966)|0)){h=d+6160|0;a[h>>0]=a[17025]|0;a[h+1>>0]=a[17026]|0;a[h+2>>0]=a[17027]|0}if(!(Ze(d,16983)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Ze(d,16993)|0)){h=d+6160|0;a[h>>0]=a[17028]|0;a[h+1>>0]=a[17029]|0;a[h+2>>0]=a[17030]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){ff(d+6160|0,16,e);break}else{c[h>>2]=e;rh(17031,h)}}while(0);ff(d+4112|0,2048,f);i=j;return}function dc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[912+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[912+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function ec(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ah(na(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=na(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=na(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ah(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=na(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;na(221,l|0)|0}d=Ah(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=na(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=na(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;na(221,r|0)|0}d=Ah(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;La(6,p|0)|0}d=Ah(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ah(na(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ah(na(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function fc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Zg(512)|0;cc(b,s);h=Pa(17285)|0;p=(h|0)!=0;if(p){cc(h,q);_d(r|0,q|0,10280)|0;h=De(r,b)|0}else{_d(r|0,s|0,10280)|0;h=De(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ih(b)|0;j=ji(b,59)|0;if((j|0)!=0?(Uf(16971,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Cg(k,17296,l);Gi(b);c[m>>2]=f;Cg(k,17307,m);if((Ue(s,16966)|0)==0?(Ue(17025,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Ue(s,16983)|0)==0?(Ue(17060,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Cg(k,17335,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Cg(k,17324,n)}b=c[t>>2]|0;_d(r|0,s|0,10280)|0;ge(r,17349,b);if(p){_d(r|0,q|0,10280)|0;ge(r,17363,b);k=c[t>>2]|0}else k=b;di(k,17383);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Cg(k,17422,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Cg(k,17397,u);break}}while(0);if(g|0)di(c[t>>2]|0,g);v=c[t>>2]|0;di(v,17443);Le(h,c[v+4>>2]|0,c[v+12>>2]|0);th(t)}i=w;return h|0}function gc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function hc(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 ic(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(lb[d&7](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((lb[d&7](e,j)|0)>-1){g=f;e=m;q=19;break a}if((lb[d&7](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((lb[d&7](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){ud(b,p,e);Xc(a,b,d,g,h)}i=r;return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}qf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=$i(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=ig(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=eh(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Pg(2,13402,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Pg(2,13434,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Pg(2,13462,o);f=f+1|0}Pg(2,17148,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;tc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=$i(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=$i(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=13528;rh(13466,s)}else if((f|0)==14){Gc(b,a,0,d+-2|0,e);i=t;return}}function kc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=ig(f|0,b|0,10,0)|0;f=C;e=eh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=eh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Tg(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function lc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=eh(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;wf(o,z,1);wf(o,B,1);wf(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;ve(r|0,0,m|0)|0;mb[l&3](G,r);wf(o,r,m);wf(o,A,8);G=A;G=eh(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;Yg(o,0,x);p=p+1|0}k=t}if((d|0)==9)Aa(15708,15691,491,15735);else if((d|0)==13){i=E;return w|0}return 0}function mc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;A=B+24|0;y=B+16|0;x=B+8|0;w=B;z=B+28|0;if((m|0)<=0)Aa(15043,15059,304,15075);v=(h|0)==0;t=Ig(j|0,k|0,31)|0;t=vg(t|0,C|0,32)|0;u=C;j=0;while(1){if((j|0)>=(m|0)){t=5;break}k=c[o+(j<<2)>>2]|0;if(!(0>u>>>0|(0==(u|0)?(v?k<<5:k<<4&2147483632)>>>0>t>>>0:0))){t=8;break}j=j+1|0}if((t|0)==5){c[w>>2]=0;c[w+4>>2]=0;Pg(2,15094,w);t=9}else if((t|0)==8){j=c[n+(j<<2)>>2]|0;c[x>>2]=j;c[x+4>>2]=k;Pg(2,15094,x);if(!j)t=9}if((t|0)==9){k=c[o>>2]|0;j=c[n>>2]|0}v=rg(0)|0;c[z>>2]=v;qi(a);u=rb[f&1](l,g,a,j,k,4,d,e,h,v,b,q,r,s)|0;He(2,15141,y);c[p>>2]=j;t=j<<2;j=1;do{f=k;k=kh(u)|0;if((k|0)>=(f|0))break;f=$i(b)|0;y=q+(j<<3)|0;c[y>>2]=f;c[y+4>>2]=((f|0)<0)<<31>>31;y=Lc(u,d,e,h,b)|0;f=r+(j<<3)|0;c[f>>2]=y;c[f+4>>2]=C;c[p+(j<<2)>>2]=t;j=j+1|0;t=t<<2;u=Ac(u,t,v)|0}while((j|0)<10);ph(z);He(2,15222,A);i=B;return j|0}function nc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;wf(n,B,1);wf(n,D,1);wf(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=eh(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=ig(o|0,p|0,f|0,x|0)|0;p=d+p|0;ve(v|0,0,k|0)|0;mb[j&3](p,v);wf(n,v,k);wf(n,ob[l&3](p)|0,m);p=eh(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;Yg(n,0,y);r=eh(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=Tg(u|0,t|0,p|0,0)|0;q=C;p=eh(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)Aa(15772,15691,529,15788);else if((o|0)==11){i=E;return}}function oc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function pc(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[5908]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ah(gb(146,n|0)|0)|0}else{va(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ah(gb(146,m|0)|0)|0;ma(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 qc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Hc(23258,f<<24>>24,4)|0){e=sb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;na(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=na(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;na(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Sa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5909]|0))c[e+76>>2]=-1;Ya(23660);f=c[5914]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5914]=e;Ta(23660)}}else{c[(nh()|0)>>2]=22;e=0}i=o;return e|0}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Zg(4096)|0;while(1){if((ed(b,1e6)|0)<=0){j=3;break}g=Wf(b,m,4096)|0;if(g){Pe(c[o>>2]|0,m,g);if(!(Gg(c[(c[o>>2]|0)+4>>2]|0,17148)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Gd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Gd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;$g(17104,n);g=0}else if((j|0)==18){g=Dd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;$g(17150,p);g=0;break}if(!e)th(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function sc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;wf(l,n,4);wf(l,p,4);wf(l,r,4);wf(l,s,4);wf(l,o,8);wf(l,m,4);wf(l,m,4);f=$i(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=lc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=$i(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=15691;c[q+4>>2]=572;rh(15751,q)}else if((f|0)==8){nc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function tc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=kh(c[k>>2]|0)|0;wf(m,n,1);wf(m,o,1);wf(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;wf(m,k+12|0,4);wf(m,k+16|0,4);wf(m,k+20|0,4);wf(m,k+24|0,4);wf(m,q,8);j=q;j=eh(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;Yg(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=tc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function uc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23680:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9456+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(nh()|0)>>2]=84;f=-1}i=l;return f|0}function vc(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Va(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Wf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Tg(1,0,g|0,e|0)|0;b=eh(b|0,C|0,d|0,h|0)|0}r=(Vf(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)vf(17746,l);if((b|0)==-1)vf(17777,o);og(c[m>>2]|0)|0;og(c[a+12>>2]|0)|0;og(c[n>>2]|0)|0;i=q;return 0}function xc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function yc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=c[e>>2]|0;if(k>>>0>=f>>>0)Aa(15265,15059,682,15284);c[e>>2]=k+24;f=$i(c[i+12>>2]|0)|0;m=k;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=a+4|0;c[k+8>>2]=c[m>>2];c[k+12>>2]=c[a+8>>2];f=a+12|0;c[k+16>>2]=c[f>>2];Ad(i,a);e=c[b>>2]|0;if(((e|0)!=0?(c[e+4>>2]|0)==(c[m>>2]|0):0)?(l=c[f>>2]|0,((c[e+8>>2]|0)+d|0)>>>0>=l>>>0):0){c[e+12>>2]=l;f=e+16|0;c[f>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);j=+g[a+20>>2];f=e+20|0;if(j<+g[f>>2])g[f>>2]=j;j=+g[a+24>>2];f=e+24|0;if(j>+g[f>>2])g[f>>2]=j;m=e+28|0;g[m>>2]=+g[a+28>>2]+ +g[m>>2];m=e+32|0;g[m>>2]=+g[a+32>>2]+ +g[m>>2]}else{k=bf(h,48)|0;i=k;f=a;e=i+48|0;do{c[i>>2]=c[f>>2];i=i+4|0;f=f+4|0}while((i|0)<(e|0));c[k>>2]=c[b>>2];c[b>>2]=k}return}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){td(b);break}if((og(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];rh(19798,k)}}else{if(!(c[a+20>>2]&2)){if(jg(d)|0){c[f>>2]=c[a+12>>2];rh(19767,f)}}else{gd(d)|0;if(jg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];rh(19737,e)}}if((he(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];rh(19798,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((hb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Df(19420,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;rh(19828,l)}if(b|0)Aa(19869,19073,435,19887);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;rh(19903,m)}i=n;return d>>>8&255|0}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;c[n>>2]=0;h=0;j=0;while(1){if(!a){a=15;break}if(((j|0)!=0?(c[j+4>>2]|0)==(c[a+4>>2]|0):0)?(m=c[a+12>>2]|0,m>>>0<=((c[j+8>>2]|0)+b|0)>>>0):0){e=j+12|0;if((c[e>>2]|0)>>>0>=m>>>0){a=8;break}c[e>>2]=m;e=j+16|0;c[e>>2]=(c[e>>2]|0)+(c[a+16>>2]|0);e=j+20|0;f=+g[a+20>>2];if(+g[e>>2]>f)g[e>>2]=f;e=j+24|0;f=+g[a+24>>2];if(+g[e>>2]<f)g[e>>2]=f;e=j+28|0;g[e>>2]=+g[a+28>>2]+ +g[e>>2];e=j+32|0;g[e>>2]=+g[a+32>>2]+ +g[e>>2];e=j}else{l=bf(d,48)|0;e=l;j=a;k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[l>>2]=h;c[n>>2]=l;h=l;e=l}j=e;a=c[a>>2]|0}if((a|0)==8)Aa(15176,15059,729,15199);else if((a|0)==15){gg(n);i=o;return c[n>>2]|0}return 0}function Bc(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+120|0;r=s+80|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((vb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=jj(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=vb(b,d,o,q,r)|0;if(h){kb[c[b+36>>2]&7](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=vb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)ij(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Cc(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=dc(0,0,0)|0;else d=$b(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Pf(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;ve(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[144+(h*12|0)+2>>1];c[a+140>>2]=e[144+(h*12|0)>>1];c[a+144>>2]=e[144+(h*12|0)+4>>1];c[a+124>>2]=e[144+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Dc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ih(24308)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Vd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;ng(h,4,12708,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Zg(512)|0;c[h>>2]=f;di(f,b);di(f,16962);d=b+16|0;if(a[d>>0]|0){d=Dc(d)|0;di(f,d);Gi(d);d=b+2064|0;if(a[d>>0]|0){di(f,17056);d=Dc(d)|0;di(f,d);Gi(d)}di(f,17058)}di(f,b+4112|0);if(!((Ue(b,16993)|0)==0?!(Ue(17028,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Ue(b,16966)|0)==0?(Ue(17025,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Ue(b,16983)|0)==0?(Ue(17060,d)|0)==0:0)break;di(f,17056);di(f,d)}while(0);di(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Cg(f,17064,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Cg(f,17081,k)}k=xg(h)|0;i=l;return k|0}function Fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Kb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}og(a)|0;if((h|0)>0)Gi(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Uf(17487,f)|0)==0?(Uf(17495,f)|0)==0:0){g=11;break}f=ae(g,f)|0;c[j>>2]=f;a=Zb(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;$g(18497,k);g=14}else if((g|0)==11){c[l>>2]=f;$g(18551,l);g=14}else if((g|0)==13){c[m>>2]=f;$g(18581,m);g=14}if((g|0)==14)if((b|0)>0){Gi(f);b=0}else b=0;i=n;return b|0}function Gc(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=kh(c[g>>2]|0)|0;wf(j,k,1);wf(j,l,1);wf(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;wf(j,g+12|0,4);wf(j,g+16|0,4);wf(j,g+20|0,4);wf(j,g+24|0,4);f=g+32|0;wf(j,f,8);h=g+40|0;f=Tg(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;wf(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;Yg(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Gc(d,g,k,h,j)}}while(0);i=o;return}function Hc(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|0)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?b:0)|0}function Ic(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ah(qa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(nh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ah(qa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;ec(e,2,j)|0}if(b&2048){c[h>>2]=ec(e,3,k)|0|2048;ec(e,4,h)|0}}}}while(0);i=l;return e|0}function Jc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5908]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ah(fb(145,h|0)|0)|0}else{va(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ah(fb(145,g|0)|0)|0;ma(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Lc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=kh(a)|0;c[j>>2]=h;c[k>>2]=Jh(h<<2)|0;wf(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=$i(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;wf(f,e+4|0,4);wf(f,e+8|0,4);wf(f,e+12|0,4);wf(f,e+16|0,4);Wg(f,+g[e+20>>2]);Wg(f,+g[e+24>>2]);Wg(f,+g[e+28>>2]);Wg(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=$i(f)|0;e=((h|0)<0)<<31>>31;Jb(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,2,6,h,e,f);Gh(k)}else{h=bc(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=Zb(a,0)|0;if((d|0)<0){c[e>>2]=a;$g(18581,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Uf(17487,a)|0)==0?(Uf(17495,a)|0)==0:0){e=0;g=7}else if(!(Fc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=ih(a)|0;md(a,b,Gd(a)|0);do if(!(Gg(b,18598)|0)){if(Gg(b,18602)|0){Gi(b);g=12;break}f=(Gg(b,18605)|0)==0;Gi(b);if(f)b=Xf(a,1,d)|0;else g=12}else{Gi(b);g=12}while(0);if((g|0)==12)b=qg(a,1,d)|0;if(e)Gi(e)}}i=h;return b|0}function Nc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Aa(16375,16427,388,16439);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Jh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)gg(b);d=d+1|0}Gi(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Oc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;mb[c[b>>2]&3](c[e>>2]|0,d);d=b;b=c[f>>2]|0}mb[c[d>>2]&3](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Vd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Zg(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){di(e,18999);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){di(e,19003);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}di(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=xg(j)|0;if(!(c[a>>2]|0))rh(19005,k);if(!(b&8))e=0;else{Jg(l,pe(136,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Jg(l,pe(d,l)|0);e=e+1|0}i=m;return l|0}function Qc(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(!(Re(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=kb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((kb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);_d(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 Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Sc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Gd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Tc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Vd(16)|0;else l=bf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=ei(d,e)|0;else{k=bf(h,e+1|0)|0;c[l+4>>2]=k;_d(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Nc(b,hh(m)|0);return l|0}function Uc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=oj()|0;dj(23548)|0;if((c[5894]|0)!=0&(a|0)==(c[5895]|0)){Vf(2,12713,61)|0;Na(1)}bj(23548)|0;dj(23584)|0;dj(23548)|0;c[5895]=a;c[5894]=1;bj(23548)|0;if(!(c[5903]|0))c[5903]=ee(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;ng(d,64,17081,b)|0;a=Ee(c[5903]|0,d)|0;if(!a){a=Vd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Uh(c[5903]|0,d,a)|0}dj(23548)|0;c[5894]=0;bj(23548)|0;bj(23584)|0;i=e;return c[a+8>>2]|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Wc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=yf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Xc(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((lb[d&7](k,j)|0)>-1?(lb[d&7](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((lb[d&7](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);ud(b,o,e);i=p;return}function Yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9660;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(nh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Bc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Ue(b,13940)|0){if(!(Ue(b,13946)|0)){f=c[2276]|0;break}e=Nd(b,d)|0;if(!e){a:do if(!d)e=24308;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=13974;break a}case 119:{e=13964;break a}default:{e=e<<24>>24==97?13953:24308;break a}}}while(0);d=$d(c[(nh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;rh(13983,g)}else f=e}else f=c[2335]|0;while(0);i=h;return f|0}function _c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ie(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=ab(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Si(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;_i(f);break}else{b=Ca(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;$g(13633,f);b=0;break}}else{Te(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function $c(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Vd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[18610+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[18610+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[18610+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[18610+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function ad(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18794+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18794+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Da(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Df(19146,k);l=yh()|0;if(lg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Df(19169,f)}if(b|0?(Kf(b,0)|0)<0:0)Df(19196,g);if((d|0)!=1?(Kf(d,1)|0)<0:0)Df(19216,h);if((e|0)!=2?(Kf(e,2)|0)<0:0)Df(19237,j);Lg();i=k;return}function cd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=ig(c|0,d|0,10,0)|0;b=b+1|0;c=Tg(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Tg(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function dd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=Vb(a,b)|0;if((a|0)<0)a=-1;else{if((ed(a,1e6)|0)>0)lh(a,24308,0,0)|0;c[g>>2]=0;c[h>>2]=d;ng(f,256,17193,h)|0;do if(lh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,ng(f,256,17203,j)|0,(lh(a,f,0,0)|0)==0):0){og(a)|0;a=-1;break}if(!(lh(a,17213,0,0)|0)){og(a)|0;a=-1}}else{og(a)|0;a=-1}while(0)}i=k;return a|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=of(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(nh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=$d(a)|0;$g(17086,m)}i=n;return a|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Oe(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Vd(5)|0;c[g>>2]=f;if((Wf(e,f,4)|0)<4)Gh(g);else a[f+4>>0]=0;og(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Qd(e)|0,Gh(h),(g|0)!=0):0){h=$f(te(b)|0,33,b,0)|0;e=Xf(b,d,Qi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function gd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Od(a)|0;break}d=(jj(a)|0)==0;b=Od(a)|0;if(!d)ij(a)}else{if(!(c[2305]|0))b=0;else b=gd(c[2305]|0)|0;Ya(23660);a=c[5914]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=jj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Od(a)|0|b;if(d|0)ij(a);a=c[a+56>>2]|0}while((a|0)!=0);Ta(23660)}while(0);return b|0}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Bf(e,0)|0;c[n>>2]=g;Sf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Bf(d,e)|0;else if(!f){e=Oe(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Df(19706,k)}else j=e}else j=0;c[m>>2]=j;e=$e(a,b,j,g)|0;Cf(m);if(!l)Cf(n);i=o;return e|0}function id(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[(nh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=yh()|0;c[g>>2]=f;ng(a,256,18722,g)|0;d=Ke(a,1)|0;c[g>>2]=d;if(!d){j=c[2306]|0;c[b>>2]=a;Ag(j,18759,b)|0;a=j}else{while(1){if(!(Of(d,e)|0))break;a=c[e>>2]|0;if(Db(a,18738)|0){j=5;break}}if((j|0)==5){j=c[2306]|0;c[h>>2]=f;c[h+4>>2]=a;Ag(j,18745,h)|0}td(g);a=c[2306]|0}gd(a)|0;i=k;return}function kd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Pd(k)|0;_d(j|0,d|0,e|0)|0;Gi(c);d=j;e=k;c=j}k=yb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ih(d)|0;Gi(c);c=l}i=h;return c|0}function ld(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function md(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Eg(f,12704,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function nd(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;ve(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){Qc(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;Qc(h,f,a)|0}while(0);i=j;return}function od(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(!(Re(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((kb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function pd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Dg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Yc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Dg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function qd(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;h=kh(a)|0;if((h|0)>0){f=Jh(h<<4)|0;g=0;e=0;while(1){if((g|0)==(h|0))break;j=c[a+4>>2]|0;i=Gd(j)|0;c[f+(g<<4)+4>>2]=j;c[f+(g<<4)+8>>2]=c[a+12>>2];c[f+(g<<4)+12>>2]=c[a+16>>2];g=g+1|0;e=(i|0)>(e|0)?i:e;a=c[a>>2]|0}Ub(f,h,16,5)}else{f=0;e=0}sc(f,16,h,((h|0)<0)<<31>>31,(h|0)>(b|0)?b:h,2,e,2,8,d);Gi(f);return}function rd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;f=c[b+92>>2]|0;if(f|0)mb[f&3](b,12971);if(c[b+56>>2]|0){c[g>>2]=c[b+4>>2];Df(12984,g)}a[b+48>>0]=0;f=c[b+72>>2]|0;if(!f){c[b+20>>2]=0;c[b+36>>2]=0;c[b+32>>2]=0;e=kf(c[b+8>>2]|0,d,e)|0;c[b+16>>2]=e;if((e|0)==-1){c[h>>2]=c[b+4>>2];Df(13028,h)}}else mf(f,d,((d|0)<0)<<31>>31);i=j;return}function sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(jj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=od(d,b)|0;ij(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=od(d,b)|0}while(0);return e|0}function td(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(uh(c[2335]|0)|0):0){og(c[d>>2]|0)|0;Gi(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Rb(d)}else ah(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)jb[d&3](f);Gi(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Jd(g);Gh(b)}return}function ud(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;_d(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;_d(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function vd(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=Tg(h^a|0,g^b|0,h|0,g|0)|0;b=C;Tb(a,b,Tg(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Tg(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function wd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Wf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Df(14043,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;rh(14068,g)}else if((d|0)==8){i=h;return}}function xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(vi(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(vi(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Gd(b)|0;h=Gd(c)|0;d=0;e=Db(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Db(e+g|0,b)|0}f=Gd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Vd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Db(a,b)|0;d=f;while(1){if(!a)break;yi(d,e)|0;j=a+g|0;i=d+(a-e)|0;yi(i,c)|0;e=j;a=Db(j,b)|0;d=i+h|0}yi(d,e)|0;return f|0}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;c[f+(e<<5)>>2]=c[b+4>>2];c[f+(e<<5)+4>>2]=c[b+8>>2];c[f+(e<<5)+8>>2]=c[b+12>>2];c[f+(e<<5)+12>>2]=c[b+16>>2];c[f+(e<<5)+16>>2]=c[b+20>>2];c[f+(e<<5)+20>>2]=c[b+24>>2];c[f+(e<<5)+24>>2]=c[b+28>>2];c[f+(e<<5)+28>>2]=c[b+32>>2];b=e+1|0;c[d>>2]=b;if((b|0)>=(c[a+8>>2]|0))Zd(a);return}function Bd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Bh(f,-1,19927,56)|0;if(a|0){f=a;i=g;return f|0}a=tb(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Oc(f)|0;i=g;return f|0}else{Oc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Cd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ig(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Dd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(kb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((kb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Fd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Eg(f,12704,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Gd(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 Hd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Mg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Hd(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 Id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Ee(c[e>>2]|0,d)|0)){Uh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Ag(g,13053,h)|0}}}while(0);i=j;return}function Jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;ti(d);d=g}e=e+1|0}}else{ph(b);b=d+8|0}while(0);Gi(c[b>>2]|0);Gh(a)}return}function Kd(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[29]|0;if(!((b|0)!=0&d>>>0>b>>>0)){h=e;c[h>>2]=b;c[h+4>>2]=0;h=e+8|0;c[h>>2]=d;c[h+4>>2]=0;rh(15441,e)}d=Bi(a,b)|0;if(!d){h=c[(nh()|0)>>2]|0;g=f;c[g>>2]=b;c[g+4>>2]=0;c[f+8>>2]=h;rh(15505,f)}else{i=g;return d|0}return 0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=ec(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((ec(a,4,f)|0)<0){c[g>>2]=$d(c[(nh()|0)>>2]|0)|0;$g(16647,g);d=-1}else d=0}else{c[e>>2]=$d(c[(nh()|0)>>2]|0)|0;$g(16616,e);d=-1}i=h;return d|0}function Md(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18802+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18810+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18810+f>>0]}while(0);return}function Nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Hc(23258,a[d>>0]|0,4)|0){h=gf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ah(_a(5,e|0)|0)|0;if((e|0)>=0){b=qc(e,d)|0;if(!b){c[f>>2]=e;La(6,f|0)|0;b=0}}else b=0}else{c[(nh()|0)>>2]=22;b=0}i=g;return b|0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(kb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)kb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;b=c[29]|0;if(!((a|0)!=0&b>>>0>a>>>0)){g=d;c[g>>2]=a;c[g+4>>2]=0;g=d+8|0;c[g>>2]=b;c[g+4>>2]=0;rh(15317,d)}b=Yi(a)|0;if(!b){g=c[(nh()|0)>>2]|0;f=e;c[f>>2]=a;c[f+4>>2]=0;c[e+8>>2]=g;rh(15375,e)}else{i=f;return b|0}return 0}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Uf(12833,a)|0))if(!(Uf(12836,a)|0))if(!(Uf(12840,a)|0))if(!(Uf(12843,a)|0))a=0;else{a=12848;e=5}else{a=12852;e=5}else{a=12856;e=5}else{a=12858;e=5}if((e|0)==5){c[d>>2]=a;ng(b,20,12861,d)|0;a=ih(b)|0}i=f;return a|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;bh(e,b,16);a=se(12548,c[14]|0)|0;c[14]=a;Wi(_(a,1e9)|0);c[2]=se(12556,c[2]|0)|0;c[3]=se(12566,c[3]|0)|0;c[5886]=(Mi(12579)|0)==0&1;if((c[e>>2]|0)!=4)Fg();Nb(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);if((kj()|0)>1)jd();i=d;return 0}function Sd(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=Tg(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Tg((Tb(h,g,Tg(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Ff(h,0);e=+ub(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Ud(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=Zf(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Lh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Vd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;rh(15577,b)}b=Yi(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(15630,d)}else{ve(b|0,0,a|0)|0;i=e;return b|0}return 0}function Wd(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)kb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=13844;break}case 2:{a=13823;break}case -1:{a=13812;break}case -2:{a=13796;break}case -3:{a=13796;break}case -4:{a=13781;break}case -5:{a=13766;break}case -6:{a=13747;break}case 0:{a=0;break}default:{c[b>>2]=a;ng(24180,128,13728,b)|0;a=24180}}i=d;return a|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=sb(b)|0;return a|0}if(b>>>0>4294967231){c[(nh()|0)>>2]=12;a=0;return a|0}d=Ob(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=sb(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;_d(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;zb(a);a=d;return a|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;d=a+4|0;b=c[d>>2]|0;if(b|0){b=b<<5;if(!(c[a+16>>2]|0))wf(c[a+12>>2]|0,c[a>>2]|0,b);else{h=Ai(b)|0;f=Oa()|0;g=i;i=i+((1*h|0)+15&-16)|0;b=Je(c[a>>2]|0,b,g,h)|0;wf(c[a+12>>2]|0,g,b);za(f|0)}c[d>>2]=0}i=e;return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ha(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 $d(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21326+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21414;e=5;break}}if((e|0)==2)if(!c)b=21414;else{b=21414;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 ae(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;cc(b,g);cc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){ff(e,2048,d);ff(f+2064|0,2048,g+2064|0)}g=Ec(f)|0;i=h;return g|0}function be(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Of(b,d)|0))break;if((Uf(13291,c[d>>2]|0)|0)==0?(Uf(13299,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Pg(2,13342,f)}if((g|0)==5){c[e>>2]=c[d>>2];Pg(2,13305,e);a[b+48>>0]=1}i=h;return}function ce(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function de(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;rh(13543,k)}else{c[j>>2]=e;Ih(d,j)}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Aa(16375,16427,357,16450);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=rg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Jh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function fe(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Ff(j,0);e=Eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ge(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;ng(h,256,17264,j)|0;j=$c(h,Gd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Cg(e,17270,k);Gh(g)}i=l;return}function he(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ya(23660);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5914]|0)==(a|0))c[5914]=b;Ta(23660)}b=gd(a)|0;b=ob[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)zb(d);if(!e)zb(a);return b|0}function ie(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=kf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=14245;else e=(d|0)==2?14204:14213;else e=14236;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Df(14254,g);return 0}function je(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2276]|0;if((c[f+76>>2]|0)>-1)g=jj(f)|0;else g=0;do if((ni(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=(od(f,10)|0)<0}while(0);if(g|0)ij(f);return d<<31>>31|0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Gi(e);f=f+1|0}Gi(b);Gi(i);i=h}Gh(g+12|0);Gh(g+28|0);Gh(a)}return}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Ci(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;rh(13243,g);return +(0.0)}function me(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+16|0;f=h;e=(a|0)<10?10:a;a=0;while(1){if((a|0)>=10){a=10;break}c[d+(a<<2)>>2]=0;c[b+(a<<2)>>2]=e;if((e|0)>536870911){g=4;break}e=e<<2;a=a+1|0}if((g|0)==4){a=a+1|0;c[f>>2]=a;Pg(2,15008,f)}i=h;return a|0}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;rh(13195,f)}j=Dd(d)|0;i=g;return j|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;e=b+-1|0;d=0;while(1){if(!a)break;j=c[a+8>>2]|0;h=((e+j|0)>>>0)/(b>>>0)|0;c[f>>2]=c[a+4>>2];c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=b;Pg(2,15241,f);d=h+d|0;a=c[a>>2]|0}i=g;return d|0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Vd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ih(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Kc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Rc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function re(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2276]|0);if((b|0)==(c[2335]|0)|d)if(d){gd(b)|0;b=1}else b=1;else if(!(he(b)|0))b=1;else{vf(14299,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=mg(b)|0;do if((f|0)!=0?(Ue(f,16225)|0)!=0:0){d=Oh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;rh(15948,h)}else e=d;while(0);i=j;return e|0}function te(a){a=a|0;var b=0;b=ih(a)|0;if(!(((Uf(17487,a)|0)==0?(Uf(17495,a)|0)==0:0)?!(Uf(17504,a)|0):0))md(a,b,Gd(a)|0);if(!(Gg(b,18598)|0))if(!(Gg(b,18602)|0))if(!(Gg(b,18605)|0)){a=(Gg(b,12873)|0)==0;a=a?0:60}else a=96;else a=84;else a=72;Gi(b);return a|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Jh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;rh(16346,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function ve(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 we(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=xi(e&65535)|0;if(d){h=Ti(_c(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=ji(b,59)|0;if((g|0?Uf(16971,g)|0:0)?(i=(wh(g,61)|0)+1|0,h=wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=cd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=cd(b)|0;c[e>>2]=f}}return}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ee(0,1)|0;b=qh(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(eg(b,f,2)|0))break;b=c[f>>2]|0;$h(d,b,jh(c[a>>2]|0)|0)|0;b=c[e>>2]|0}td(e);i=g;return d|0}function ze(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 Ae(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ah(qa(102,h|0)|0)|0;i=g;return e|0}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Zg(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){di(e,19003);b=c[d>>2]|0}di(e,b);f=f+1|0}g=xg(g)|0;i=h;return g|0}function Ce(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ah(qa(102,h|0)|0)|0;i=g;return e|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Ue(a,16966)|0)if(!(Ue(a,16983)|0)){d=Xg(a+4112|0,Dd(a+6160|0)|0)|0;break}else{c[e>>2]=b;rh(17222,e)}else d=Vb(a+4112|0,Dd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Ue(c[e+4>>2]|0,d)|0)!=0);return e|0}function Fe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;h=a+4|0;i=a+8|0;f=e[a>>1]|0;g=0;while(1){if((g|0)>=(f|0))break;a=Gd(c[b+((e[(c[h>>2]|0)+(g<<1)>>1]|0)<<2)>>2]|0)|0;d=(c[i>>2]|0)+(g<<2)|0;if((a|0)>(c[d>>2]|0))c[d>>2]=a;g=g+1|0}return}function Ge(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((Ah(cb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function He(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+32|0;f=g;e=g+8|0;if(!b)Aa(13673,13687,55,13702);if((c[28]|0)<0)c[28]=Hf()|0;h=Hf()|0;c[e>>2]=d;dg(a,b,e);c[f>>2]=h-(c[28]|0);Pg(a,13714,f);c[28]=h;i=g;return}function Ie(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=Bd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=Xd(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;rh(13860,g)}return 0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Ue(a,13940)|0){if(te(a)|0){c=fd(a,b)|0;break}c=Oe(a,0,c)|0;if((c|0)==-1)c=0;else c=Xf(a,b,c)|0}else c=ki(b)|0;while(0);i=d;return c|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Vf(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Df(14110,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;rh(14136,e)}}function Me(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;return rb[a&1](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)|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;h=k;while(1){if(!(Lb(b,h,j)|0)){g=0;break}g=c[h>>2]|0;if((a[g>>0]|0)==35)continue;g=xd(g,d,e,f)|0;if(g|0)break}i=k;return g|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ah(_a(5,f|0)|0)|0;i=e;return d|0}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Dg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;_d(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ah(qa(102,f|0)|0)|0;i=e;return d|0}function Re(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 Se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=eh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Le(b,d,e);return}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((Xb(2,a,d)|0)<0){b=$d(c[(nh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;$g(13592,e);a=0}else{c[b>>2]=Si(c[d>>2]|0)|0;a=1}i=f;return a|0}function Ue(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 Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=eh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;wd(b,d,e);return}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Ae(a,1,20,d,8)|0)>=0)if((Ae(a,1,21,d,8)|0)<0){$g(16511,e);a=-1}else a=0;else{$g(16461,f);a=-1}i=f;return a|0}
-function Xe(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,Sa(54,f|0)|0):0)a[b+75>>0]=-1;f=pc(b,d,e)|0;i=g;return f|0}function Ye(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Lb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=yd(f,d,e)|0;if(f|0)break}i=j;return f|0}function Ze(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=hi(a[e>>0]|0)|0;c=c<<24>>24;b=(hi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function _e(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 $e(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;Sf(b);a=Pc(a,b)|0;if(!(b&1)){b=ag(a+16|0)|0;c[f>>2]=b;Sb(a,b,d,e,0,0);Cf(f)}else Nf(a,d,e,0,0);i=g;return a|0}function af(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=wb(e,b,d)|0;i=g;return h|0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=ue(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function cf(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=kb[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function df(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Yc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;rh(14313,g)}return 0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Hc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;_d(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Gd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;rh(13894,f)}else{yi(a,d)|0;i=g;return}}function gf(b){b=b|0;var c=0,d=0,e=0;d=(wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wh(b,120)|0)==0;d=e?d:d|128;b=(wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((d|0)<(b|0)){g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(13146,e)}else{i=f;return}}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(13106,e)}}function kf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ah(cb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function lf(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=(jj(e)|0)==0;a=Qc(a,f,e)|0;if(!g)ij(e)}else a=Qc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=eh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(14364)hg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function nf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2276]|0;else{je(12775)|0;je(12800)|0;d=c[2276]|0;Bc(d,a,b)|0;sd(10,d)|0;gd(d)|0}gd(d)|0;d=c[2306]|0;Bc(d,a,b)|0;sd(10,d)|0;gd(d)|0}return}function of(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ah(db(142,h|0)|0)|0;i=g;return d|0}function pf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)qf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function rf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Pd(h)|0;a=a+136|0;hg(a,b,d+64|0,0)|0;Ve(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function sf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ke(a,b)|0;if(!b){e=$d(c[(nh()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;rh(12949,d)}else{i=e;return b|0}return 0}function tf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Ng(e)|0,(a[d>>0]|0)!=0):0){e=Mf(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function uf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=$d(c[(nh()|0)>>2]|0)|0;c[g+4>>2]=a;zg(f,12827,g)|0;dh(f,e);i=d;return}function wf(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?(lf(b,d,1,a)|0)!=1:0){a=$d(jg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;rh(14013,e)}i=f;return}function xf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _d(b,c,d)|0;return b|0}function yf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Wd(a)|0)!=0:0)b=-1;else if((kb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;rh(19363,e)}}function Af(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 Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Oe(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Df(19674,d)}else{i=e;return b|0}return 0}function Cf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((og(b)|0)<0){c[d>>2]=b;Df(19398,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=$d(c[(nh()|0)>>2]|0)|0;c[f+4>>2]=a;zg(e,12827,f)|0;Ih(e,d)}function Ef(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+Ci(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;rh(13574,e);return +(0.0)}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Gf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((og(b)|0)<0)Df(14286,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Hf(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;d=e;bb(d|0,0)|0;a=c[5905]|0;b=c[d>>2]|0;if(!a){c[5905]=b;a=b}i=e;return ((b-a|0)*1e3|0)+((c[d+4>>2]|0)/1e3|0)|0}function If(a){a=a|0;var b=0,d=0,f=0,g=0;f=a+4|0;b=e[a>>1]|0;d=0;a=0;while(1){if((d|0)==(b|0))break;g=e[(c[f>>2]|0)+(d<<1)>>1]|0;d=d+1|0;a=(g|0)>(a|0)?g:a}return a|0}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Th(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Aa(12893,12915,352,12931)}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=ra(63,e|0)|0}while((d|0)==-16);e=Ah(d)|0;i=f;return e|0}function Lf(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(jj(a)|0)==0;Ed(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)ij(a)}else{Ed(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Mf(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(vi(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Nf(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;g=i;i=i+16|0;h=g;c[a+16>>2]=ag(h)|0;Sb(a,b,c[h>>2]|0,d,e,f);Cf(h);i=g;return}function Of(b,d){b=b|0;d=d|0;a:while(1){if(!(Lb(b,d,0)|0)){b=0;break}switch(a[(Ng(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Pf(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=264;c[a+2852>>2]=a+2440;c[a+2860>>2]=400;c[a+2864>>2]=a+2684;c[a+2872>>2]=540;b[a+5816>>1]=0;c[a+5820>>2]=0;xc(a);return}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_d(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Wf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Sf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{rh(18870,c);break}default:{}}if((a&18|0)==16)rh(18936,b);else{i=c;return}}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(jj(a)|0)==0;b=Ed(a,b,d)|0;if(!e)ij(a)}else b=Ed(a,b,d)|0;return b|0}function Uf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah($a(4,f|0)|0)|0;i=e;return a|0}function Wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(Wa(3,f|0)|0)|0;i=e;return a|0}function Xf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Vd(104)|0;c[f+4>>2]=ih(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Vd(65537)|0;return f|0}function Yf(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;ba(8);return 0}function Zf(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;Tb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=$e(g,b,d,e)|0;i=f;return e|0}function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=hd(g,b,d,e)|0;i=f;return e|0}function ag(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Qg(b)|0)<0)Df(19035,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function bg(b){b=b|0;var c=0,d=0;c=Gd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(vi(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function dg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[27]|0)>=(a|0)){a=c[5904]|0;if(!a){a=c[2306]|0;c[5904]=a}Bc(a,b,d)|0;gd(c[5904]|0)|0}return}function eg(a,b,c){a=a|0;b=b|0;c=c|0;b=Ye(a,b,c)|0;if(b)if((b|0)<(c|0)){jf(a,c,b);b=1}else b=1;else b=0;return b|0}function fg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return ie(b,d,e)|0}function ig(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=pf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function jg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(jj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)ij(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Vd(20)|0;c[e>>2]=Jh(a<<5)|0;c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=d;return e|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ah(Ra(57,e|0)|0)|0;i=d;return a|0}function mg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5906]|0;if(!b)rh(16314,d);else{a=fh(b,a)|0;i=d;return a|0}return 0}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=df(a,b,d,g)|0;i=f;return e|0}function og(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=La(6,d|0)|0;a=Ah((a|0)==-4?-115:a)|0;i=b;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Ue(d,a)|0))break;b=b+8|0}return b|0}function qg(a,b,d){a=a|0;b=b|0;d=d|0;d=_f(te(a)|0,33,d,2)|0;b=Xf(a,b,Qi(d)|0)|0;c[b+56>>2]=d;return b|0}function rg(a){a=a|0;var b=0;b=Vd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;ue(b,a)|0;return b|0}function sg(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=Ah(La(6,d|0)|0)|0;i=b;return a|0}function tg(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]}function ug(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return nb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function wg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Vd(d+1|0)|0;c=(c|0)<(d|0)?c:d;_d(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function xg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Aa(18675,18686,40,18702);else{b=c[b+4>>2]|0;Gh(a);return b|0}return 0}function yg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=ii(c<<24>>24)|0;d=d+1|0}return b|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xh(a,b,f)|0;i=e;return d|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Bc(a,b,f)|0;i=e;return d|0}function Bg(a,b,d){a=a|0;b=b|0;d=d|0;b=b+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Cg(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;pd(a,b,f);i=e;return}function Dg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Th(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=af(a,b,f)|0;i=e;return d|0}function Fg(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=4;c[a+4>>2]=d;c[a+8>>2]=b;rh(11076,a)}function Gg(a,b){a=a|0;b=b|0;var c=0;c=Gd(a)|0;c=c-(Gd(b)|0)|0;if((c|0)<0)c=0;else c=(Ue(a+c|0,b)|0)==0&1;return c|0}function Hg(a,b){a=a|0;b=b|0;wf(a,b,8);wf(a,b+8|0,8);wf(a,b+16|0,8);wf(a,b+24|0,8);wf(a,b+32|0,8);return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Kg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Gi(b);b=d}c[a>>2]=0;return}function Lg(){var a=0,b=0;a=Xa(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;og(b)|0;b=b+1|0}return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Ng(b){b=b|0;if(!b)b=0;else while(1)if(!(vi(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Og(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(jj(a)|0)==0;a=cf(a)|0}else a=cf(a)|0;return a|0}function Pg(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;dg(a,b,f);i=e;return}function Qg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ah(ua(42,d|0)|0)|0;i=b;return a|0}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;a=Kd(a,c)|0;if(c>>>0>b>>>0)ve(a+b|0,0,c-b|0)|0;return a|0}function Sg(){}function Tg(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 (C=d,a-c>>>0|0)|0}function Ug(a){a=a|0;var b=0;if(!a)a=Vd(8)|0;else{b=Vd((Gd(a)|0)+8|0)|0;yi(b+4|0,a)|0;a=b}return a|0}function Vg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[27]=a;c[d>>2]=0;i=b;return}function Wg(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;wf(a,d,4);i=c;return}function Xg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;rh(18818,d);return 0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;sd(b,a)|0;c=c+-1|0}return}function Zg(a){a=a|0;var b=0;b=Vd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Vd(a+1|0)|0;c[b+8>>2]=a;return b|0}function _g(){var a=0,b=0;b=i;i=i+16|0;a=Ic(2,1,0)|0;if((a|0)<0)$g(16586,b);i=b;return a|0}function $g(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;dh(a,e);i=d;return}function ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=zc(b)|0;ke(a)}return b|0}function bh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5906]|0)){Fh(Gb(a,b,0,d,0)|0);c[5907]=d}return}function ch(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Zd(b);Gi(c[b>>2]|0);Gh(a)}return}function dh(a,b){a=a|0;b=b|0;var d=0;d=Uc()|0;mb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function fh(a,b){a=a|0;b=b|0;a=Ee(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function hh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ih(a){a=a|0;var b=0;if(!a)a=0;else{b=Gd(a)|0;a=wg(a,b,b)|0}return a|0}function jh(a){a=a|0;var b=0;b=i;i=i+16|0;a=de(a,0,b)|0;i=b;return a|0}function kh(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ci(a,b);return rc(a,b,c,d)|0}function mh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function nh(){var a=0;if(!(c[5908]|0))a=23676;else a=c[(oj()|0)+64>>2]|0;return a|0}function oh(a){a=a|0;if(!a)a=0;else{a=Ng(a)|0;bg(a)}return a|0}function ph(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Kg(b);Gi(b);c[a>>2]=0}return}function qh(a){a=a|0;a=Mc(a)|0;if(!a)xh();else return a|0;return 0}function rh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ih(a,d)}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kb[a&7](b|0,c|0,d|0)|0}function th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Gi(c[b+4>>2]|0);Gh(a)}return}function uh(a){a=a|0;if((c[a+76>>2]|0)>-1?jj(a)|0:0)ij(a);return c[a+60>>2]|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;a=bf(a,c)|0;_d(a|0,b|0,c|0)|0;return a|0}function wh(b,c){b=b|0;c=c|0;b=Sc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xh(){var a=0;a=Uc()|0;qb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Na(-1)}function yh(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Gf(b+52|0);Gh(a)}return}function Ah(a){a=a|0;if(a>>>0>4294963200){c[(nh()|0)>>2]=0-a;a=-1}return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ac(a,b,8,15,8,0,c,d)|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pb[a&3](b|0,c|0,d|0)}function Dh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Eh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=id(a,b,0)|0;return a|0}function Fh(a){a=a|0;c[5906]=a;if(mg(15806)|0)Vg(se(15806,0)|0);return}function Gh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)aj(b);return}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Ih(a,b){a=a|0;b=b|0;c[(Uc()|0)+4>>2]=1;dh(a,b);xh()}function Jh(a){a=a|0;var b=0;b=Pd(a)|0;ve(b|0,0,a|0)|0;return b|0}function Kh(a,b){a=a|0;b=b|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Tb(a,b,c,d,0)|0}function Mh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,b,c,0,-2147483648)|0;return a|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,b,c,-2147483648,0)|0;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;return fc(a,b,17446,17455,c)|0}function Qh(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Rh(a,b){a=a|0;b=b|0;return Ue(c[a+4>>2]|0,c[b+4>>2]|0)|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&7](b|0,c|0)|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(a,b,c)|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;return Tc(a,b,Gd(b)|0,c)|0}function Vh(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Wh(a){a=a|0;if(!(re(a)|0))xh();else return}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,2147483647,b,c)|0}function Yh(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;mb[a&3](b|0,c|0)}function _h(){if((Pa(12808)|0)==0?(Pa(12818)|0)==0:0)Na(-1);Ma()}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return Uh(a,b,0+c|0)|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return sb(_(c,b)|0)|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;return ef(a,b,c)|0}function ci(a,b){a=a|0;b=b|0;Le(a,b,Gd(b)|0);return}function di(a,b){a=a|0;b=b|0;Pe(a,b,Gd(b)|0);return}function ei(a,b){a=a|0;b=b|0;return wg(a,Gd(a)|0,b)|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,0,c)|0}function gi(a,b){a=a|0;b=b|0;yi(b,c[a+4>>2]|0)|0;return}function hi(a){a=a|0;var b=0;b=(Oi(a)|0)==0;return (b?a:a&95)|0}function ii(a){a=a|0;var b=0;b=(Ni(a)|0)==0;return (b?a:a|32)|0}function ji(a,b){a=a|0;b=b|0;return fg(a,b,(Gd(a)|0)+1|0)|0}function ki(a){a=a|0;return Xf(13940,a,uh(c[2335]|0)|0)|0}function li(a){a=a|0;if(!(c[a+68>>2]|0))ij(a);return}function mi(a){a=a|0;if(!(c[a+68>>2]|0))ij(a);return}function ni(a,b){a=a|0;b=b|0;return (lf(a,Gd(a)|0,1,b)|0)+-1|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,1,c)|0}function pi(a){a=a|0;return ((a+-48|0)>>>0<10|(Hi(a)|0)!=0)&1|0}function qi(a){a=a|0;rd(a,0,0);c[a+28>>2]=0;return}function ri(a,b,c){a=a|0;b=b|0;c=c|0;return Tf(a,b,c)|0}function si(a,b){a=a|0;b=b|0;return ob[a&3](b|0)|0}function ti(a){a=a|0;Gi(c[a+4>>2]|0);Gi(a);return}function ui(a,b){a=a|0;b=b|0;i=a;j=b}function vi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function xi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function yi(a,b){a=a|0;b=b|0;Vc(a,b)|0;return a|0}function zi(a,b){a=a|0;b=b|0;jb[a&3](b|0)}function Ai(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Bi(a,b){a=a|0;b=b|0;return Yd(a,b)|0}function Ci(a,b){a=a|0;b=b|0;return +(+Td(a,b,1))}function Di(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function Ei(a){a=a|0;Yg(a,0,240);return}function Fi(a){a=a|0;Yg(a,0,64);return}function Gi(a){a=a|0;if(a|0)aj(a);return}function Hi(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Ii(a,b){a=+a;b=+b;return +(+uf(a,b))}function Ji(a,b){a=+a;b=b|0;return +(+Cd(a,b))}function Ki(a,b){a=+a;b=b|0;return +(+Hd(a,b))}function Li(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function Mi(a){a=a|0;return (mg(a)|0)!=0|0}function Ni(a){a=a|0;return (a+-65|0)>>>0<26|0}function Oi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Pi(a,b){a=a|0;b=b|0;zb(b);return}function Qi(a){a=a|0;return c[a+16>>2]|0}function Ri(a,b){a=+a;b=+b;return +(+_b(a,b))}function Si(a){a=a|0;return Qh(a|0)|0}function Ti(a){a=a|0;return Qh(a|0)|0}function Ui(a,b){a=a|0;b=b|0;ba(2);return 0}function Vi(){c[28]=Hf()|0;return}function Wi(a){a=a|0;c[29]=a;return}function Xi(a){a=a|0;qb[a&1]()}function Yi(a){a=a|0;return sb(a)|0}function Zi(a){a=a|0;return a+8|0}function _i(a){a=a|0;zb(a);return}function $i(a){a=a|0;return Og(a)|0}function aj(a){a=a|0;zb(a);return}function bj(a){a=a|0;return 0}function cj(a,b){a=a|0;b=b|0;ba(3)}function dj(a){a=a|0;return 0}function ej(a){a=a|0;i=a}function fj(a){a=a|0;C=a}function gj(a){a=a|0;ba(5);return 0}function hj(a){a=a|0;return a|0}function ij(a){a=a|0;return}function jj(a){a=a|0;return 0}function kj(){return c[27]|0}function lj(){return C|0}function mj(){return i|0}function nj(a){a=a|0;ba(0)}function oj(){return 0}function pj(){ba(7)}
+function sb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5921]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=23724+(b<<1<<2)|0;e=d+8|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[5925]|0)>>>0)Ma();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Ma()}else c[5921]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5923]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=23724+(b<<1<<2)|0;e=d+8|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[5925]|0)>>>0)Ma();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5923]|0;break}else Ma()}else{c[5921]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5926]|0;b=l>>>3;d=23724+(b<<1<<2)|0;a=c[5921]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{m=a;n=b}}else{c[5921]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5923]=h;c[5926]=e;N=j;i=O;return N|0}a=c[5922]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[23988+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5925]|0;if(k>>>0<g>>>0)Ma();j=k+q|0;if(k>>>0>=j>>>0)Ma();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Ma();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Ma()}while(0);do if(h|0){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5922]=c[5922]&~(1<<a);break}}else{if(h>>>0<(c[5925]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5925]|0;if(o>>>0<b>>>0)Ma();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5923]|0;if(a|0){f=c[5926]|0;b=a>>>3;e=23724+(b<<1<<2)|0;a=c[5921]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{r=a;s=b}}else{c[5921]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5923]=d;c[5926]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5922]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[23988+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[23988+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5923]|0)-q|0)>>>0:0){f=c[5925]|0;if(k>>>0<f>>>0)Ma();h=k+q|0;if(k>>>0>=h>>>0)Ma();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Ma();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Ma();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Ma()}while(0);do if(g|0){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5922]=c[5922]&~(1<<a);break}}else{if(g>>>0<(c[5925]|0)>>>0)Ma();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5925]|0;if(u>>>0<b>>>0)Ma();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{w=a;x=b}}else{c[5921]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=23988+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Ma()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5923]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5926]|0;if(a>>>0>15){N=b+q|0;c[5926]=N;c[5923]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5923]=0;c[5926]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5924]|0;if(a>>>0>q>>>0){L=a-q|0;c[5924]=L;N=c[5927]|0;M=N+q|0;c[5927]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6039]|0)){c[6041]=4096;c[6040]=4096;c[6042]=-1;c[6043]=-1;c[6044]=0;c[6032]=0;x=p&-16^1431655768;c[p>>2]=x;c[6039]=x}h=q+48|0;g=c[6041]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6031]|0;if(a|0?(w=c[6029]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6032]&4)){a=c[5927]|0;c:do if(a){d=24132;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5924]|0)&g;if(a>>>0<2147483647){b=Ga(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ga(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6040]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6029]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6031]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ga(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6041]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ga(y|0)|0)==(-1|0)){Ga(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6032]=c[6032]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ga(k|0)|0,A=Ga(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6029]|0)+f|0;c[6029]=a;if(a>>>0>(c[6030]|0)>>>0)c[6030]=a;j=c[5927]|0;do if(j){e=24132;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5924]|0)|0;c[5927]=M;c[5924]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5928]=c[6043];break}a=c[5925]|0;if(h>>>0<a>>>0){c[5925]=h;k=h}else k=a;d=h+f|0;a=24132;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24132;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5926]|0)){N=(c[5923]|0)+g|0;c[5923]=N;c[5926]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Ma();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(a|0))Ma();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Ma()}while(0);if(!h)break;b=c[a+28>>2]|0;d=23988+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5925]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5922]=c[5922]&~(1<<b);break e}while(0);e=c[5925]|0;if(L>>>0<e>>>0)Ma();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Ma();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=23724+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Ma();if((c[d+12>>2]|0)==(a|0))break;Ma()}while(0);if((e|0)==(d|0)){c[5921]=c[5921]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Ma();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Ma()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;do if(!(b&a)){c[5921]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5925]|0)>>>0){M=a;N=b;break}Ma()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=23988+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Ma()}}else{N=(c[5924]|0)+g|0;c[5924]=N;c[5927]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24132;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5927]=N;c[5924]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5928]=c[6043];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6033];c[a+4>>2]=c[6034];c[a+8>>2]=c[6035];c[a+12>>2]=c[6036];c[6033]=h;c[6034]=f;c[6036]=0;c[6035]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{J=a;K=b}}else{c[5921]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=23988+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5922]|0;b=1<<d;if(!(a&b)){c[5922]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5925]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Ma()}}}else{N=c[5925]|0;if((N|0)==0|h>>>0<N>>>0)c[5925]=h;c[6033]=h;c[6034]=f;c[6036]=0;c[5930]=c[6039];c[5929]=-1;a=0;do{N=23724+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5927]=M;c[5924]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5928]=c[6043]}while(0);a=c[5924]|0;if(a>>>0>q>>>0){L=a-q|0;c[5924]=L;N=c[5927]|0;M=N+q|0;c[5927]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(nh()|0)>>2]=12;N=0;i=O;return N|0}function tb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[225];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=$b(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=dc(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=dc(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=dc(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,_d(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=dc(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=dc(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,_d(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=dc(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=dc(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,_d(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=dc(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,ld(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,_d(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=dc(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[225];e=-5;return e|0}}else{j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;_d(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[225];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?(Wb(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Ab(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,_d(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,_d(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,_d(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){Wb(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[20445+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[19933]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Ab(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,_d(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,_d(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,_d(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=lb[c[144+((c[O+132>>2]|0)*12|0)+8>>2]&7](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{vc(O);break}case 5:break;default:{oc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,ve(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;_d(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;ld(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,_d(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[222];e=-2;return e|0}function ub(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0}while((vi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Wc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23528+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Wc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23537+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Wc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Wc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(nh()|0)>>2]=22;Ff(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Wc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Wc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;k=eh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=eh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Wc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Ff(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=eh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=kc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Ff(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ig(o|0,n|0,2)|0;H=eh(H|0,C|0,-32,-1)|0;e=eh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=eh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Tg(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=eh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Ii(+Cd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(nh()|0)>>2]=34;g=+Ji(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Wc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=eh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=eh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Wc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=kc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Ff(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=eh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(nh()|0)>>2]=22;Ff(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9772+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9772+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9772+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ig(c[p>>2]|0,0,29)|0;o=eh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Lh(o|0,n|0,1e9,0)|0;o=Zf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Ii(+Cd(1.0,105-o|0),j);m=+Ri(j,+Cd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ri(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(nh()|0)>>2]=34}while(0);g=+Ji(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(nh()|0)>>2]=22;Ff(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function vb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(nh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Qc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[20836+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}hc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Mg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21316;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21316;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Tg(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21316;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21316:21318;L=76}else{p=1;r=21317;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21316;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21316;o=N;break}case 109:{o=$d(c[(nh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23218;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){nd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23226:23231}else{G=1;H=23228}else{q=-q;G=1;H=23225}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Ki(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Ud(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21300+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;nd(e,32,K,r,I);if(!(c[e>>2]&32))Qc(y,w,e)|0;nd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Qc(ea,o,e)|0;f=ba-p|0;nd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Qc(t,f,e)|0;nd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ig(c[r>>2]|0,0,t|0)|0;B=eh(B|0,C|0,o|0,0)|0;o=C;A=Zf(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Lh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Ud(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;nd(e,32,K,w,I);if(!(c[e>>2]&32))Qc(H,G,e)|0;nd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Ud(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;ve(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Qc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Qc(23256,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Ud(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){ve(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Qc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}nd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Ud(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Qc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Qc(23256,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;ve(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Qc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}nd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Qc(u,ba-u|0,e)|0}while(0);nd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;nd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Qc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Qc(s?(t?23537:23252):t?23244:23248,3,e)|0;nd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21316;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21300+(o&15)>>0]|r;o=Mg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21316;L=77}else{o=t;t=2;r=21316+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21316;L=77}}else if((L|0)==76){f=Ud(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Hc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21316;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Eh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}nd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Eh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Qc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;nd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;nd(e,32,o,s,p);if(!(c[e>>2]&32))Qc(v,w,e)|0;nd(e,48,o,s,p^65536);nd(e,48,r,t,0);if(!(c[e>>2]&32))Qc(f,t,e)|0;nd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;hc(j+(m<<3)|0,n,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=ia;return m|0}function wb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=jj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(vi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Ff(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Wc(e)|0}while((vi(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Ff(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Wc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){ve(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;ve(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=sb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Wc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(uc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Yd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Mh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=sb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Yd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Wc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ub(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Ff(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Wc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(vi(d[m>>0]|0)|0))break;else n=m}Ff(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Wc(e)|0}while((vi(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){zb(l);zb(f)}}else k=0;while(0);if(O|0)ij(e);i=P;return k|0}function xb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=eh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(19567==0?(Ue(c[a+8>>2]|0,19581)|0)!=0:0){ba=a+32|0;T=ba;T=nb[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=eh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=eh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=eh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=eh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Tg(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=eh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Tg((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Tg(k|0,j|0,f|0,d|0)|0;_d(b|0,B+f|0,o|0)|0;e=eh(o|0,E|0,e|0,n|0)|0;f=C;d=Tg(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=eh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;hg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Vd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=eh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Tg(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(19567){y=eh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=eh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Lh(k|0,j|0,w|0,0)|0;t=eh(A|0,B|0,-1,-1)|0;t=eh(t|0,C|0,w|0,0)|0;w=Lh(t|0,C|0,w|0,0)|0;t=m+52|0;rf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((fi(u,d,s)|0)<(s|0))f=0;else{Gi(u);j=B;k=A;continue}while(1){o=fi(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=oi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=ig(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=ig(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=eh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Tg(f|0,j|0,p|0,q|0)|0;k=C;f=Pd(j)|0;c[W>>2]=f;m=nb[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}hg(Z,c[K>>2]|0,p,0)|0;Se(Z,c[K>>2]|0,f,j);Gh(W)}Md(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;hg(P,c[t>>2]|0,da+64|0,0)|0;Se(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Gi(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);hg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Ve(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;rh(19593,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Pg(4,19649,$);Pg(4,19695,aa);S=0;T=0;break}else if((n|0)==36){Ve(Z,j,f,h);S=ba;S=eh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=eh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function zb(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;if(!a)return;d=a+-8|0;h=c[5925]|0;if(d>>>0<h>>>0)Ma();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Ma();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Ma();if((k|0)==(c[5926]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5923]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=23724+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Ma();if((c[b+12>>2]|0)!=(k|0))Ma()}if((d|0)==(b|0)){c[5921]=c[5921]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Ma();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Ma()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Ma();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Ma();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ma();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Ma()}while(0);if(f){a=c[k+28>>2]|0;b=23988+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5922]=c[5922]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5925]|0;if(i>>>0<d>>>0)Ma();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ma();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Ma();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Ma();if(!(b&2)){if((m|0)==(c[5927]|0)){p=(c[5924]|0)+g|0;c[5924]=p;c[5927]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5926]|0))return;c[5926]=0;c[5923]=0;return}if((m|0)==(c[5926]|0)){p=(c[5923]|0)+g|0;c[5923]=p;c[5926]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();d=b+12|0;if((c[d>>2]|0)!=(m|0))Ma();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Ma()}while(0);if(f|0){a=c[m+28>>2]|0;b=23988+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5922]=c[5922]&~(1<<a);break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5925]|0;if(n>>>0<d>>>0)Ma();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5925]|0)>>>0)Ma();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=23724+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5925]|0)>>>0)Ma();if((c[b+12>>2]|0)!=(m|0))Ma()}if((d|0)==(b|0)){c[5921]=c[5921]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5925]|0)>>>0)Ma();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Ma()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5926]|0)){c[5923]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=23724+(a<<1<<2)|0;b=c[5921]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5925]|0)>>>0)Ma();else{o=a;p=b}}else{c[5921]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=23988+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5922]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5925]|0)>>>0)Ma();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5925]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Ma()}}else{c[5922]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[5929]|0)+-1|0;c[5929]=q;if(!q)a=24140;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[5929]=-1;return}function Ab(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}xb(f,f+2840|0);xb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}xb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)oc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Pb(f,9804,10956);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[20701+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Hb(f,g,q);h=f+2440|0;Hb(f,h,r);Pb(f,g,h)}while(0);xc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Bb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5925]|0;if(l>>>0<i>>>0)Ma();if((l|0)==(c[5926]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5923]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=23724+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Ma();if((c[a+12>>2]|0)!=(l|0))Ma()}if((b|0)==(a|0)){c[5921]=c[5921]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Ma();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Ma();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Ma();d=e+12|0;if((c[d>>2]|0)!=(l|0))Ma();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Ma()}while(0);if(f){d=c[l+28>>2]|0;a=23988+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5922]=c[5922]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5925]|0;if(j>>>0<b>>>0)Ma();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5925]|0;if(o>>>0<h>>>0)Ma();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5927]|0)){q=(c[5924]|0)+g|0;c[5924]=q;c[5927]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5926]|0))return;c[5926]=0;c[5923]=0;return}if((o|0)==(c[5926]|0)){q=(c[5923]|0)+g|0;c[5923]=q;c[5926]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Ma();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Ma();d=e+12|0;if((c[d>>2]|0)!=(o|0))Ma();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Ma()}while(0);if(f|0){d=c[o+28>>2]|0;a=23988+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5922]=c[5922]&~(1<<d);break}}else{if(f>>>0<(c[5925]|0)>>>0)Ma();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5925]|0;if(n>>>0<b>>>0)Ma();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ma();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=23724+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Ma();if((c[a+12>>2]|0)!=(o|0))Ma()}if((b|0)==(a|0)){c[5921]=c[5921]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Ma();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Ma()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5926]|0)){c[5923]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=23724+(d<<1<<2)|0;a=c[5921]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5925]|0)>>>0)Ma();else{p=d;q=a}}else{c[5921]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=23988+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5922]|0;a=1<<b;if(!(d&a)){c[5922]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5925]|0)>>>0)Ma();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5925]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Ma();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){Wb(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=gc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,_d(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[20445+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[19933+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,_d(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,_d(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,_d(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Db(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(ze(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Hc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(nh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0}while((vi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Wc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Wc(b)|0;if((d[23263+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Ff(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23263+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Ff(b,0);c[(nh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Wc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=ig(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=eh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23519+((e*23|0)>>>5&7)>>0]|0;j=a[23263+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Mg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ig(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23263+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Lh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=ig(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=eh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0;j=a[23263+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23263+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Wc(b)|0}while((d[23263+i>>0]|0)>>>0<e>>>0);c[(nh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(nh()|0)>>2]=34;g=eh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(nh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Tg(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Fb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){Wb(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=gc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[20445+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[19933+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,_d(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,_d(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,_d(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Gb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ee(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Ue(r,17412)|0)){j=g;h=k;N=4;break}s=wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(vi(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Gd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Uh(Q,o,(m|0)==0?17834:m)|0;else{l=pg(o,f)|0;if(!l){l=pg(o,80)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Oh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Nh(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Ci(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Ci(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17834:m;l=pg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=fh(Q,o)|0;l=Ug(m)|0;if(!n){Uh(Q,o,l)|0;break}else{Jg(n,l);break}}Uh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;rh(17423,z);break}case 34:{c[A>>2]=o;rh(17449,A);break}case 36:{c[K>>2]=o;rh(17488,K);break}case 38:{c[L>>2]=o;rh(17524,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;rh(17557,B);break}case 43:{c[C>>2]=o;rh(17524,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;rh(17599,D);break}case 48:{c[E>>2]=o;rh(17643,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;rh(17678,F);break}case 53:{c[G>>2]=o;rh(17718,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;rh(17754,H);break}case 57:{c[I>>2]=c[l>>2];rh(17795,I);break}case 65:{rh(17837,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Ib(d,e,f,h,j,k,l,m,n,o,p){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+96|0;S=V+40|0;R=V+32|0;T=V+16|0;Q=V;K=V+80|0;L=V+87|0;M=V+60|0;I=V+56|0;O=V+52|0;N=V+48|0;P=V+86|0;J=V+84|0;c[K>>2]=0;a[L>>0]=0;G=i;i=i+((1*(f*12|0)|0)+15&-16)|0;H=i;i=i+((1*(l<<2)|0)+15&-16)|0;q=0;while(1){if((q|0)>=(l|0))break;c[H+(q<<2)>>2]=0;q=q+1|0}B=Zg(0)|0;be(e);C=e+28|0;D=e+4|0;E=B+12|0;F=B+4|0;A=(o|0)==0;u=0;v=0;q=0;o=0;s=d;a:while(1){w=Ye(e,M,5)|0;if((w|0)>0){d=(Ue(c[M>>2]|0,c[s+4>>2]|0)|0)==0;if((u|0)<(f|0)&d){d=u;r=v}else{t=0;U=8}}else{d=0;t=(w|0)==0;U=8}if((U|0)==8){U=0;c[I>>2]=c[s+12>>2];c[O>>2]=c[G>>2];c[N>>2]=c[G+((u+-1|0)*12|0)+4>>2];if((o|0)>=(j|0)){U=9;break}y=$i(k)|0;r=h+(o*24|0)|0;c[r>>2]=y;c[r+4>>2]=((y|0)<0)<<31>>31;c[h+(o*24|0)+8>>2]=c[I>>2];c[h+(o*24|0)+12>>2]=c[O>>2];c[h+(o*24|0)+16>>2]=c[N>>2];c[E>>2]=0;a[c[F>>2]>>0]=0;a[P>>0]=1;b[J>>1]=u;Pe(B,I,4);Pe(B,O,4);Pe(B,N,4);Pe(B,K,4);Pe(B,K,4);Pe(B,P,1);Pe(B,L,1);Pe(B,J,2);r=0;while(1){if((r|0)>=(u|0))break;Pe(B,G+(r*12|0)|0,4);Pe(B,G+(r*12|0)+4|0,4);Pe(B,G+(r*12|0)+8|0,4);r=r+1|0}o=o+1|0;r=c[E>>2]|0;q=(r|0)>(q|0)?r:q;if(A)wf(k,c[F>>2]|0,r);else{x=Ai(r)|0;y=Oa()|0;r=i;i=i+((1*x|0)+15&-16)|0;wf(k,r,Je(c[F>>2]|0,c[E>>2]|0,r,x)|0);za(y|0)}b:do if(!t)if(d){t=1;d=0;r=v}else{s=c[s>>2]|0;if(!s){U=19;break a}d=c[M>>2]|0;r=c[s+4>>2]|0;if(Ue(d,r)|0){U=21;break a}if(!(Ue(d,r)|0))d=0;else{U=23;break a}while(1){if((d|0)>=(l|0)){t=1;d=0;r=0;break b}c[H+(d<<2)>>2]=0;d=d+1|0}}else{t=0;d=u;r=v}while(0);if(!t){U=43;break}}jf(e,4,w);x=ne(e,M,1)|0;y=ne(e,M,2)|0;z=+le(e,M,3);if(x>>>0>y>>>0){U=28;break}if(r){if((c[r>>2]|0)>>>0>x>>>0){U=31;break}if((c[r+4>>2]|0)>>>0>x>>>0){U=33;break}else w=0}else w=0;while(1){if((w|0)>=(l|0))break;v=H+(w<<2)|0;r=c[v>>2]|0;u=n+(w<<2)|0;if(x>>>0<r>>>0)t=m+(w<<2)|0;else{c[u>>2]=(c[u>>2]|0)+1;t=m+(w<<2)|0;r=(c[t>>2]|0)+x|0;c[v>>2]=r}while(1){if(y>>>0<=r>>>0)break;c[u>>2]=(c[u>>2]|0)+1;W=(c[t>>2]|0)+r|0;c[v>>2]=W;r=W}w=w+1|0}v=G+(d*12|0)|0;c[v>>2]=x;c[G+(d*12|0)+4>>2]=y;g[G+(d*12|0)+8>>2]=z;u=d+1|0}if((U|0)==9)Aa(12063,12088,112,12107);else if((U|0)==19)Aa(12121,12088,166,12107);else if((U|0)==21){V=c[C>>2]|0;W=c[D>>2]|0;c[Q>>2]=d;c[Q+4>>2]=r;c[Q+8>>2]=V;c[Q+12>>2]=W;rh(12135,Q)}else if((U|0)==23)Aa(12180,12088,170,12107);else if((U|0)==28){V=c[C>>2]|0;W=c[D>>2]|0;c[T>>2]=x;c[T+4>>2]=y;c[T+8>>2]=V;c[T+12>>2]=W;rh(12212,T)}else if((U|0)==31){W=c[D>>2]|0;c[R>>2]=c[C>>2];c[R+4>>2]=W;rh(12252,R)}else if((U|0)==33){W=c[D>>2]|0;c[S>>2]=c[C>>2];c[S+4>>2]=W;rh(12295,S)}else if((U|0)==43)if((o|0)==(j|0)){c[p>>2]=q;i=V;return}else Aa(12341,12088,219,12107)}function Jb(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=rg(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=lb[k&7](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=bf(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=ig(z|0,y|0,b|0,v|0)|0;p=a+p|0;pb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=eh(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=lb[k&7](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=eh(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=ig(q|0,C|0,b|0,v|0)|0;pb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=eh(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}gg(Q);c[H>>2]=kh(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Pg(2,16736,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}bf(I,48)|0;y=vh(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}gg(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;gg(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;wf(n,P,4);wf(n,M,4);wf(n,L,8);wf(n,g+12|0,4);wf(n,g+16|0,4);wf(n,g+20|0,4);wf(n,g+24|0,4);wf(n,O,8);wf(n,N,4);wf(n,K,4);if((g|0)!=(Q|0))jc(g,c[M>>2]|0,o,n);ph(R);i=S;return}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Db(d,14398)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){xe(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Wf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(nh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Uf(14904,f)|0))m=c[F>>2]|0;else{tf(F)|0;f=tf(F)|0;if(!f){O=20;break a}if((((Uf(15507,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Ue(f,15510)|0)if(Ue(f,15514)|0){if(I?(g=Ue(f,15518)|0,!((H|g|0)==0&G)):0)if(!(Ue(f,15522)|0)){f=o;break}else{O=30;break a}if(!(Ue(f,15609)|0)){O=34;break a}if(!(Ue(f,15518)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Ng(f+1|0)|0}if(!(Ze(m,15661)|0)){if(o|0)c[e>>2]=ih(f)|0;if(k)h=ih(f)|0}}while(!(I&(Ze(m,15670)|0)==0));if((Uf(15684,f)|0)!=0?(q=(wh(f,32)|0)+1|0,r=wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=cd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=cd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=$d(f)|0;c[z+4>>2]=d;$g(15318,z);f=0;break}case 10:{c[v>>2]=d;$g(15355,v);f=0;break}case 11:{c[x>>2]=d;$g(15411,x);f=0;break}case 15:{c[y>>2]=2e3;$g(15443,y);f=0;break}case 20:{c[u>>2]=d;$g(15481,u);f=0;break}case 30:{if(!g)$g(15526,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;$g(15569,E);f=0;break}case 34:{c[w>>2]=d;$g(15613,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;$g(15638,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ng(N,256,14510,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;$g(15691,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24308:15785;c[K+8>>2]=f?15510:15514;c[K+12>>2]=h|0?h:15801;$g(15811,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ng(N,256,14510,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;$g(15852,M);f=0}break}}i=P;return f|0}function Lb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=kb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Yh(h)|0;c[b+16>>2]=e;f=kd(c[f>>2]|0)|0;if(!f){s=0;break}s=Gd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Gi(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}ce(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)xf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Rf(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;ce(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Jf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Id(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;rh(19269,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Id(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Id(b,f);s=1}else s=1}while(0);i=y;return s|0}function Mb(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0.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.0;ea=i;i=i+112|0;X=ea+48|0;aa=ea+96|0;da=ea+100|0;V=ea;ba=ea+92|0;ca=ea+88|0;Z=ea+84|0;W=ea+64|0;c[aa>>2]=f;c[da>>2]=0;U=_(j,e)|0;Y=Jh(f*24|0)|0;c[ba>>2]=Y;c[ca>>2]=Y;Y=Y+(f*24|0)|0;G=$i(o)|0;F=p;c[F>>2]=G;c[F+4>>2]=((G|0)<0)<<31>>31;wf(o,aa,4);c[Z>>2]=kg(l,o,m)|0;be(d);F=W+4|0;G=W+8|0;H=W+12|0;I=r+8|0;J=r+16|0;K=r+24|0;L=r+32|0;M=V+4|0;N=V+8|0;O=V+12|0;P=V+24|0;Q=V+20|0;R=V+32|0;S=V+28|0;T=V+16|0;p=1;b=0;f=a;while(1){j=(b|0)!=0;if(j&(Ye(d,W,5)|0)==0)break;m=c[W>>2]|0;B=jh(c[F>>2]|0)|0;D=jh(c[G>>2]|0)|0;E=+Ef(c[H>>2]|0);A=D-B|0;if(!p){y=r;y=eh(c[y>>2]|0,c[y+4>>2]|0,A|0,0)|0;z=r;c[z>>2]=y;c[z+4>>2]=C;s=E;if(s<+h[I>>3])h[I>>3]=s;if(s>+h[J>>3])h[J>>3]=s;s=+(A>>>0);h[K>>3]=E*s+ +h[K>>3];s=s*(E*E)+ +h[L>>3]}else{z=r;c[z>>2]=A;c[z+4>>2]=0;s=E;h[J>>3]=s;h[I>>3]=s;s=+(A>>>0);h[K>>3]=E*s;s=s*(E*E)}h[L>>3]=s;if(!(Ue(m,c[f+4>>2]|0)|0))if(j){j=c[b+12>>2]|0;if(j>>>0<=B>>>0){yc(b,da,U,ca,Y,n,c[Z>>2]|0);$=15}}else $=15;else{f=c[f>>2]|0;yc(b,da,U,ca,Y,n,c[Z>>2]|0);$=15}if(($|0)==15){$=0;c[M>>2]=c[f+12>>2];c[N>>2]=B;j=B+e|0;c[O>>2]=j;b=c[f+16>>2]|0;j=j>>>0>b>>>0?b:j;c[O>>2]=j;g[P>>2]=E;g[Q>>2]=E;g[R>>2]=0.0;g[S>>2]=0.0;c[T>>2]=0;b=V}t=b+12|0;u=b+8|0;w=b+16|0;x=b+20|0;y=b+24|0;z=b+28|0;s=E*E;v=b+32|0;a=f+16|0;p=A;m=B;while(1){if(D>>>0<=j>>>0){j=p;break}B=c[u>>2]|0;c[X>>2]=m;c[X+4>>2]=D;c[X+8>>2]=B;c[X+12>>2]=j;Pg(3,12583,X);m=gh(m,D,c[u>>2]|0,c[t>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+m;if(+g[x>>2]>E)g[x>>2]=E;if(+g[y>>2]<E)g[y>>2]=E;fa=+(m>>>0);g[z>>2]=E*fa+ +g[z>>2];g[v>>2]=s*fa+ +g[v>>2];yc(b,da,U,ca,Y,n,c[Z>>2]|0);B=c[t>>2]|0;c[u>>2]=B;j=B+e|0;c[t>>2]=j;A=c[a>>2]|0;j=j>>>0>A>>>0?A:j;c[t>>2]=j;g[y>>2]=E;g[x>>2]=E;g[v>>2]=0.0;g[z>>2]=0.0;c[w>>2]=0;p=p-m|0;m=B}c[w>>2]=(c[w>>2]|0)+j;if(+g[x>>2]>E)g[x>>2]=E;if(+g[y>>2]<E)g[y>>2]=E;fa=+(j>>>0);g[z>>2]=E*fa+ +g[z>>2];g[v>>2]=s*fa+ +g[v>>2];p=0}yc(b,da,U,ca,Y,n,c[Z>>2]|0);ch(Z);b=$i(o)|0;j=((b|0)<0)<<31>>31;c[q>>2]=b;c[q+4>>2]=j;if((c[ca>>2]|0)==(Y|0)){Jb(c[ba>>2]|0,24,c[aa>>2]|0,0,k,l,0,1,4,b,j,o);Gh(ba);gg(da);i=ea;return c[da>>2]|0}else Aa(12639,12088,355,12661);return 0}function Nb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;H=i;i=i+480|0;w=H+352|0;t=H+344|0;v=H+304|0;s=H+296|0;G=H+264|0;F=H+224|0;J=H+216|0;B=H+460|0;g=H+208|0;I=H+200|0;r=H+456|0;E=H+192|0;m=H+184|0;j=H+416|0;k=H+376|0;n=H+176|0;l=H+168|0;o=H+368|0;x=H+88|0;y=H+8|0;D=H+364|0;u=H+468|0;q=H+466|0;p=H+464|0;z=H+360|0;A=H;Vi();L=sf(a,1)|0;c[B>>2]=L;f=ye(d)|0;c[J>>2]=c[f+24>>2];c[J+4>>2]=d;Pg(2,12367,J);c[J>>2]=0;h[g>>3]=0.0;d=I;c[d>>2]=0;c[d+4>>2]=0;c[r>>2]=0;f=Yb(L,f,0,J,g,I,0)|0;He(2,12384,F);L=kh(f)|0;d=c[J>>2]|0;K=+h[g>>3];J=c[I>>2]|0;I=c[I+4>>2]|0;c[G>>2]=L;c[G+4>>2]=a;c[G+8>>2]=d;h[G+16>>3]=K;d=G+24|0;c[d>>2]=J;c[d+4>>2]=I;Pg(2,12390,G);d=Zc(e,12446)|0;c[G>>2]=d;Fi(d);Ei(c[G>>2]|0);d=F;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));a=$i(c[G>>2]|0)|0;M=E;c[M>>2]=a;c[M+4>>2]=((a|0)<0)<<31>>31;Hg(c[G>>2]|0,F);M=$i(c[G>>2]|0)|0;a=m;c[a>>2]=M;c[a+4>>2]=((M|0)<0)<<31>>31;qd(f,c[2]|0,c[G>>2]|0);a=me(~~+h[g>>3],j,k)|0;g=$i(c[G>>2]|0)|0;M=n;c[M>>2]=g;c[M+4>>2]=((g|0)<0)<<31>>31;M=oe(f,c[3]|0)|0;g=l;c[g>>2]=M;c[g+4>>2]=((M|0)<0)<<31>>31;wf(c[G>>2]|0,l,8);g=l;g=ig(c[g>>2]|0,c[g+4>>2]|0,24,0)|0;g=Jh(g)|0;M=c[B>>2]|0;qi(M);c[o>>2]=0;Ib(f,M,c[3]|0,g,c[l>>2]|0,c[G>>2]|0,a,j,k,c[5886]|0,o);He(2,12449,s);M=$i(c[G>>2]|0)|0;d=((M|0)<0)<<31>>31;e=s;c[e>>2]=M;c[e+4>>2]=d;e=l;Jb(g,24,c[e>>2]|0,c[e+4>>2]|0,c[2]|0,1,0,1,4,M,d,c[G>>2]|0);He(2,12455,v);e=c[B>>2]|0;g=c[G>>2]|0;l=c[2]|0;I=c[3]|0;J=c[5886]|0;L=n;L=Tg(M|0,d|0,c[L>>2]|0,c[L+4>>2]|0)|0;a=mc(e,g,l,I,1,4,J,L,C,f,a,j,k,v,x,y,F)|0;if(c[5886]|0){M=c[3]<<5;L=c[o>>2]|0;c[r>>2]=L>>>0>M>>>0?L:M}Lf(c[G>>2]|0);c[D>>2]=-2003829722;b[u>>1]=4;b[q>>1]=a;b[p>>1]=0;c[z>>2]=0;M=A;c[M>>2]=0;c[M+4>>2]=0;wf(c[G>>2]|0,D,4);wf(c[G>>2]|0,u,2);wf(c[G>>2]|0,q,2);wf(c[G>>2]|0,m,8);wf(c[G>>2]|0,n,8);wf(c[G>>2]|0,s,8);wf(c[G>>2]|0,p,2);wf(c[G>>2]|0,p,2);wf(c[G>>2]|0,A,8);wf(c[G>>2]|0,E,8);wf(c[G>>2]|0,r,4);wf(c[G>>2]|0,A,8);if(($i(c[G>>2]|0)|0)!=64)Aa(12467,12088,462,12482);c[t>>2]=a;Pg(2,12499,t);d=0;while(1){if((d|0)>=(a|0))break;M=v+(d<<2)|0;L=c[M>>2]|0;c[w>>2]=d;c[w+4>>2]=L;Pg(3,12526,w);wf(c[G>>2]|0,M,4);wf(c[G>>2]|0,z,4);wf(c[G>>2]|0,x+(d<<3)|0,8);wf(c[G>>2]|0,y+(d<<3)|0,8);d=d+1|0}while(1){d=c[G>>2]|0;if((a|0)>=10)break;wf(d,z,4);wf(c[G>>2]|0,z,4);wf(c[G>>2]|0,A,8);wf(c[G>>2]|0,A,8);a=a+1|0}ri(d,c[E>>2]|0,0)|0;Hg(c[G>>2]|0,F);ri(c[G>>2]|0,0,2)|0;wf(c[G>>2]|0,D,4);td(B);Wh(G);i=H;return}function Ob(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5925]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Ma();f=c[k+4>>2]|0;if(!(f&1))Ma();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6041]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Bb(m,d);return a|0}if((k|0)==(c[5927]|0)){d=(c[5924]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5927]=l;c[5924]=m;return a|0}if((k|0)==(c[5926]|0)){e=(c[5923]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5923]=d;c[5926]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Ma();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(k|0))Ma();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Ma()}while(0);if(h|0){d=c[k+28>>2]|0;e=23988+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5922]=c[5922]&~(1<<d);break}}else{if(h>>>0<(c[5925]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5925]|0;if(j>>>0<f>>>0)Ma();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Ma();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5925]|0)>>>0)Ma();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=23724+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ma();if((c[e+12>>2]|0)!=(k|0))Ma()}if((f|0)==(e|0)){c[5921]=c[5921]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ma();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Ma()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Bb(l,m);return a|0}return 0}function Pb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[20445+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[284+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[636+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[19933+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[420+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[752+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Qb(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){Wb(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,_d(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,_d(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,_d(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Ab(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,_d(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Ag(0,19718,b)|0}b=d+112|0;if(c[b>>2]|0)Gf(b);b=d+128|0;if(c[b>>2]|0)Gf(b);Gi(c[d+4>>2]|0);Gi(c[d+8>>2]|0);Gh(d+12|0);Gi(c[d+40>>2]|0);Gi(c[d+44>>2]|0);Gi(c[d+48>>2]|0);Gi(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Gf(b);zh(d+80|0)}Gh(a);i=e;return}function Sb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Aa(12894,12914,448,12930);h=wa()|0;c[s>>2]=h;if((h|0)<0)Df(12943,l);if(h|0)if(!(lg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Df(13481,k)}r=yh()|0;c[s>>2]=r;if(lg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Df(12954,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=ag(m)|0;j=wa()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}zf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Cf(t);if(c[k>>2]|0)Cf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Df(12943,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){bd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;ta(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Df(13188,o)}bd(k,0,h,e);h=Vf(1,f,g)|0;if((h|0)<0)Df(13099,p);if((h|0)==(g|0)){og(1)|0;Na(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;rh(13134,q)}}else if((b|0)==28){og(0)|0;og(1)|0;Lg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=hb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;zf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Df(13261,u);else if((b|0)==35){c[v>>2]=h;rh(13276,v)}else if((b|0)==39){v=Be(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;rh(13306,w)}else if((b|0)==41)Aa(13361,12914,242,13385);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2306]|0;v=Be(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Ag(h,13404,x)|0;h=c[k>>2]|0}Na(h>>>8&255|0)}else if((b|0)==47)Aa(13451,12914,396,13471);else if((b|0)==49)Na(0)}}function Tb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Af(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Af(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=eh(m|0,l|0,-1,-1)|0;d=C;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;Tg(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Tg(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){Xc(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Xc(a,d,e,f,o);else ic(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}ic(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;ic(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;ic(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(we(a,b,d)|0){b=_g()|0;if((b|0)>=0){if((Ld(b,1)|0)<0){og(b)|0;b=-1;break}b:do if((Qe(b,d,16)|0)<0){n=nh()|0;d=c[n>>2]|0;if((d|0)!=115){w=$d(d)|0;c[e>>2]=d;c[e+4>>2]=w;$g(14329,e);og(b)|0;b=-1;break a}cb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=of(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}cb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=$d(d)|0;c[t>>2]=d;c[t+4>>2]=C;$g(14105,t);og(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;$g(14237,u);og(b)|0;e=23;break}c[r>>2]=4;do if((Ce(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=$d(d)|0;c[w>>2]=d;c[w+4>>2]=C;$g(14193,w);og(b)|0;break}}else{B=c[n>>2]|0;C=$d(B)|0;c[v>>2]=B;c[v+4>>2]=C;$g(14163,v);og(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Ld(b,0)|0)<0){og(b)|0;b=-1;break}if((We(b,120)|0)<0){og(b)|0;b=-1}}}else b=-1;else{$g(13985,x+24|0);b=-1}while(0);i=x;return b|0}function Wb(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;_d(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;_d(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=$b(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=dc(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;ve((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;ve((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function Xb(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,xf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){ve(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(Xb(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(nh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function Yb(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.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+80|0;F=K+56|0;E=K+32|0;H=K+24|0;G=K+16|0;D=K;J=K+64|0;z=(d|0)==0;if(z)A=3;else A=(If(d)|0)+1|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;c[J>>2]=0;be(a);w=(j|0)==0;x=a+28|0;y=a+4|0;o=0;n=0;j=0;m=0;p=0;q=-1;l=1073741823;r=0;a:while(1){u=p;while(1){if(w)p=Ye(a,B,A)|0;else p=Ne(a,9,B,A)|0;if(!p){I=26;break a}hf(a,A,p);s=c[B>>2]|0;v=ne(a,B,1)|0;t=ne(a,B,2)|0;if(!z)Fe(d,B);if((t|0)<(v|0)){I=12;break a}o=eh(o|0,n|0,1,0)|0;n=C;p=t-v|0;j=eh(p|0,((p|0)<0)<<31>>31|0,j|0,m|0)|0;m=C;if(r){p=Ue(c[r+4>>2]|0,s)|0;if(p)if((p|0)>0){I=16;break a}else I=17}else I=17;if((I|0)==17){I=0;p=Ee(b,s)|0;if(!p){I=18;break a}q=hj(c[p+8>>2]|0)|0;r=Vd(20)|0;c[r+4>>2]=ih(s)|0;c[r+12>>2]=u;c[r+16>>2]=q;c[r>>2]=c[J>>2];c[J>>2]=r;u=u+1|0;q=-1}p=c[r+16>>2]|0;if(t>>>0>p>>>0){I=21;break a}t=r+8|0;c[t>>2]=(c[t>>2]|0)+1;if((q|0)<=-1){q=v;continue}p=v-q|0;if((p|0)<(l|0)){q=v;l=p;p=u;break}else q=v}if((l|0)<0){I=25;break}}if((I|0)==12){J=c[x>>2]|0;K=c[y>>2]|0;c[D>>2]=t;c[D+4>>2]=v;c[D+8>>2]=J;c[D+12>>2]=K;rh(17984,D)}else if((I|0)==16){K=c[x>>2]|0;c[G>>2]=c[y>>2];c[G+4>>2]=K;rh(18025,G)}else if((I|0)==18){c[H>>2]=s;rh(18147,H)}else if((I|0)==21){e=c[r+4>>2]|0;J=c[x>>2]|0;K=c[y>>2]|0;c[E>>2]=t;c[E+4>>2]=e;c[E+8>>2]=p;c[E+12>>2]=J;c[E+16>>2]=K;rh(18188,E)}else if((I|0)==25){K=c[x>>2]|0;c[F>>2]=c[y>>2];c[F+4>>2]=K;rh(18246,F)}else if((I|0)==26){gg(J);if((o|0)==0&(n|0)==0)k=0.0;else k=(+(j>>>0)+4294967296.0*+(m>>>0))/(+(o>>>0)+4294967296.0*+(n>>>0));c[e>>2]=l;h[f>>3]=k;e=g;c[e>>2]=o;c[e+4>>2]=n;i=K;return c[J>>2]|0}return 0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Db(b,14389)|0))e=Oe(b,0,r)|0;else{if((Uf(19043,b)|0)==0?(Uf(19051,b)|0)==0:0){if(!(Uf(19060,b)|0)){c[g>>2]=b;rh(15251,g)}cc(b,o);if(Ue(o,14422)|0){c[f>>2]=b;rh(14914,f)}b=o+4112|0;g=dd(b,Dd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(lh(g,14961,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,ng(m,256,14968,j)|0,(lh(g,m,0,0)|0)==0):0){og(g)|0;e=-1;break}j=o+6176|0;s=(a[(Gd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14980:14985;c[k+4>>2]=j;ng(m,256,14990,k)|0;ci(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=wh(j,40)|0;a[(wh(j,41)|0)>>0]=0;if((qe(s+1|0,14998,k,7)|0)!=6)rh(15e3,h);f=(Dd(c[k+16>>2]|0)|0)<<8;f=Vb(b,(Dd(c[k+20>>2]|0)|0)+f|0)|0;th(l);if((f|0)<0){og(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((ed(f,1e6)|0)>0){b=26;break}if((ed(g,0)|0)>0?(rc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;$g(15036,n);og(g)|0;og(f)|0;e=-1;break}else if((b|0)==24){og(g)|0;og(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}gd(c[2335]|0)|0;gd(c[2276]|0)|0;gd(c[2306]|0)|0;b=Vd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;_d(b+20|0,o|0,10280)|0;f=b+4|0;if(Qg(f)|0){c[p>>2]=$d(c[(nh()|0)>>2]|0)|0;rh(15101,p)}b=Ua(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=$d(b)|0;c[q>>2]=b;c[q+4>>2]=s;rh(15205,q)}}}else{og(g)|0;e=-1}while(0)}break}e=Ph(b,14910,0)|0}while(0);i=r;return e|0}function _b(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Mg(d|0,m|0,52)|0;e=e&2047;j=Mg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ig(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ig(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ig(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ig(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ig(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ig(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ig(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ig(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Tg(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ig(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Tg(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ig(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=eh(d|0,f|0,0,-1048576)|0;d=C;e=Ig(e|0,0,52)|0;d=d|C;e=o|e}else{e=Mg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ac(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=3;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=kb[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=kb[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=kb[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=kb[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=kb[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Cc(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[224];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){mb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}mb[c[o>>2]&3](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function bc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=kh(b)|0;c[t>>2]=q;c[v>>2]=Jh(q<<2)|0;wf(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=Ai(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=$i(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}wf(g,r,Je(p,h-s|0,r,q)|0);u=u-o|0}x=$i(g)|0;u=((x|0)<0)<<31>>31;Jb(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,2,6,x,u,g);Gh(v);C=u;i=w;return x|0}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Gd(b)|0)>>>0>4095){c[e>>2]=b;rh(14370,e)}yi(f,b)|0;oh(f)|0;b=Db(f,14389)|0;if(!b){a[d>>0]=a[14393]|0;a[d+1>>0]=a[14394]|0;a[d+2>>0]=a[14395]|0;a[d+3>>0]=a[14396]|0;a[d+4>>0]=a[14397]|0}else{a[b>>0]=0;yg(f)|0;ff(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=wh(f,47)|0;if(g){xe(g,b,e,1);if(!((Ze(d,14393)|0)!=0?(Ze(d,14410)|0)!=0:0)){e=zd(g,14416,14418)|0;ff(d+6176|0,4096,e);Gi(e)}a[g>>0]=0;if(!(Ze(d,14422)|0)){g=g+1|0;Fd(g,d+6176|0,Gd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=wh(f,64)|0;if(!g){if(!((Ze(d,14393)|0)!=0?(Ze(d,14410)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Ze(d,14422)|0)){b=d+16|0;e=14426;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=14436;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=wh(f,58)|0;if(!b){e=d+16|0;ff(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;ff(e,2048,f);f=d+2064|0;ff(f,2048,b+1|0);b=f}md(e,e,Gd(e)|0);md(b,b,Gd(b)|0);f=g+1|0}b=wh(f,58)|0;do if(!b){if(!(Ze(d,14393)|0)){h=d+6160|0;a[h>>0]=a[14454]|0;a[h+1>>0]=a[14455]|0;a[h+2>>0]=a[14456]|0}if(!(Ze(d,14410)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Ze(d,14422)|0)){h=d+6160|0;a[h>>0]=a[14457]|0;a[h+1>>0]=a[14458]|0;a[h+2>>0]=a[14459]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){ff(d+6160|0,16,e);break}else{c[h>>2]=e;rh(14460,h)}}while(0);ff(d+4112|0,2048,f);i=j;return}function dc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[912+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2960+((a>>>8&255)<<2)>>2]^c[3984+((a&255)<<2)>>2]^c[1936+((a>>>16&255)<<2)>>2]^c[912+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[912+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function ec(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ah(na(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=na(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=na(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ah(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=na(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;na(221,l|0)|0}d=Ah(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=na(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=na(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;na(221,r|0)|0}d=Ah(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;La(6,p|0)|0}d=Ah(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ah(na(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ah(na(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function fc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Zg(512)|0;cc(b,s);h=Pa(14712)|0;p=(h|0)!=0;if(p){cc(h,q);_d(r|0,q|0,10280)|0;h=De(r,b)|0}else{_d(r|0,s|0,10280)|0;h=De(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ih(b)|0;j=ji(b,59)|0;if((j|0)!=0?(Uf(14398,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Cg(k,14723,l);Gi(b);c[m>>2]=f;Cg(k,14734,m);if((Ue(s,14393)|0)==0?(Ue(14454,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Ue(s,14410)|0)==0?(Ue(14489,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Cg(k,14762,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Cg(k,14751,n)}b=c[t>>2]|0;_d(r|0,s|0,10280)|0;ge(r,14776,b);if(p){_d(r|0,q|0,10280)|0;ge(r,14790,b);k=c[t>>2]|0}else k=b;di(k,14810);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Cg(k,14849,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Cg(k,14824,u);break}}while(0);if(g|0)di(c[t>>2]|0,g);v=c[t>>2]|0;di(v,14870);Le(h,c[v+4>>2]|0,c[v+12>>2]|0);th(t)}i=w;return h|0}function gc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function hc(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 ic(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(lb[d&7](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((lb[d&7](e,j)|0)>-1){g=f;e=m;q=19;break a}if((lb[d&7](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((lb[d&7](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){ud(b,p,e);Xc(a,b,d,g,h)}i=r;return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}qf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=$i(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=ig(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=eh(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Pg(2,16783,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Pg(2,16815,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Pg(2,16843,o);f=f+1|0}Pg(2,16847,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;tc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=$i(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=$i(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=16911;rh(16849,s)}else if((f|0)==14){Gc(b,a,0,d+-2|0,e);i=t;return}}function kc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=ig(f|0,b|0,10,0)|0;f=C;e=eh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=eh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Wc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Tg(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function lc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=eh(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;wf(o,z,1);wf(o,B,1);wf(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;ve(r|0,0,m|0)|0;mb[l&3](G,r);wf(o,r,m);wf(o,A,8);G=A;G=eh(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;Yg(o,0,x);p=p+1|0}k=t}if((d|0)==9)Aa(17317,17300,491,17344);else if((d|0)==13){i=E;return w|0}return 0}function mc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;A=B+24|0;y=B+16|0;x=B+8|0;w=B;z=B+28|0;if((m|0)<=0)Aa(18368,18384,304,18400);v=(h|0)==0;t=Ig(j|0,k|0,31)|0;t=vg(t|0,C|0,32)|0;u=C;j=0;while(1){if((j|0)>=(m|0)){t=5;break}k=c[o+(j<<2)>>2]|0;if(!(0>u>>>0|(0==(u|0)?(v?k<<5:k<<4&2147483632)>>>0>t>>>0:0))){t=8;break}j=j+1|0}if((t|0)==5){c[w>>2]=0;c[w+4>>2]=0;Pg(2,18419,w);t=9}else if((t|0)==8){j=c[n+(j<<2)>>2]|0;c[x>>2]=j;c[x+4>>2]=k;Pg(2,18419,x);if(!j)t=9}if((t|0)==9){k=c[o>>2]|0;j=c[n>>2]|0}v=rg(0)|0;c[z>>2]=v;qi(a);u=rb[f&1](l,g,a,j,k,4,d,e,h,v,b,q,r,s)|0;He(2,18466,y);c[p>>2]=j;t=j<<2;j=1;do{f=k;k=kh(u)|0;if((k|0)>=(f|0))break;f=$i(b)|0;y=q+(j<<3)|0;c[y>>2]=f;c[y+4>>2]=((f|0)<0)<<31>>31;y=Lc(u,d,e,h,b)|0;f=r+(j<<3)|0;c[f>>2]=y;c[f+4>>2]=C;c[p+(j<<2)>>2]=t;j=j+1|0;t=t<<2;u=Ac(u,t,v)|0}while((j|0)<10);ph(z);He(2,18547,A);i=B;return j|0}function nc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;wf(n,B,1);wf(n,D,1);wf(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=eh(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=ig(o|0,p|0,f|0,x|0)|0;p=d+p|0;ve(v|0,0,k|0)|0;mb[j&3](p,v);wf(n,v,k);wf(n,ob[l&3](p)|0,m);p=eh(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;Yg(n,0,y);r=eh(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=Tg(u|0,t|0,p|0,0)|0;q=C;p=eh(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)Aa(17381,17300,529,17397);else if((o|0)==11){i=E;return}}function oc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function pc(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[5908]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ah(gb(146,n|0)|0)|0}else{va(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ah(gb(146,m|0)|0)|0;ma(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 qc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Hc(23258,f<<24>>24,4)|0){e=sb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;na(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=na(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;na(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Sa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5909]|0))c[e+76>>2]=-1;Za(23660);f=c[5914]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5914]=e;Ta(23660)}}else{c[(nh()|0)>>2]=22;e=0}i=o;return e|0}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Zg(4096)|0;while(1){if((ed(b,1e6)|0)<=0){j=3;break}g=Wf(b,m,4096)|0;if(g){Pe(c[o>>2]|0,m,g);if(!(Gg(c[(c[o>>2]|0)+4>>2]|0,16847)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Gd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Gd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;$g(14533,n);g=0}else if((j|0)==18){g=Dd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;$g(14577,p);g=0;break}if(!e)th(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function sc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;wf(l,n,4);wf(l,p,4);wf(l,r,4);wf(l,s,4);wf(l,o,8);wf(l,m,4);wf(l,m,4);f=$i(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=lc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=$i(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=17300;c[q+4>>2]=572;rh(17360,q)}else if((f|0)==8){nc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function tc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=kh(c[k>>2]|0)|0;wf(m,n,1);wf(m,o,1);wf(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;wf(m,k+12|0,4);wf(m,k+16|0,4);wf(m,k+20|0,4);wf(m,k+24|0,4);wf(m,q,8);j=q;j=eh(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;Yg(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=tc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function uc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23680:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9456+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(nh()|0)>>2]=84;f=-1}i=l;return f|0}function vc(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Wa(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Wf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Tg(1,0,g|0,e|0)|0;b=eh(b|0,C|0,d|0,h|0)|0}r=(Vf(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=eh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)vf(15149,l);if((b|0)==-1)vf(15180,o);og(c[m>>2]|0)|0;og(c[a+12>>2]|0)|0;og(c[n>>2]|0)|0;i=q;return 0}function xc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function yc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=c[e>>2]|0;if(k>>>0>=f>>>0)Aa(18590,18384,682,18609);c[e>>2]=k+24;f=$i(c[i+12>>2]|0)|0;m=k;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=a+4|0;c[k+8>>2]=c[m>>2];c[k+12>>2]=c[a+8>>2];f=a+12|0;c[k+16>>2]=c[f>>2];Ad(i,a);e=c[b>>2]|0;if(((e|0)!=0?(c[e+4>>2]|0)==(c[m>>2]|0):0)?(l=c[f>>2]|0,((c[e+8>>2]|0)+d|0)>>>0>=l>>>0):0){c[e+12>>2]=l;f=e+16|0;c[f>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);j=+g[a+20>>2];f=e+20|0;if(j<+g[f>>2])g[f>>2]=j;j=+g[a+24>>2];f=e+24|0;if(j>+g[f>>2])g[f>>2]=j;m=e+28|0;g[m>>2]=+g[a+28>>2]+ +g[m>>2];m=e+32|0;g[m>>2]=+g[a+32>>2]+ +g[m>>2]}else{k=bf(h,48)|0;i=k;f=a;e=i+48|0;do{c[i>>2]=c[f>>2];i=i+4|0;f=f+4|0}while((i|0)<(e|0));c[k>>2]=c[b>>2];c[b>>2]=k}return}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){td(b);break}if((og(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];rh(13639,k)}}else{if(!(c[a+20>>2]&2)){if(jg(d)|0){c[f>>2]=c[a+12>>2];rh(13608,f)}}else{gd(d)|0;if(jg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];rh(13578,e)}}if((he(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];rh(13639,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((hb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Df(13261,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;rh(13669,l)}if(b|0)Aa(13710,12914,435,13728);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;rh(13744,m)}i=n;return d>>>8&255|0}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;c[n>>2]=0;h=0;j=0;while(1){if(!a){a=15;break}if(((j|0)!=0?(c[j+4>>2]|0)==(c[a+4>>2]|0):0)?(m=c[a+12>>2]|0,m>>>0<=((c[j+8>>2]|0)+b|0)>>>0):0){e=j+12|0;if((c[e>>2]|0)>>>0>=m>>>0){a=8;break}c[e>>2]=m;e=j+16|0;c[e>>2]=(c[e>>2]|0)+(c[a+16>>2]|0);e=j+20|0;f=+g[a+20>>2];if(+g[e>>2]>f)g[e>>2]=f;e=j+24|0;f=+g[a+24>>2];if(+g[e>>2]<f)g[e>>2]=f;e=j+28|0;g[e>>2]=+g[a+28>>2]+ +g[e>>2];e=j+32|0;g[e>>2]=+g[a+32>>2]+ +g[e>>2];e=j}else{l=bf(d,48)|0;e=l;j=a;k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[l>>2]=h;c[n>>2]=l;h=l;e=l}j=e;a=c[a>>2]|0}if((a|0)==8)Aa(18501,18384,729,18524);else if((a|0)==15){gg(n);i=o;return c[n>>2]|0}return 0}function Bc(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+120|0;r=s+80|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((vb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=jj(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=vb(b,d,o,q,r)|0;if(h){kb[c[b+36>>2]&7](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=vb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)ij(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Cc(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=dc(0,0,0)|0;else d=$b(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Pf(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;ve(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[144+(h*12|0)+2>>1];c[a+140>>2]=e[144+(h*12|0)>>1];c[a+144>>2]=e[144+(h*12|0)+4>>1];c[a+124>>2]=e[144+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Dc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ih(24308)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Vd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;ng(h,4,12708,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Zg(512)|0;c[h>>2]=f;di(f,b);di(f,14389);d=b+16|0;if(a[d>>0]|0){d=Dc(d)|0;di(f,d);Gi(d);d=b+2064|0;if(a[d>>0]|0){di(f,14485);d=Dc(d)|0;di(f,d);Gi(d)}di(f,14487)}di(f,b+4112|0);if(!((Ue(b,14422)|0)==0?!(Ue(14457,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Ue(b,14393)|0)==0?(Ue(14454,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Ue(b,14410)|0)==0?(Ue(14489,d)|0)==0:0)break;di(f,14485);di(f,d)}while(0);di(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Cg(f,14493,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Cg(f,14510,k)}k=xg(h)|0;i=l;return k|0}function Fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Kb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}og(a)|0;if((h|0)>0)Gi(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Uf(19043,f)|0)==0?(Uf(19051,f)|0)==0:0){g=11;break}f=ae(g,f)|0;c[j>>2]=f;a=Zb(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;$g(15900,k);g=14}else if((g|0)==11){c[l>>2]=f;$g(15954,l);g=14}else if((g|0)==13){c[m>>2]=f;$g(15984,m);g=14}if((g|0)==14)if((b|0)>0){Gi(f);b=0}else b=0;i=n;return b|0}function Gc(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=kh(c[g>>2]|0)|0;wf(j,k,1);wf(j,l,1);wf(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;wf(j,g+12|0,4);wf(j,g+16|0,4);wf(j,g+20|0,4);wf(j,g+24|0,4);f=g+32|0;wf(j,f,8);h=g+40|0;f=Tg(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;wf(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;Yg(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Gc(d,g,k,h,j)}}while(0);i=o;return}function Hc(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|0)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?b:0)|0}function Ic(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ah(qa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(nh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ah(qa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;ec(e,2,j)|0}if(b&2048){c[h>>2]=ec(e,3,k)|0|2048;ec(e,4,h)|0}}}}while(0);i=l;return e|0}function Jc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5908]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ah(fb(145,h|0)|0)|0}else{va(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ah(fb(145,g|0)|0)|0;ma(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Lc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=kh(a)|0;c[j>>2]=h;c[k>>2]=Jh(h<<2)|0;wf(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=$i(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;wf(f,e+4|0,4);wf(f,e+8|0,4);wf(f,e+12|0,4);wf(f,e+16|0,4);Wg(f,+g[e+20>>2]);Wg(f,+g[e+24>>2]);Wg(f,+g[e+28>>2]);Wg(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=$i(f)|0;e=((h|0)<0)<<31>>31;Jb(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,2,6,h,e,f);Gh(k)}else{h=bc(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=Zb(a,0)|0;if((d|0)<0){c[e>>2]=a;$g(15984,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Uf(19043,a)|0)==0?(Uf(19051,a)|0)==0:0){e=0;g=7}else if(!(Fc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=ih(a)|0;md(a,b,Gd(a)|0);do if(!(Gg(b,19067)|0)){if(Gg(b,19071)|0){Gi(b);g=12;break}f=(Gg(b,19074)|0)==0;Gi(b);if(f)b=Xf(a,1,d)|0;else g=12}else{Gi(b);g=12}while(0);if((g|0)==12)b=qg(a,1,d)|0;if(e)Gi(e)}}i=h;return b|0}function Nc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Aa(16650,16702,388,16714);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Jh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)gg(b);d=d+1|0}Gi(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Oc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){mb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;mb[c[b>>2]&3](c[e>>2]|0,d);d=b;b=c[f>>2]|0}mb[c[d>>2]&3](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Vd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Zg(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){di(e,12842);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){di(e,14416);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}di(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=xg(j)|0;if(!(c[a>>2]|0))rh(12846,k);if(!(b&8))e=0;else{Jg(l,pe(60,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Jg(l,pe(d,l)|0);e=e+1|0}i=m;return l|0}function Qc(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(!(Re(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=kb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((kb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);_d(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 Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Sc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Gd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Tc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Vd(16)|0;else l=bf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=ei(d,e)|0;else{k=bf(h,e+1|0)|0;c[l+4>>2]=k;_d(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Nc(b,hh(m)|0);return l|0}function Uc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=oj()|0;dj(23548)|0;if((c[5894]|0)!=0&(a|0)==(c[5895]|0)){Vf(2,13768,61)|0;Na(1)}bj(23548)|0;dj(23584)|0;dj(23548)|0;c[5895]=a;c[5894]=1;bj(23548)|0;if(!(c[5903]|0))c[5903]=ee(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;ng(d,64,14510,b)|0;a=Ee(c[5903]|0,d)|0;if(!a){a=Vd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Uh(c[5903]|0,d,a)|0}dj(23548)|0;c[5894]=0;bj(23548)|0;bj(23584)|0;i=e;return c[a+8>>2]|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Wc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=yf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Xc(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((lb[d&7](k,j)|0)>-1?(lb[d&7](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((lb[d&7](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);ud(b,o,e);i=p;return}function Yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9660;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(nh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Bc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Ue(b,19155)|0){if(!(Ue(b,16232)|0)){f=c[2276]|0;break}e=Nd(b,d)|0;if(!e){a:do if(!d)e=24308;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=16260;break a}case 119:{e=16250;break a}default:{e=e<<24>>24==97?16239:24308;break a}}}while(0);d=$d(c[(nh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;rh(16269,g)}else f=e}else f=c[2335]|0;while(0);i=h;return f|0}function _c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ie(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=bb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Si(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;_i(f);break}else{b=Va(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;$g(16091,f);b=0;break}}else{Te(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function $c(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Vd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[19862+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[19862+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[19862+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[19862+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function ad(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18927+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18927+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Da(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Df(12987,k);l=yh()|0;if(lg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Df(13010,f)}if(b|0?(Kf(b,0)|0)<0:0)Df(13037,g);if((d|0)!=1?(Kf(d,1)|0)<0:0)Df(13057,h);if((e|0)!=2?(Kf(e,2)|0)<0:0)Df(13078,j);Lg();i=k;return}function cd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=ig(c|0,d|0,10,0)|0;b=b+1|0;c=Tg(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Tg(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function dd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=Vb(a,b)|0;if((a|0)<0)a=-1;else{if((ed(a,1e6)|0)>0)lh(a,24308,0,0)|0;c[g>>2]=0;c[h>>2]=d;ng(f,256,14620,h)|0;do if(lh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,ng(f,256,14630,j)|0,(lh(a,f,0,0)|0)==0):0){og(a)|0;a=-1;break}if(!(lh(a,14640,0,0)|0)){og(a)|0;a=-1}}else{og(a)|0;a=-1}while(0)}i=k;return a|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=of(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(nh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=$d(a)|0;$g(14515,m)}i=n;return a|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Oe(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Vd(5)|0;c[g>>2]=f;if((Wf(e,f,4)|0)<4)Gh(g);else a[f+4>>0]=0;og(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Qd(e)|0,Gh(h),(g|0)!=0):0){h=$f(te(b)|0,33,b,0)|0;e=Xf(b,d,Qi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function gd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Od(a)|0;break}d=(jj(a)|0)==0;b=Od(a)|0;if(!d)ij(a)}else{if(!(c[2305]|0))b=0;else b=gd(c[2305]|0)|0;Za(23660);a=c[5914]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=jj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Od(a)|0|b;if(d|0)ij(a);a=c[a+56>>2]|0}while((a|0)!=0);Ta(23660)}while(0);return b|0}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Bf(e,0)|0;c[n>>2]=g;Sf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Bf(d,e)|0;else if(!f){e=Oe(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Df(13547,k)}else j=e}else j=0;c[m>>2]=j;e=$e(a,b,j,g)|0;Cf(m);if(!l)Cf(n);i=o;return e|0}function id(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[(nh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=yh()|0;c[g>>2]=f;ng(a,256,18689,g)|0;d=Ke(a,1)|0;c[g>>2]=d;if(!d){j=c[2306]|0;c[b>>2]=a;Ag(j,18726,b)|0;a=j}else{while(1){if(!(Of(d,e)|0))break;a=c[e>>2]|0;if(Db(a,18705)|0){j=5;break}}if((j|0)==5){j=c[2306]|0;c[h>>2]=f;c[h+4>>2]=a;Ag(j,18712,h)|0}td(g);a=c[2306]|0}gd(a)|0;i=k;return}function kd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Pd(k)|0;_d(j|0,d|0,e|0)|0;Gi(c);d=j;e=k;c=j}k=yb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ih(d)|0;Gi(c);c=l}i=h;return c|0}function ld(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function md(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Eg(f,12704,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function nd(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;ve(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){Qc(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;Qc(h,f,a)|0}while(0);i=j;return}function od(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(!(Re(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((kb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function pd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Dg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Yc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Dg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function qd(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;h=kh(a)|0;if((h|0)>0){f=Jh(h<<4)|0;g=0;e=0;while(1){if((g|0)==(h|0))break;j=c[a+4>>2]|0;i=Gd(j)|0;c[f+(g<<4)+4>>2]=j;c[f+(g<<4)+8>>2]=c[a+12>>2];c[f+(g<<4)+12>>2]=c[a+16>>2];g=g+1|0;e=(i|0)>(e|0)?i:e;a=c[a>>2]|0}Ub(f,h,16,5)}else{f=0;e=0}sc(f,16,h,((h|0)<0)<<31>>31,(h|0)>(b|0)?b:h,2,e,3,8,d);Gi(f);return}function rd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;f=c[b+92>>2]|0;if(f|0)mb[f&3](b,19183);if(c[b+56>>2]|0){c[g>>2]=c[b+4>>2];Df(19196,g)}a[b+48>>0]=0;f=c[b+72>>2]|0;if(!f){c[b+20>>2]=0;c[b+36>>2]=0;c[b+32>>2]=0;e=kf(c[b+8>>2]|0,d,e)|0;c[b+16>>2]=e;if((e|0)==-1){c[h>>2]=c[b+4>>2];Df(19240,h)}}else mf(f,d,((d|0)<0)<<31>>31);i=j;return}function sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(jj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=od(d,b)|0;ij(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=od(d,b)|0}while(0);return e|0}function td(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(uh(c[2335]|0)|0):0){og(c[d>>2]|0)|0;Gi(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Rb(d)}else ah(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)jb[d&3](f);Gi(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Jd(g);Gh(b)}return}function ud(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;_d(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;_d(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function vd(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=Tg(h^a|0,g^b|0,h|0,g|0)|0;b=C;Tb(a,b,Tg(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Tg(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function wd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Wf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Df(16329,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;rh(16354,g)}else if((d|0)==8){i=h;return}}function xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(vi(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(vi(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Gd(b)|0;h=Gd(c)|0;d=0;e=Db(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Db(e+g|0,b)|0}f=Gd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Vd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Db(a,b)|0;d=f;while(1){if(!a)break;yi(d,e)|0;j=a+g|0;i=d+(a-e)|0;yi(i,c)|0;e=j;a=Db(j,b)|0;d=i+h|0}yi(d,e)|0;return f|0}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;c[f+(e<<5)>>2]=c[b+4>>2];c[f+(e<<5)+4>>2]=c[b+8>>2];c[f+(e<<5)+8>>2]=c[b+12>>2];c[f+(e<<5)+12>>2]=c[b+16>>2];c[f+(e<<5)+16>>2]=c[b+20>>2];c[f+(e<<5)+20>>2]=c[b+24>>2];c[f+(e<<5)+24>>2]=c[b+28>>2];c[f+(e<<5)+28>>2]=c[b+32>>2];b=e+1|0;c[d>>2]=b;if((b|0)>=(c[a+8>>2]|0))Zd(a);return}function Bd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Bh(f,-1,19927,56)|0;if(a|0){f=a;i=g;return f|0}a=tb(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Oc(f)|0;i=g;return f|0}else{Oc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Cd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ig(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Dd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(kb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((kb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Fd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Eg(f,12704,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Gd(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 Hd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Mg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Hd(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 Id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Ee(c[e>>2]|0,d)|0)){Uh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Ag(g,19265,h)|0}}}while(0);i=j;return}function Jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;ti(d);d=g}e=e+1|0}}else{ph(b);b=d+8|0}while(0);Gi(c[b>>2]|0);Gh(a)}return}function Kd(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[19]|0;if(!((b|0)!=0&d>>>0>b>>>0)){h=e;c[h>>2]=b;c[h+4>>2]=0;h=e+8|0;c[h>>2]=d;c[h+4>>2]=0;rh(17050,e)}d=Bi(a,b)|0;if(!d){h=c[(nh()|0)>>2]|0;g=f;c[g>>2]=b;c[g+4>>2]=0;c[f+8>>2]=h;rh(17114,f)}else{i=g;return d|0}return 0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=ec(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((ec(a,4,f)|0)<0){c[g>>2]=$d(c[(nh()|0)>>2]|0)|0;$g(14074,g);d=-1}else d=0}else{c[e>>2]=$d(c[(nh()|0)>>2]|0)|0;$g(14043,e);d=-1}i=h;return d|0}function Md(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18935+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18943+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18943+f>>0]}while(0);return}function Nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Hc(23258,a[d>>0]|0,4)|0){h=gf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ah($a(5,e|0)|0)|0;if((e|0)>=0){b=qc(e,d)|0;if(!b){c[f>>2]=e;La(6,f|0)|0;b=0}}else b=0}else{c[(nh()|0)>>2]=22;b=0}i=g;return b|0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(kb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)kb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;b=c[19]|0;if(!((a|0)!=0&b>>>0>a>>>0)){g=d;c[g>>2]=a;c[g+4>>2]=0;g=d+8|0;c[g>>2]=b;c[g+4>>2]=0;rh(16926,d)}b=Yi(a)|0;if(!b){g=c[(nh()|0)>>2]|0;f=e;c[f>>2]=a;c[f+4>>2]=0;c[e+8>>2]=g;rh(16984,e)}else{i=f;return b|0}return 0}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Uf(19003,a)|0))if(!(Uf(19006,a)|0))if(!(Uf(19010,a)|0))if(!(Uf(19013,a)|0))a=0;else{a=19018;e=5}else{a=19022;e=5}else{a=19026;e=5}else{a=19028;e=5}if((e|0)==5){c[d>>2]=a;ng(b,20,19031,d)|0;a=ih(b)|0}i=f;return a|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;bh(e,b,16);a=se(12548,c[14]|0)|0;c[14]=a;Wi(_(a,1e9)|0);c[2]=se(12556,c[2]|0)|0;c[3]=se(12566,c[3]|0)|0;c[5886]=(Mi(12579)|0)==0&1;if((c[e>>2]|0)!=4)Fg();Nb(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);if((kj()|0)>1)jd();i=d;return 0}function Sd(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=Tg(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Tg((Tb(h,g,Tg(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Ff(h,0);e=+ub(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Ud(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=Zf(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Lh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Vd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;rh(17186,b)}b=Yi(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(17239,d)}else{ve(b|0,0,a|0)|0;i=e;return b|0}return 0}function Wd(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)kb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18877;break}case 2:{a=18856;break}case -1:{a=18845;break}case -2:{a=18829;break}case -3:{a=18829;break}case -4:{a=18814;break}case -5:{a=18799;break}case -6:{a=18780;break}case 0:{a=0;break}default:{c[b>>2]=a;ng(24180,128,18761,b)|0;a=24180}}i=d;return a|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=sb(b)|0;return a|0}if(b>>>0>4294967231){c[(nh()|0)>>2]=12;a=0;return a|0}d=Ob(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=sb(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;_d(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;zb(a);a=d;return a|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;d=a+4|0;b=c[d>>2]|0;if(b|0){b=b<<5;if(!(c[a+16>>2]|0))wf(c[a+12>>2]|0,c[a>>2]|0,b);else{h=Ai(b)|0;f=Oa()|0;g=i;i=i+((1*h|0)+15&-16)|0;b=Je(c[a>>2]|0,b,g,h)|0;wf(c[a+12>>2]|0,g,b);za(f|0)}c[d>>2]=0}i=e;return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ha(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 $d(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21326+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21414;e=5;break}}if((e|0)==2)if(!c)b=21414;else{b=21414;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 ae(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;cc(b,g);cc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){ff(e,2048,d);ff(f+2064|0,2048,g+2064|0)}g=Ec(f)|0;i=h;return g|0}function be(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Of(b,d)|0))break;if((Uf(19503,c[d>>2]|0)|0)==0?(Uf(19511,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Pg(2,19554,f)}if((g|0)==5){c[e>>2]=c[d>>2];Pg(2,19517,e);a[b+48>>0]=1}i=h;return}function ce(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function de(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;rh(16001,k)}else{c[j>>2]=e;Ih(d,j)}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Aa(16650,16702,357,16725);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=rg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Jh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function fe(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Ff(j,0);e=Eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ge(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;ng(h,256,14691,j)|0;j=$c(h,Gd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Cg(e,14697,k);Gh(g)}i=l;return}function he(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Za(23660);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5914]|0)==(a|0))c[5914]=b;Ta(23660)}b=gd(a)|0;b=ob[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)zb(d);if(!e)zb(a);return b|0}function ie(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=kf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16531;else e=(d|0)==2?16490:16499;else e=16522;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Df(16540,g);return 0}function je(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2276]|0;if((c[f+76>>2]|0)>-1)g=jj(f)|0;else g=0;do if((ni(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=(od(f,10)|0)<0}while(0);if(g|0)ij(f);return d<<31>>31|0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Gi(e);f=f+1|0}Gi(b);Gi(i);i=h}Gh(g+12|0);Gh(g+28|0);Gh(a)}return}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Ci(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;rh(19455,g);return +(0.0)}function me(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+16|0;f=h;e=(a|0)<10?10:a;a=0;while(1){if((a|0)>=10){a=10;break}c[d+(a<<2)>>2]=0;c[b+(a<<2)>>2]=e;if((e|0)>536870911){g=4;break}e=e<<2;a=a+1|0}if((g|0)==4){a=a+1|0;c[f>>2]=a;Pg(2,18333,f)}i=h;return a|0}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;rh(19407,f)}j=Dd(d)|0;i=g;return j|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;e=b+-1|0;d=0;while(1){if(!a)break;j=c[a+8>>2]|0;h=((e+j|0)>>>0)/(b>>>0)|0;c[f>>2]=c[a+4>>2];c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=b;Pg(2,18566,f);d=h+d|0;a=c[a>>2]|0}i=g;return d|0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Vd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ih(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Kc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Rc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function re(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2276]|0);if((b|0)==(c[2335]|0)|d)if(d){gd(b)|0;b=1}else b=1;else if(!(he(b)|0))b=1;else{vf(16585,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=mg(b)|0;do if((f|0)!=0?(Ue(f,17834)|0)!=0:0){d=Oh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;rh(17557,h)}else e=d;while(0);i=j;return e|0}function te(a){a=a|0;var b=0;b=ih(a)|0;if(!(((Uf(19043,a)|0)==0?(Uf(19051,a)|0)==0:0)?!(Uf(19060,a)|0):0))md(a,b,Gd(a)|0);if(!(Gg(b,19067)|0))if(!(Gg(b,19071)|0))if(!(Gg(b,19074)|0)){a=(Gg(b,19079)|0)==0;a=a?0:96}else a=132;else a=120;else a=108;Gi(b);return a|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Jh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;rh(17955,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function ve(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 we(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=xi(e&65535)|0;if(d){h=Ti(_c(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=ji(b,59)|0;if((g|0?Uf(14398,g)|0:0)?(i=(wh(g,61)|0)+1|0,h=wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=cd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=cd(b)|0;c[e>>2]=f}}return}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ee(0,1)|0;b=qh(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(eg(b,f,2)|0))break;b=c[f>>2]|0;$h(d,b,jh(c[a>>2]|0)|0)|0;b=c[e>>2]|0}td(e);i=g;return d|0}function ze(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 Ae(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ah(qa(102,h|0)|0)|0;i=g;return e|0}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Zg(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){di(e,14416);b=c[d>>2]|0}di(e,b);f=f+1|0}g=xg(g)|0;i=h;return g|0}function Ce(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ah(qa(102,h|0)|0)|0;i=g;return e|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Ue(a,14393)|0)if(!(Ue(a,14410)|0)){d=Xg(a+4112|0,Dd(a+6160|0)|0)|0;break}else{c[e>>2]=b;rh(14649,e)}else d=Vb(a+4112|0,Dd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Ue(c[e+4>>2]|0,d)|0)!=0);return e|0}function Fe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;h=a+4|0;i=a+8|0;f=e[a>>1]|0;g=0;while(1){if((g|0)>=(f|0))break;a=Gd(c[b+((e[(c[h>>2]|0)+(g<<1)>>1]|0)<<2)>>2]|0)|0;d=(c[i>>2]|0)+(g<<2)|0;if((a|0)>(c[d>>2]|0))c[d>>2]=a;g=g+1|0}return}function Ge(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((Ah(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 He(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+32|0;f=g;e=g+8|0;if(!b)Aa(16131,16145,55,16160);if((c[18]|0)<0)c[18]=Hf()|0;h=Hf()|0;c[e>>2]=d;dg(a,b,e);c[f>>2]=h-(c[18]|0);Pg(a,16172,f);c[18]=h;i=g;return}function Ie(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=Bd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=Xd(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;rh(18893,g)}return 0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Ue(a,19155)|0){if(te(a)|0){c=fd(a,b)|0;break}c=Oe(a,0,c)|0;if((c|0)==-1)c=0;else c=Xf(a,b,c)|0}else c=ki(b)|0;while(0);i=d;return c|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Vf(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Df(16396,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;rh(16422,e)}}function Me(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;return rb[a&1](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)|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;h=k;while(1){if(!(Lb(b,h,j)|0)){g=0;break}g=c[h>>2]|0;if((a[g>>0]|0)==35)continue;g=xd(g,d,e,f)|0;if(g|0)break}i=k;return g|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ah($a(5,f|0)|0)|0;i=e;return d|0}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Dg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;_d(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ah(qa(102,f|0)|0)|0;i=e;return d|0}function Re(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 Se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=eh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Le(b,d,e);return}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((Xb(2,a,d)|0)<0){b=$d(c[(nh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;$g(16050,e);a=0}else{c[b>>2]=Si(c[d>>2]|0)|0;a=1}i=f;return a|0}function Ue(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 Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=eh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;wd(b,d,e);return}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Ae(a,1,20,d,8)|0)>=0)if((Ae(a,1,21,d,8)|0)<0){$g(13938,e);a=-1}else a=0;else{$g(13888,f);a=-1}i=f;return a|0}
+function Xe(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,Sa(54,f|0)|0):0)a[b+75>>0]=-1;f=pc(b,d,e)|0;i=g;return f|0}function Ye(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Lb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=yd(f,d,e)|0;if(f|0)break}i=j;return f|0}function Ze(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=hi(a[e>>0]|0)|0;c=c<<24>>24;b=(hi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function _e(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 $e(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;Sf(b);a=Pc(a,b)|0;if(!(b&1)){b=ag(a+16|0)|0;c[f>>2]=b;Sb(a,b,d,e,0,0);Cf(f)}else Nf(a,d,e,0,0);i=g;return a|0}function af(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=wb(e,b,d)|0;i=g;return h|0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=ue(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function cf(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=kb[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function df(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Yc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;rh(16599,g)}return 0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Hc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;_d(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Gd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;rh(16186,f)}else{yi(a,d)|0;i=g;return}}function gf(b){b=b|0;var c=0,d=0,e=0;d=(wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wh(b,120)|0)==0;d=e?d:d|128;b=(wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((d|0)<(b|0)){g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(19358,e)}else{i=f;return}}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(19318,e)}}function kf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ah(db(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function lf(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=(jj(e)|0)==0;a=Qc(a,f,e)|0;if(!g)ij(e)}else a=Qc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=eh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(19567)hg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function nf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2276]|0;else{je(13830)|0;je(13855)|0;d=c[2276]|0;Bc(d,a,b)|0;sd(10,d)|0;gd(d)|0}gd(d)|0;d=c[2306]|0;Bc(d,a,b)|0;sd(10,d)|0;gd(d)|0}return}function of(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ah(eb(142,h|0)|0)|0;i=g;return d|0}function pf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)qf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function rf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Pd(h)|0;a=a+136|0;hg(a,b,d+64|0,0)|0;Ve(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function sf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ke(a,b)|0;if(!b){e=$d(c[(nh()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;rh(19161,d)}else{i=e;return b|0}return 0}function tf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Ng(e)|0,(a[d>>0]|0)!=0):0){e=Mf(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function uf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=$d(c[(nh()|0)>>2]|0)|0;c[g+4>>2]=a;zg(f,13882,g)|0;dh(f,e);i=d;return}function wf(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?(lf(b,d,1,a)|0)!=1:0){a=$d(jg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;rh(16299,e)}i=f;return}function xf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _d(b,c,d)|0;return b|0}function yf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Wd(a)|0)!=0:0)b=-1;else if((kb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;rh(13204,e)}}function Af(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 Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Oe(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Df(13515,d)}else{i=e;return b|0}return 0}function Cf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((og(b)|0)<0){c[d>>2]=b;Df(13239,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=$d(c[(nh()|0)>>2]|0)|0;c[f+4>>2]=a;zg(e,13882,f)|0;Ih(e,d)}function Ef(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+Ci(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;rh(16032,e);return +(0.0)}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Gf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((og(b)|0)<0)Df(16572,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Hf(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;d=e;cb(d|0,0)|0;a=c[5907]|0;b=c[d>>2]|0;if(!a){c[5907]=b;a=b}i=e;return ((b-a|0)*1e3|0)+((c[d+4>>2]|0)/1e3|0)|0}function If(a){a=a|0;var b=0,d=0,f=0,g=0;f=a+4|0;b=e[a>>1]|0;d=0;a=0;while(1){if((d|0)==(b|0))break;g=e[(c[f>>2]|0)+(d<<1)>>1]|0;d=d+1|0;a=(g|0)>(a|0)?g:a}return a|0}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Th(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Aa(19099,19121,352,19137)}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=ra(63,e|0)|0}while((d|0)==-16);e=Ah(d)|0;i=f;return e|0}function Lf(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(jj(a)|0)==0;Ed(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)ij(a)}else{Ed(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Mf(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(vi(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Nf(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;g=i;i=i+16|0;h=g;c[a+16>>2]=ag(h)|0;Sb(a,b,c[h>>2]|0,d,e,f);Cf(h);i=g;return}function Of(b,d){b=b|0;d=d|0;a:while(1){if(!(Lb(b,d,0)|0)){b=0;break}switch(a[(Ng(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Pf(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=264;c[a+2852>>2]=a+2440;c[a+2860>>2]=400;c[a+2864>>2]=a+2684;c[a+2872>>2]=540;b[a+5816>>1]=0;c[a+5820>>2]=0;xc(a);return}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_d(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Wf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Sf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{rh(12713,c);break}default:{}}if((a&18|0)==16)rh(12779,b);else{i=c;return}}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(jj(a)|0)==0;b=Ed(a,b,d)|0;if(!e)ij(a)}else b=Ed(a,b,d)|0;return b|0}function Uf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(ab(4,f|0)|0)|0;i=e;return a|0}function Wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(Xa(3,f|0)|0)|0;i=e;return a|0}function Xf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Vd(104)|0;c[f+4>>2]=ih(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Vd(65537)|0;return f|0}function Yf(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;ba(8);return 0}function Zf(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;Tb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=$e(g,b,d,e)|0;i=f;return e|0}function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=hd(g,b,d,e)|0;i=f;return e|0}function ag(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Qg(b)|0)<0)Df(12876,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function bg(b){b=b|0;var c=0,d=0;c=Gd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(vi(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function dg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[17]|0)>=(a|0)){a=c[5904]|0;if(!a){a=c[2306]|0;c[5904]=a}Bc(a,b,d)|0;gd(c[5904]|0)|0}return}function eg(a,b,c){a=a|0;b=b|0;c=c|0;b=Ye(a,b,c)|0;if(b)if((b|0)<(c|0)){jf(a,c,b);b=1}else b=1;else b=0;return b|0}function fg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=eh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return ie(b,d,e)|0}function ig(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=pf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function jg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(jj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)ij(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Vd(20)|0;c[e>>2]=Jh(a<<5)|0;c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=d;return e|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ah(Ra(57,e|0)|0)|0;i=d;return a|0}function mg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5905]|0;if(!b)rh(17923,d);else{a=fh(b,a)|0;i=d;return a|0}return 0}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=df(a,b,d,g)|0;i=f;return e|0}function og(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=La(6,d|0)|0;a=Ah((a|0)==-4?-115:a)|0;i=b;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Ue(d,a)|0))break;b=b+8|0}return b|0}function qg(a,b,d){a=a|0;b=b|0;d=d|0;d=_f(te(a)|0,33,d,2)|0;b=Xf(a,b,Qi(d)|0)|0;c[b+56>>2]=d;return b|0}function rg(a){a=a|0;var b=0;b=Vd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;ue(b,a)|0;return b|0}function sg(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=Ah(La(6,d|0)|0)|0;i=b;return a|0}function tg(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]}function ug(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return nb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function wg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Vd(d+1|0)|0;c=(c|0)<(d|0)?c:d;_d(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function xg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Aa(18642,18653,40,18669);else{b=c[b+4>>2]|0;Gh(a);return b|0}return 0}function yg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=ii(c<<24>>24)|0;d=d+1|0}return b|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xh(a,b,f)|0;i=e;return d|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Bc(a,b,f)|0;i=e;return d|0}function Bg(a,b,d){a=a|0;b=b|0;d=d|0;b=b+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Cg(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;pd(a,b,f);i=e;return}function Dg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Th(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=af(a,b,f)|0;i=e;return d|0}function Fg(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=4;c[a+4>>2]=d;c[a+8>>2]=b;rh(11076,a)}function Gg(a,b){a=a|0;b=b|0;var c=0;c=Gd(a)|0;c=c-(Gd(b)|0)|0;if((c|0)<0)c=0;else c=(Ue(a+c|0,b)|0)==0&1;return c|0}function Hg(a,b){a=a|0;b=b|0;wf(a,b,8);wf(a,b+8|0,8);wf(a,b+16|0,8);wf(a,b+24|0,8);wf(a,b+32|0,8);return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Kg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Gi(b);b=d}c[a>>2]=0;return}function Lg(){var a=0,b=0;a=Ia(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;og(b)|0;b=b+1|0}return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Ng(b){b=b|0;if(!b)b=0;else while(1)if(!(vi(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Og(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(jj(a)|0)==0;a=cf(a)|0}else a=cf(a)|0;return a|0}function Pg(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;dg(a,b,f);i=e;return}function Qg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ah(ua(42,d|0)|0)|0;i=b;return a|0}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;a=Kd(a,c)|0;if(c>>>0>b>>>0)ve(a+b|0,0,c-b|0)|0;return a|0}function Sg(){}function Tg(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 (C=d,a-c>>>0|0)|0}function Ug(a){a=a|0;var b=0;if(!a)a=Vd(8)|0;else{b=Vd((Gd(a)|0)+8|0)|0;yi(b+4|0,a)|0;a=b}return a|0}function Vg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[17]=a;c[d>>2]=0;i=b;return}function Wg(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;wf(a,d,4);i=c;return}function Xg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;rh(18951,d);return 0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;sd(b,a)|0;c=c+-1|0}return}function Zg(a){a=a|0;var b=0;b=Vd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Vd(a+1|0)|0;c[b+8>>2]=a;return b|0}function _g(){var a=0,b=0;b=i;i=i+16|0;a=Ic(2,1,0)|0;if((a|0)<0)$g(14013,b);i=b;return a|0}function $g(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;dh(a,e);i=d;return}function ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=zc(b)|0;ke(a)}return b|0}function bh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5905]|0)){Fh(Gb(a,b,0,d,0)|0);c[5906]=d}return}function ch(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Zd(b);Gi(c[b>>2]|0);Gh(a)}return}function dh(a,b){a=a|0;b=b|0;var d=0;d=Uc()|0;mb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function fh(a,b){a=a|0;b=b|0;a=Ee(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function hh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ih(a){a=a|0;var b=0;if(!a)a=0;else{b=Gd(a)|0;a=wg(a,b,b)|0}return a|0}function jh(a){a=a|0;var b=0;b=i;i=i+16|0;a=de(a,0,b)|0;i=b;return a|0}function kh(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ci(a,b);return rc(a,b,c,d)|0}function mh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function nh(){var a=0;if(!(c[5908]|0))a=23676;else a=c[(oj()|0)+64>>2]|0;return a|0}function oh(a){a=a|0;if(!a)a=0;else{a=Ng(a)|0;bg(a)}return a|0}function ph(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Kg(b);Gi(b);c[a>>2]=0}return}function qh(a){a=a|0;a=Mc(a)|0;if(!a)xh();else return a|0;return 0}function rh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ih(a,d)}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kb[a&7](b|0,c|0,d|0)|0}function th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Gi(c[b+4>>2]|0);Gh(a)}return}function uh(a){a=a|0;if((c[a+76>>2]|0)>-1?jj(a)|0:0)ij(a);return c[a+60>>2]|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;a=bf(a,c)|0;_d(a|0,b|0,c|0)|0;return a|0}function wh(b,c){b=b|0;c=c|0;b=Sc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xh(){var a=0;a=Uc()|0;qb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Na(-1)}function yh(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Gf(b+52|0);Gh(a)}return}function Ah(a){a=a|0;if(a>>>0>4294963200){c[(nh()|0)>>2]=0-a;a=-1}return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ac(a,b,8,15,8,0,c,d)|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pb[a&3](b|0,c|0,d|0)}function Dh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Eh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=id(a,b,0)|0;return a|0}function Fh(a){a=a|0;c[5905]=a;if(mg(17415)|0)Vg(se(17415,0)|0);return}function Gh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)aj(b);return}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Ih(a,b){a=a|0;b=b|0;c[(Uc()|0)+4>>2]=1;dh(a,b);xh()}function Jh(a){a=a|0;var b=0;b=Pd(a)|0;ve(b|0,0,a|0)|0;return b|0}function Kh(a,b){a=a|0;b=b|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Tb(a,b,c,d,0)|0}function Mh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,b,c,0,-2147483648)|0;return a|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,b,c,-2147483648,0)|0;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;return fc(a,b,14873,14882,c)|0}function Qh(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Rh(a,b){a=a|0;b=b|0;return Ue(c[a+4>>2]|0,c[b+4>>2]|0)|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&7](b|0,c|0)|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(a,b,c)|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;return Tc(a,b,Gd(b)|0,c)|0}function Vh(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Wh(a){a=a|0;if(!(re(a)|0))xh();else return}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,2147483647,b,c)|0}function Yh(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;mb[a&3](b|0,c|0)}function _h(){if((Pa(13863)|0)==0?(Pa(13873)|0)==0:0)Na(-1);Ma()}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return Uh(a,b,0+c|0)|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return sb(_(c,b)|0)|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;return ef(a,b,c)|0}function ci(a,b){a=a|0;b=b|0;Le(a,b,Gd(b)|0);return}function di(a,b){a=a|0;b=b|0;Pe(a,b,Gd(b)|0);return}function ei(a,b){a=a|0;b=b|0;return wg(a,Gd(a)|0,b)|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,0,c)|0}function gi(a,b){a=a|0;b=b|0;yi(b,c[a+4>>2]|0)|0;return}function hi(a){a=a|0;var b=0;b=(Oi(a)|0)==0;return (b?a:a&95)|0}function ii(a){a=a|0;var b=0;b=(Ni(a)|0)==0;return (b?a:a|32)|0}function ji(a,b){a=a|0;b=b|0;return fg(a,b,(Gd(a)|0)+1|0)|0}function ki(a){a=a|0;return Xf(19155,a,uh(c[2335]|0)|0)|0}function li(a){a=a|0;if(!(c[a+68>>2]|0))ij(a);return}function mi(a){a=a|0;if(!(c[a+68>>2]|0))ij(a);return}function ni(a,b){a=a|0;b=b|0;return (lf(a,Gd(a)|0,1,b)|0)+-1|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,1,c)|0}function pi(a){a=a|0;return ((a+-48|0)>>>0<10|(Hi(a)|0)!=0)&1|0}function qi(a){a=a|0;rd(a,0,0);c[a+28>>2]=0;return}function ri(a,b,c){a=a|0;b=b|0;c=c|0;return Tf(a,b,c)|0}function si(a,b){a=a|0;b=b|0;return ob[a&3](b|0)|0}function ti(a){a=a|0;Gi(c[a+4>>2]|0);Gi(a);return}function ui(a,b){a=a|0;b=b|0;i=a;j=b}function vi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function xi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function yi(a,b){a=a|0;b=b|0;Vc(a,b)|0;return a|0}function zi(a,b){a=a|0;b=b|0;jb[a&3](b|0)}function Ai(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Bi(a,b){a=a|0;b=b|0;return Yd(a,b)|0}function Ci(a,b){a=a|0;b=b|0;return +(+Td(a,b,1))}function Di(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function Ei(a){a=a|0;Yg(a,0,240);return}function Fi(a){a=a|0;Yg(a,0,64);return}function Gi(a){a=a|0;if(a|0)aj(a);return}function Hi(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Ii(a,b){a=+a;b=+b;return +(+uf(a,b))}function Ji(a,b){a=+a;b=b|0;return +(+Cd(a,b))}function Ki(a,b){a=+a;b=b|0;return +(+Hd(a,b))}function Li(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function Mi(a){a=a|0;return (mg(a)|0)!=0|0}function Ni(a){a=a|0;return (a+-65|0)>>>0<26|0}function Oi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Pi(a,b){a=a|0;b=b|0;zb(b);return}function Qi(a){a=a|0;return c[a+16>>2]|0}function Ri(a,b){a=+a;b=+b;return +(+_b(a,b))}function Si(a){a=a|0;return Qh(a|0)|0}function Ti(a){a=a|0;return Qh(a|0)|0}function Ui(a,b){a=a|0;b=b|0;ba(2);return 0}function Vi(){c[18]=Hf()|0;return}function Wi(a){a=a|0;c[19]=a;return}function Xi(a){a=a|0;qb[a&1]()}function Yi(a){a=a|0;return sb(a)|0}function Zi(a){a=a|0;return a+8|0}function _i(a){a=a|0;zb(a);return}function $i(a){a=a|0;return Og(a)|0}function aj(a){a=a|0;zb(a);return}function bj(a){a=a|0;return 0}function cj(a,b){a=a|0;b=b|0;ba(3)}function dj(a){a=a|0;return 0}function ej(a){a=a|0;i=a}function fj(a){a=a|0;C=a}function gj(a){a=a|0;ba(5);return 0}function hj(a){a=a|0;return a|0}function ij(a){a=a|0;return}function jj(a){a=a|0;return 0}function kj(){return c[17]|0}function lj(){return C|0}function mj(){return i|0}function nj(a){a=a|0;ba(0)}function oj(){return 0}function pj(){ba(7)}
 
 // EMSCRIPTEN_END_FUNCS
-var jb=[nj,mi,li,nj];var kb=[Di,Xe,Ge,pc,Jc,Qf,ai,bi];var lb=[Ui,Qb,Fb,Cb,Kh,Rh,mh,Ui];var mb=[cj,nf,gi,Pi];var nb=[Hh];var ob=[gj,sg,Zi,wc];var pb=[Li,Bg,cg,Li];var qb=[pj,_h];var rb=[Yf,Mb];return{_i64Subtract:Tg,_bitshift64Ashr:vg,_free:zb,_main:Rd,_htonl:Ti,_realloc:Yd,_i64Add:eh,_memmove:xf,_pthread_self:oj,_memset:ve,_pthread_mutex_unlock:bj,_malloc:sb,_pthread_mutex_lock:dj,_memcpy:_d,_llvm_bswap_i32:Qh,_bitshift64Lshr:Mg,_htons:xi,_bitshift64Shl:Ig,___errno_location:nh,_ntohs:wi,runPostSets:Sg,stackAlloc:Dh,stackSave:mj,stackRestore:ej,establishStackSpace:ui,setThrew:Vh,setTempRet0:fj,getTempRet0:lj,dynCall_vi:zi,dynCall_iiii:sh,dynCall_iii:Sh,dynCall_vii:Zh,dynCall_iiiiiii:ug,dynCall_ii:si,dynCall_viii:Ch,dynCall_v:Xi,dynCall_iiiiiiiiiiiiiii:Me}})
+var jb=[nj,mi,li,nj];var kb=[Di,Xe,Ge,pc,Jc,Qf,ai,bi];var lb=[Ui,Qb,Fb,Cb,Kh,Rh,mh,Ui];var mb=[cj,nf,gi,Pi];var nb=[Hh];var ob=[gj,sg,wc,Zi];var pb=[Li,Bg,cg,Li];var qb=[pj,_h];var rb=[Yf,Mb];return{_i64Subtract:Tg,_bitshift64Ashr:vg,_free:zb,_main:Rd,_htonl:Ti,_realloc:Yd,_i64Add:eh,_memmove:xf,_pthread_self:oj,_memset:ve,_pthread_mutex_unlock:bj,_malloc:sb,_pthread_mutex_lock:dj,_memcpy:_d,_llvm_bswap_i32:Qh,_bitshift64Lshr:Mg,_htons:xi,_bitshift64Shl:Ig,___errno_location:nh,_ntohs:wi,runPostSets:Sg,stackAlloc:Dh,stackSave:mj,stackRestore:ej,establishStackSpace:ui,setThrew:Vh,setTempRet0:fj,getTempRet0:lj,dynCall_vi:zi,dynCall_iiii:sh,dynCall_iii:Sh,dynCall_vii:Zh,dynCall_iiiiiii:ug,dynCall_ii:si,dynCall_viii:Ch,dynCall_v:Xi,dynCall_iiiiiiiiiiiiiii:Me}})
 
 
 // EMSCRIPTEN_END_ASM
diff --git a/bedTools/bedGraphToBigWig_static.js.mem b/bedTools/bedGraphToBigWig_static.js.mem
index 7b1c9a362ba48eb50ac85b2c048187313024523a..3dede7c735eeadb8292429dcaf3786f2e12f03b1 100644
Binary files a/bedTools/bedGraphToBigWig_static.js.mem and b/bedTools/bedGraphToBigWig_static.js.mem differ
diff --git a/bedTools/bedToBigBed_static.js b/bedTools/bedToBigBed_static.js
index 42260181d0e9d1841aae7b920aa38b67e3488299..f07bd91f49d24fbdbf6d3c60a5cbff742a03b698 100644
--- a/bedTools/bedToBigBed_static.js
+++ b/bedTools/bedToBigBed_static.js
@@ -1,12 +1,12 @@
-var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+33648;__ATINIT__.push();memoryInitializer="bedToBigBed_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_gai_strerror":_gai_strerror,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall195":___syscall195,"__exit":__exit,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"__read_sockaddr":__read_sockaddr,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+33648;__ATINIT__.push();memoryInitializer="bedToBigBed_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___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 _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__read_sockaddr":__read_sockaddr,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall195":___syscall195,"_sysconf":_sysconf,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"__exit":__exit,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_vi;var ea=env.invoke_iiii;var fa=env.invoke_iii;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiiiiiiiiiiiii;var ma=env._pthread_cleanup_pop;var na=env.___syscall221;var oa=env.__inet_pton4_raw;var pa=env.__inet_ntop6_raw;var qa=env.___syscall102;var ra=env.___syscall63;var sa=env.__inet_ntop4_raw;var ta=env._execvp;var ua=env.___syscall42;var va=env._pthread_cleanup_push;var wa=env._fork;var xa=env.__inet_pton6_raw;var ya=env.___syscall20;var za=env._llvm_stackrestore;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env._gai_strerror;var Da=env._signal;var Ea=env._wait;var Fa=env.___setErrNo;var Ga=env._sbrk;var Ha=env.___syscall195;var Ia=env.__exit;var Ja=env._execl;var Ka=env.__write_sockaddr;var La=env.___syscall6;var Ma=env._emscripten_memcpy_big;var Na=env._abort;var Oa=env._exit;var Pa=env._llvm_stacksave;var Qa=env._getenv;var Ra=env.___syscall51;var Sa=env.___syscall57;var Ta=env.___syscall54;var Ua=env.___unlock;var Va=env._pthread_create;var Wa=env._pthread_detach;var Xa=env.___syscall3;var Ya=env._sysconf;var Za=env.___lock;var _a=env._llvm_fabs_f64;var $a=env.___syscall5;var ab=env.___syscall4;var bb=env._getaddrinfo;var cb=env._gettimeofday;var db=env.___syscall140;var eb=env.___syscall142;var fb=env.__read_sockaddr;var gb=env.___syscall145;var hb=env.___syscall146;var ib=env._waitpid;var jb=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_vi;var ea=env.invoke_iiii;var fa=env.invoke_iii;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiiiiiiiiiiiii;var ma=env._pthread_cleanup_pop;var na=env.___syscall221;var oa=env.__inet_pton4_raw;var pa=env.__inet_ntop6_raw;var qa=env.___syscall102;var ra=env.___syscall63;var sa=env.__inet_ntop4_raw;var ta=env._execvp;var ua=env.___syscall42;var va=env._pthread_cleanup_push;var wa=env._fork;var xa=env.__inet_pton6_raw;var ya=env.___syscall20;var za=env._llvm_stackrestore;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env.__read_sockaddr;var Da=env._signal;var Ea=env._wait;var Fa=env.___setErrNo;var Ga=env._sbrk;var Ha=env.___syscall195;var Ia=env._sysconf;var Ja=env._execl;var Ka=env.__write_sockaddr;var La=env.___syscall6;var Ma=env._emscripten_memcpy_big;var Na=env._abort;var Oa=env._exit;var Pa=env._llvm_stacksave;var Qa=env._getenv;var Ra=env.___syscall51;var Sa=env.___syscall57;var Ta=env.___syscall54;var Ua=env.___unlock;var Va=env._pthread_create;var Wa=env._gai_strerror;var Xa=env._pthread_detach;var Ya=env.___syscall3;var Za=env.__exit;var _a=env.___lock;var $a=env._llvm_fabs_f64;var ab=env.___syscall5;var bb=env.___syscall4;var cb=env._getaddrinfo;var db=env._gettimeofday;var eb=env.___syscall140;var fb=env.___syscall142;var gb=env.___syscall145;var hb=env.___syscall146;var ib=env._waitpid;var jb=0.0;
 // EMSCRIPTEN_START_FUNCS
-function tb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[7736]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=30984+(b<<1<<2)|0;e=d+8|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[7740]|0)>>>0)Na();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Na()}else c[7736]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[7738]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=30984+(b<<1<<2)|0;e=d+8|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[7740]|0)>>>0)Na();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[7738]|0;break}else Na()}else{c[7736]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[7741]|0;b=l>>>3;d=30984+(b<<1<<2)|0;a=c[7736]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{m=a;n=b}}else{c[7736]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[7738]=h;c[7741]=e;N=j;i=O;return N|0}a=c[7737]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[31248+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[7740]|0;if(k>>>0<g>>>0)Na();j=k+q|0;if(k>>>0>=j>>>0)Na();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Na();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Na();a=f+12|0;if((c[a>>2]|0)!=(k|0))Na();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Na()}while(0);do if(h|0){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[7737]=c[7737]&~(1<<a);break}}else{if(h>>>0<(c[7740]|0)>>>0)Na();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[7740]|0;if(o>>>0<b>>>0)Na();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[7738]|0;if(a|0){f=c[7741]|0;b=a>>>3;e=30984+(b<<1<<2)|0;a=c[7736]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{r=a;s=b}}else{c[7736]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[7738]=d;c[7741]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[7737]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[31248+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[31248+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[7738]|0)-q|0)>>>0:0){f=c[7740]|0;if(k>>>0<f>>>0)Na();h=k+q|0;if(k>>>0>=h>>>0)Na();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Na();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Na();a=e+12|0;if((c[a>>2]|0)!=(k|0))Na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Na()}while(0);do if(g|0){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[7737]=c[7737]&~(1<<a);break}}else{if(g>>>0<(c[7740]|0)>>>0)Na();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[7740]|0;if(u>>>0<b>>>0)Na();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{w=a;x=b}}else{c[7736]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=31248+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Na()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[7738]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[7741]|0;if(a>>>0>15){N=b+q|0;c[7741]=N;c[7738]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[7738]=0;c[7741]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[7739]|0;if(a>>>0>q>>>0){L=a-q|0;c[7739]=L;N=c[7742]|0;M=N+q|0;c[7742]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[7854]|0)){c[7856]=4096;c[7855]=4096;c[7857]=-1;c[7858]=-1;c[7859]=0;c[7847]=0;x=p&-16^1431655768;c[p>>2]=x;c[7854]=x}h=q+48|0;g=c[7856]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[7846]|0;if(a|0?(w=c[7844]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[7847]&4)){a=c[7742]|0;c:do if(a){d=31392;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[7739]|0)&g;if(a>>>0<2147483647){b=Ga(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ga(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[7855]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[7844]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[7846]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ga(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[7856]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ga(y|0)|0)==(-1|0)){Ga(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[7847]=c[7847]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ga(k|0)|0,A=Ga(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[7844]|0)+f|0;c[7844]=a;if(a>>>0>(c[7845]|0)>>>0)c[7845]=a;j=c[7742]|0;do if(j){e=31392;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[7739]|0)|0;c[7742]=M;c[7739]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[7743]=c[7858];break}a=c[7740]|0;if(h>>>0<a>>>0){c[7740]=h;k=h}else k=a;d=h+f|0;a=31392;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=31392;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[7741]|0)){N=(c[7738]|0)+g|0;c[7738]=N;c[7741]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Na();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Na();b=f+12|0;if((c[b>>2]|0)!=(a|0))Na();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Na()}while(0);if(!h)break;b=c[a+28>>2]|0;d=31248+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[7740]|0)>>>0)Na();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[7737]=c[7737]&~(1<<b);break e}while(0);e=c[7740]|0;if(L>>>0<e>>>0)Na();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Na();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[7740]|0)>>>0)Na();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=30984+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Na();if((c[d+12>>2]|0)==(a|0))break;Na()}while(0);if((e|0)==(d|0)){c[7736]=c[7736]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Na();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Na()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;do if(!(b&a)){c[7736]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[7740]|0)>>>0){M=a;N=b;break}Na()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=31248+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Na()}}else{N=(c[7739]|0)+g|0;c[7739]=N;c[7742]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=31392;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[7742]=N;c[7739]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[7743]=c[7858];e=d+4|0;c[e>>2]=27;c[a>>2]=c[7848];c[a+4>>2]=c[7849];c[a+8>>2]=c[7850];c[a+12>>2]=c[7851];c[7848]=h;c[7849]=f;c[7851]=0;c[7850]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{J=a;K=b}}else{c[7736]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=31248+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Na()}}}else{N=c[7740]|0;if((N|0)==0|h>>>0<N>>>0)c[7740]=h;c[7848]=h;c[7849]=f;c[7851]=0;c[7745]=c[7854];c[7744]=-1;a=0;do{N=30984+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[7742]=M;c[7739]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[7743]=c[7858]}while(0);a=c[7739]|0;if(a>>>0>q>>>0){L=a-q|0;c[7739]=L;N=c[7742]|0;M=N+q|0;c[7742]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(zi()|0)>>2]=12;N=0;i=O;return N|0}function ub(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[382];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=fc(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=jc(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=jc(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=jc(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,re(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=jc(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=jc(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,re(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=jc(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=jc(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,re(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=jc(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,Ad(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,re(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=jc(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[382];e=-5;return e|0}}else{j=c[N>>2]|0;Ad(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;re(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[382];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?($b(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Cb(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,re(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Cb(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,re(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Cb(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,re(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){$b(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[27652+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[27140]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Cb(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,re(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Cb(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,re(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Cb(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,re(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=mb[c[772+((c[O+132>>2]|0)*12|0)+8>>2]&15](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{Ec(O);break}case 5:break;default:{xc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,Te(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;Ad(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;re(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;Ad(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,re(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[379];e=-2;return e|0}function vb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0}while((Qj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=jd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[30735+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=jd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[30744+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=jd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=jd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(zi()|0)>>2]=22;rg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=jd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=jd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;k=pi(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=pi(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=jd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else rg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=pi(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=rc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){rg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ph(o|0,n|0,2)|0;H=pi(H|0,C|0,-32,-1)|0;e=pi(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=pi(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=$h(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=pi(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+bk(+Sd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(zi()|0)>>2]=34;g=+ck(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=jd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=pi(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=pi(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=rc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){rg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=pi(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(zi()|0)>>2]=22;rg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[10400+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[10400+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[10400+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ph(c[p>>2]|0,0,29)|0;o=pi(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Zi(o|0,n|0,1e9,0)|0;o=Sg(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+bk(+Sd(1.0,105-o|0),j);m=+mk(j,+Sd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+mk(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(zi()|0)>>2]=34}while(0);g=+ck(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(zi()|0)>>2]=22;rg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function wb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(zi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)cd(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[28043+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}nc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Th(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=28523;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=28523;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=$h(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=28523;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?28523:28525;L=76}else{p=1;r=28524;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=28523;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=28523;o=N;break}case 109:{o=se(c[(zi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:30425;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Dd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?30433:30438}else{G=1;H=30435}else{q=-q;G=1;H=30432}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+dk(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ke(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[28507+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Dd(e,32,K,r,I);if(!(c[e>>2]&32))cd(y,w,e)|0;Dd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))cd(ea,o,e)|0;f=ba-p|0;Dd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))cd(t,f,e)|0;Dd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ph(c[r>>2]|0,0,t|0)|0;B=pi(B|0,C|0,o|0,0)|0;o=C;A=Sg(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Zi(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ke(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Dd(e,32,K,w,I);if(!(c[e>>2]&32))cd(H,G,e)|0;Dd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ke(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Te(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))cd(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;cd(30463,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ke(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Te(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))cd(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Dd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ke(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))cd(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}cd(30463,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Te(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))cd(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Dd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;cd(u,ba-u|0,e)|0}while(0);Dd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Dd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){cd(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))cd(s?(t?30744:30459):t?30451:30455,3,e)|0;Dd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=28523;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[28507+(o&15)>>0]|r;o=Th(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=28523;L=77}else{o=t;t=2;r=28523+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=28523;L=77}}else if((L|0)==76){f=ke(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Rc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=28523;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Si(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Dd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Si(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))cd(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Dd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Dd(e,32,o,s,p);if(!(c[e>>2]&32))cd(v,w,e)|0;Dd(e,48,o,s,p^65536);Dd(e,48,r,t,0);if(!(c[e>>2]&32))cd(f,t,e)|0;Dd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;nc(j+(m<<3)|0,n,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=ia;return m|0}function xb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Mk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Qj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{rg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=jd(e)|0}while((Qj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}rg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((jd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Te(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Te(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=tb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=jd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Dc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=pe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!($i(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=tb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=pe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+vb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Hb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;rg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=jd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Qj(d[m>>0]|0)|0))break;else n=m}rg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=jd(e)|0}while((Qj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Bb(l);Bb(f)}}else k=0;while(0);if(O|0)Lk(e);i=P;return k|0}function yb(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+272|0;Y=_+248|0;X=_+240|0;W=_+232|0;V=_+224|0;U=_+208|0;T=_+192|0;N=_+184|0;M=_+176|0;L=_+168|0;K=_+160|0;J=_+152|0;I=_+144|0;H=_+136|0;E=_+128|0;D=_+120|0;C=_+112|0;B=_+104|0;A=_+96|0;z=_+72|0;w=_+64|0;v=_+56|0;u=_+48|0;t=_+40|0;r=_+32|0;p=_+24|0;o=_+16|0;n=_;S=_+268|0;R=_+264|0;O=_+260|0;l=c[b>>2]|0;m=h+4|0;c[m>>2]=l;if((Wd(l)|0)>>>0>31){c[n>>2]=l;c[n+4>>2]=31;Lh(g,25509,n);l=c[m>>2]|0}if(!(a[l>>0]|0))Lh(g,25564,_+8|0);F=h+8|0;de(g,b,1,F,0,4,25595,0);G=h+12|0;de(g,b,2,G,0,4,25595,0);l=c[G>>2]|0;m=c[F>>2]|0;if(l>>>0<m>>>0){c[o>>2]=m;c[o+4>>2]=l;Lh(g,25603,o)}do if((e|0)>3){l=c[b+12>>2]|0;o=h+16|0;c[o>>2]=l;if((Wd(l)|0)>>>0>255){c[p>>2]=l;Lh(g,25639,p)}p=(k|0)==0;if(!p)c[o>>2]=ti(c[o>>2]|0)|0;if((e|0)>4){l=h+20|0;de(g,b,4,l,1,4,25595,0);if(p?(q=c[l>>2]|0,q>>>0>1e3):0){c[r>>2]=q;Lh(g,25694,r)}if((e|0)>5){l=b+20|0;if(p?(s=c[l>>2]|0,(Wd(s)|0)>>>0>1):0){c[t>>2]=s;Lh(g,25732,t)}t=a[c[l>>2]>>0]|0;a[h+24>>0]=t;a[h+25>>0]=0;switch(t<<24>>24){case 46:case 45:case 43:break;default:{c[u>>2]=c[l>>2];Lh(g,25732,u)}}if((e|0)>6){n=h+28|0;de(g,b,6,n,0,4,25595,0);if((e|0)>7){m=h+32|0;de(g,b,7,m,0,4,25595,0);l=c[n>>2]|0;if((c[m>>2]|0)>>>0<l>>>0){Lh(g,25776,v);l=c[n>>2]|0}do if(l|0){if(l>>>0>=(c[F>>2]|0)>>>0?l>>>0<=(c[G>>2]|0)>>>0:0)break;Lh(g,25802,w)}while(0);l=c[m>>2]|0;if(l|0?(y=c[F>>2]|0,x=c[G>>2]|0,l>>>0<y>>>0|l>>>0>x>>>0):0){w=c[n>>2]|0;c[z>>2]=c[o>>2];c[z+4>>2]=y;c[z+8>>2]=x;c[z+12>>2]=w;c[z+16>>2]=l;Lh(g,25867,z)}if((e|0)>8){l=c[b+32>>2]|0;if(!(Ji(l,44)|0))de(g,b,8,h+36|0,0,4,25595,0);else{l=ti(l)|0;if((_c(g,b,8,R,4,0,1,25595,0)|0)==3)c[h+36>>2]=d[R+1>>0]<<8|d[R>>0]<<16|d[R+2>>0];else{c[A>>2]=l;Lh(g,25956,A)}$j(l)}if((e|0)>9){r=h+40|0;de(g,b,9,r,0,4,25595,0);l=c[r>>2]|0;if(!l){c[B>>2]=0;Lh(g,26023,B);t=c[r>>2]|0}else t=l;l=i;i=i+((1*(t<<2)|0)+15&-16)|0;n=i;i=i+((1*(t<<2)|0)+15&-16)|0;s=i;i=i+((1*(t<<2)|0)+15&-16)|0;u=i;i=i+((1*(t<<2)|0)+15&-16)|0;if((e|0)<=10)break;if(p){m=_c(g,b,10,l,t,1,4,25595,1)|0;c[S>>2]=m;q=l}else{m=Xi((t<<2)+4|0)|0;q=h+44|0;c[q>>2]=m;m=_c(g,b,10,m,(c[r>>2]|0)+1|0,1,4,25595,1)|0;c[S>>2]=m;q=c[q>>2]|0}l=c[r>>2]|0;if((m|0)!=(l|0)){c[C>>2]=l;c[C+4>>2]=m;Lh(g,26066,C)}if((e|0)<=11)break;if(p){m=_c(g,b,11,n,t,1,4,25595,1)|0;c[S>>2]=m;p=n}else{m=Xi((c[r>>2]<<2)+4|0)|0;p=h+48|0;c[p>>2]=m;m=_c(g,b,11,m,(c[r>>2]|0)+1|0,1,4,25595,1)|0;c[S>>2]=m;p=c[p>>2]|0}l=c[r>>2]|0;if((m|0)!=(l|0)){c[D>>2]=l;c[D+4>>2]=m;Lh(g,26126,D)}l=c[p>>2]|0;if(!l)o=1;else{c[E>>2]=l;Lh(g,26187,E);o=1}while(1){l=c[r>>2]|0;if(o>>>0>=l>>>0)break;n=p+(o<<2)|0;l=c[n>>2]|0;m=c[F>>2]|0;do if((m+l|0)>>>0>=(c[G>>2]|0)>>>0)if(l>>>0<m>>>0){Lh(g,26456,I);break}else{Lh(g,26325,H);break}while(0);l=o+-1|0;if((c[n>>2]|0)<((c[q+(l<<2)>>2]|0)+(c[p+(l<<2)>>2]|0)|0)){c[J>>2]=l;c[J+4>>2]=o;Lh(g,26514,J)}o=o+1|0}J=l+-1|0;if(((c[p+(J<<2)>>2]|0)+(c[F>>2]|0)+(c[q+(J<<2)>>2]|0)|0)!=(c[G>>2]|0))Lh(g,26595,K);if((e|0)<=12)break;o=h+52|0;de(g,b,12,o,1,4,25595,1);l=c[o>>2]|0;if((l|0)<=0){c[L>>2]=l;Lh(g,26714,L)}n=(k|0)!=0;if(n){m=Xi((c[o>>2]<<2)+4|0)|0;c[h+56>>2]=m;m=_c(g,b,13,m,(c[o>>2]|0)+1|0,1,4,25595,1)|0}else m=_c(g,b,13,s,t,1,4,25595,1)|0;c[S>>2]=m;l=c[o>>2]|0;if((m|0)!=(l|0)){c[M>>2]=l;Lh(g,26755,M)}if((e|0)!=15)break;l=c[b+56>>2]|0;if(n){Bd(l,h+60|0,S);m=c[S>>2]|0}else{m=Ef(l,u,t)|0;c[S>>2]=m}l=c[o>>2]|0;if((m|0)==(l|0))break;c[N>>2]=l;Lh(g,26807,N)}}}else Z=34}else Z=23}else Z=23}else Z=23}else Z=23;while(0);if((Z|0)==23){c[h+28>>2]=c[F>>2];Z=34}if((Z|0)==34)c[h+32>>2]=c[G>>2];if(j|0){c[R>>2]=0;n=j+12|0;l=n;o=0;while(1){l=c[l>>2]|0;if((o|0)>=(f|0))break;m=c[c[l+12>>2]>>2]|0;if((((a[l+37>>0]|0)==0?(a[l+38>>0]|0)==0:0)?ek(m)|0:0)?a[l+36>>0]|0:0){c[O>>2]=0;de(g,b,o,O,1,4,25595,1);m=c[R>>2]|0;if(!m){m=ye(4,1)|0;c[R>>2]=m}tj(m,c[l+4>>2]|0,c[O>>2]|0)|0}o=o+1|0}p=fh(c[n>>2]|0,e)|0;o=e;while(1){if((o|0)>=(f|0))break;l=c[c[p+12>>2]>>2]|0;do if(!(a[p+37>>0]|0)){if(!(a[p+38>>0]|0)){if(ek(l)|0){O=(yi(l)|0)==0&1;e=Rf(l)|0;de(g,b,o,0,O,e,Af(l)|0,0);break}if(nk(l)|0){+Ie(g,b,o);break}if((l|0)==10?(P=c[b+(o<<2)>>2]|0,Q=Wd(P)|0,Q>>>0>255):0){e=c[p+4>>2]|0;O=T;c[O>>2]=Q;c[O+4>>2]=0;c[T+8>>2]=P;c[T+12>>2]=e;Lh(g,26862,T)}}}else if(ek(l)|0){e=(yi(l)|0)==0&1;m=Rf(l)|0;l=_c(g,b,o,0,10240,e,m,Af(l)|0,0)|0;c[S>>2]=l;m=c[p+24>>2]|0;if((m|0)>0){if((m|0)==(l|0))break;e=c[p+4>>2]|0;c[U>>2]=m;c[U+4>>2]=e;c[U+8>>2]=l;Lh(g,26931,U);break}l=c[R>>2]|0;m=p+28|0;if(!l){l=c[p+4>>2]|0;c[V>>2]=c[m>>2];c[V+4>>2]=l;Lh(g,26974,V);l=c[R>>2]|0}n=fi(l,c[m>>2]|0,-1)|0;if((n|0)!=-1){if((n|0)<=0){l=p+4|0;Z=115}}else{l=p+4|0;Z=c[l>>2]|0;c[W>>2]=c[m>>2];c[W+4>>2]=Z;Lh(g,26974,W);Z=115}if((Z|0)==115){Z=0;e=c[l>>2]|0;c[X>>2]=n;c[X+4>>2]=e;Lh(g,27051,X)}l=c[S>>2]|0;if((n|0)!=(l|0)){e=c[p+4>>2]|0;c[Y>>2]=n;c[Y+4>>2]=e;c[Y+8>>2]=l;Lh(g,26931,Y)}}while(0);p=c[p>>2]|0;o=o+1|0}_d(R)}i=_;return}function zb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function Ab(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=pi(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(18586==0?(wf(c[a+8>>2]|0,18600)|0)!=0:0){ba=a+32|0;T=ba;T=ob[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=pi(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=pi(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=pi(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=pi(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=$h(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=pi(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=$h((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=$h(k|0,j|0,f|0,d|0)|0;re(b|0,B+f|0,o|0)|0;e=pi(o|0,E|0,e|0,n|0)|0;f=C;d=$h(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=pi(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;ah(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=le(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=pi(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=$h(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(18586){y=pi(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=pi(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Zi(k|0,j|0,w|0,0)|0;t=pi(A|0,B|0,-1,-1)|0;t=pi(t|0,C|0,w|0,0)|0;w=Zi(t|0,C|0,w|0,0)|0;t=m+52|0;_f(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((zj(u,d,s)|0)<(s|0))f=0;else{$j(u);j=B;k=A;continue}while(1){o=zj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Ij(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=bh(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=bh(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=pi(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=$h(f|0,j|0,p|0,q|0)|0;k=C;f=oe(j)|0;c[W>>2]=f;m=ob[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}ah(Z,c[K>>2]|0,p,0)|0;uf(Z,c[K>>2]|0,f,j);Ui(W)}ce(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;ah(P,c[t>>2]|0,da+64|0,0)|0;uf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}$j(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);ah(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}xf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ei(18612,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Xh(4,18668,$);Xh(4,18714,aa);S=0;T=0;break}else if((n|0)==36){xf(Z,j,f,h);S=ba;S=pi(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=pi(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Bb(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;if(!a)return;d=a+-8|0;h=c[7740]|0;if(d>>>0<h>>>0)Na();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Na();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Na();if((k|0)==(c[7741]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[7738]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=30984+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Na();if((c[b+12>>2]|0)!=(k|0))Na()}if((d|0)==(b|0)){c[7736]=c[7736]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Na();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Na()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Na();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Na();a=e+12|0;if((c[a>>2]|0)!=(k|0))Na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Na()}while(0);if(f){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[7737]=c[7737]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[7740]|0;if(i>>>0<d>>>0)Na();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Na();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Na();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Na();if(!(b&2)){if((m|0)==(c[7742]|0)){p=(c[7739]|0)+g|0;c[7739]=p;c[7742]=q;c[q+4>>2]=p|1;if((q|0)!=(c[7741]|0))return;c[7741]=0;c[7738]=0;return}if((m|0)==(c[7741]|0)){p=(c[7738]|0)+g|0;c[7738]=p;c[7741]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();d=b+12|0;if((c[d>>2]|0)!=(m|0))Na();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Na()}while(0);if(f|0){a=c[m+28>>2]|0;b=31248+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[7737]=c[7737]&~(1<<a);break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[7740]|0;if(n>>>0<d>>>0)Na();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Na();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=30984+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[7740]|0)>>>0)Na();if((c[b+12>>2]|0)!=(m|0))Na()}if((d|0)==(b|0)){c[7736]=c[7736]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[7740]|0)>>>0)Na();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Na()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[7741]|0)){c[7738]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{o=a;p=b}}else{c[7736]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=31248+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[7737]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[7740]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Na()}}else{c[7737]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[7744]|0)+-1|0;c[7744]=q;if(!q)a=31400;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[7744]=-1;return}function Cb(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}zb(f,f+2840|0);zb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}zb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)xc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Tb(f,10432,11584);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[27908+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Kb(f,g,q);h=f+2440|0;Kb(f,h,r);Tb(f,g,h)}while(0);Gc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Db(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[7740]|0;if(l>>>0<i>>>0)Na();if((l|0)==(c[7741]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[7738]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=30984+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Na();if((c[a+12>>2]|0)!=(l|0))Na()}if((b|0)==(a|0)){c[7736]=c[7736]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Na();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Na()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Na();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Na();d=e+12|0;if((c[d>>2]|0)!=(l|0))Na();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Na()}while(0);if(f){d=c[l+28>>2]|0;a=31248+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[7737]=c[7737]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[7740]|0;if(j>>>0<b>>>0)Na();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[7740]|0;if(o>>>0<h>>>0)Na();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[7742]|0)){q=(c[7739]|0)+g|0;c[7739]=q;c[7742]=r;c[r+4>>2]=q|1;if((r|0)!=(c[7741]|0))return;c[7741]=0;c[7738]=0;return}if((o|0)==(c[7741]|0)){q=(c[7738]|0)+g|0;c[7738]=q;c[7741]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Na();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Na();d=e+12|0;if((c[d>>2]|0)!=(o|0))Na();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Na()}while(0);if(f|0){d=c[o+28>>2]|0;a=31248+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[7737]=c[7737]&~(1<<d);break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[7740]|0;if(n>>>0<b>>>0)Na();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=30984+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Na();if((c[a+12>>2]|0)!=(o|0))Na()}if((b|0)==(a|0)){c[7736]=c[7736]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Na();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Na()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[7741]|0)){c[7738]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=30984+(d<<1<<2)|0;a=c[7736]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[7740]|0)>>>0)Na();else{p=d;q=a}}else{c[7736]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=31248+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[7737]|0;a=1<<b;if(!(d&a)){c[7737]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[7740]|0)>>>0)Na();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[7740]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Na();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Eb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){$b(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=mc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,re(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[27652+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[27140+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,re(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,re(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,re(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Fb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Ji(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Xe(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Rc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Gb(a,d,f,g,j,k,l,m,n){a=a|0;d=d|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0;ba=i;i=i+512|0;$=ba+360|0;I=ba+352|0;v=ba+312|0;H=ba+296|0;S=ba+256|0;aa=ba+240|0;J=ba+232|0;p=ba+224|0;T=ba+476|0;Y=ba+480|0;D=ba+498|0;V=ba+496|0;U=ba+472|0;r=ba+216|0;y=ba+208|0;G=ba+468|0;_=ba+464|0;R=ba+200|0;O=ba+192|0;P=ba+494|0;Q=ba+184|0;z=ba+176|0;t=ba+424|0;u=ba+384|0;A=ba+168|0;E=ba+376|0;s=ba+372|0;w=ba+88|0;x=ba+8|0;Z=ba+368|0;K=ba+492|0;F=ba+490|0;M=ba+364|0;N=ba;B=ba+488|0;X=ba+486|0;W=ba+484|0;c[T>>2]=k;rk();o=$f(a,1)|0;c[Y>>2]=o;b[D>>1]=vi(c[k+12>>2]|0)|0;b[V>>1]=vi(m)|0;q=(m|0)!=0;if(q)L=Yc(m,k)|0;else L=0;m=We(d)|0;c[U>>2]=m;c[p>>2]=c[m+24>>2];c[p+4>>2]=d;Xh(2,13683,p);c[p>>2]=0;h[r>>3]=0.0;k=y;c[k>>2]=0;c[k+4>>2]=0;c[G>>2]=0;m=bc(o,m,L,p,r,y,c[7693]|0)|0;c[_>>2]=m;c[J>>2]=vi(m)|0;$e(1,13722,J);m=vi(m)|0;ca=+h[r>>3];c[aa>>2]=m;c[aa+4>>2]=a;h[aa+8>>3]=ca;Xh(2,13759,aa);m=md(n,13801)|0;c[aa>>2]=m;_j(m);Zj(c[aa>>2]|0);m=xk(c[aa>>2]|0)|0;k=J;c[k>>2]=m;c[k+4>>2]=((m|0)<0)<<31>>31;k=c[aa>>2]|0;dg(k,j,(Wd(j)|0)+1|0);c[S>>2]=e[D>>1];Xh(2,13804,S);k=S;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));p=xk(c[aa>>2]|0)|0;n=R;c[n>>2]=p;c[n+4>>2]=((p|0)<0)<<31>>31;Nh(c[aa>>2]|0,S);n=xk(c[aa>>2]|0)|0;p=O;c[p>>2]=n;c[p+4>>2]=((n|0)<0)<<31>>31;b[P>>1]=64;ei(c[aa>>2]|0,0,64);p=Q;c[p>>2]=0;c[p+4>>2]=0;if(q){n=xk(c[aa>>2]|0)|0;p=Q;c[p>>2]=n;c[p+4>>2]=((n|0)<0)<<31>>31;ei(c[aa>>2]|0,0,(e[V>>1]|0)*20|0);p=xk(c[aa>>2]|0)|0;n=p;p=((p|0)<0)<<31>>31}else{n=0;p=0}q=xk(c[aa>>2]|0)|0;a=z;c[a>>2]=q;c[a+4>>2]=((q|0)<0)<<31>>31;Gd(c[_>>2]|0,f,c[aa>>2]|0);a=Je(~~+h[r>>3],t,u)|0;q=xk(c[aa>>2]|0)|0;r=A;c[r>>2]=q;c[r+4>>2]=((q|0)<0)<<31>>31;c[E>>2]=0;c[s>>2]=0;dg(c[aa>>2]|0,y,8);r=y;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){d=s;m=0;o=0;k=0;j=0}else{k=Le(c[_>>2]|0,g)|0;c[s>>2]=Xi(k*24|0)|0;Kj(c[Y>>2]|0);if(L|0)hg(L,c[y>>2]|0);Ob(c[_>>2]|0,c[Y>>2]|0,c[T>>2]|0,g,c[s>>2]|0,k,l,c[aa>>2]|0,a,t,u,L,b[D>>1]|0,E);o=y;d=s;m=c[o>>2]|0;o=c[o+4>>2]|0;j=0}r=e[D>>1]|0;q=H;c[q>>2]=m;c[q+4>>2]=o;c[H+8>>2]=r;$e(1,13834,H);m=xk(c[aa>>2]|0)|0;o=((m|0)<0)<<31>>31;r=H;c[r>>2]=m;c[r+4>>2]=o;Lb(c[d>>2]|0,24,k,j,f,1,0,1,4,m,o,c[aa>>2]|0);Ui(s);$e(2,13902,v);s=y;if(!((c[s>>2]|0)==0&(c[s+4>>2]|0)==0)){d=c[Y>>2]|0;q=c[aa>>2]|0;r=e[D>>1]|0;s=A;s=$h(m|0,o|0,c[s>>2]|0,c[s+4>>2]|0)|0;vc(d,q,f,g,1,r,l,s,C,c[_>>2]|0,a,t,u,v,w,x,S)|0}a:do if(L|0){k=L+16|0;m=L+8|0;o=L+12|0;j=0;while(1){if((j|0)>=(e[L>>1]|0))break a;w=xk(c[aa>>2]|0)|0;x=(c[k>>2]|0)+(j<<3)|0;c[x>>2]=w;c[x+4>>2]=((w|0)<0)<<31>>31;c[7692]=c[(c[m>>2]|0)+(j<<2)>>2];Zb(c[(c[o>>2]|0)+(j<<2)>>2]|0,c[y>>2]|0,24,5);x=y;Bc(c[(c[o>>2]|0)+(j<<2)>>2]|0,24,c[x>>2]|0,c[x+4>>2]|0,f,1,c[7692]|0,2,16,c[aa>>2]|0);c[I>>2]=j;$e(1,13914,I);j=j+1|0}}while(0);if(l|0){I=g<<5;E=c[E>>2]|0;c[G>>2]=E>>>0>I>>>0?E:I}zg(c[aa>>2]|0);c[Z>>2]=-2021002517;b[K>>1]=4;b[F>>1]=0;c[M>>2]=0;I=N;c[I>>2]=0;c[I+4>>2]=0;b[B>>1]=c[7688];dg(c[aa>>2]|0,Z,4);dg(c[aa>>2]|0,K,2);dg(c[aa>>2]|0,F,2);dg(c[aa>>2]|0,z,8);dg(c[aa>>2]|0,A,8);dg(c[aa>>2]|0,H,8);dg(c[aa>>2]|0,D,2);dg(c[aa>>2]|0,B,2);dg(c[aa>>2]|0,J,8);dg(c[aa>>2]|0,R,8);dg(c[aa>>2]|0,G,4);dg(c[aa>>2]|0,O,8);if((xk(c[aa>>2]|0)|0)!=64)Aa(13949,13964,716,13978);c[$>>2]=0;Xh(2,13991,$);m=0;while(1){k=c[aa>>2]|0;if((m|0)==10)break;dg(k,M,4);dg(c[aa>>2]|0,M,4);dg(c[aa>>2]|0,N,8);dg(c[aa>>2]|0,N,8);m=m+1|0}Lj(k,c[R>>2]|0,0)|0;Nh(c[aa>>2]|0,S);Lj(c[aa>>2]|0,c[O>>2]|0,0)|0;dg(c[aa>>2]|0,P,2);dg(c[aa>>2]|0,V,2);dg(c[aa>>2]|0,Q,8);ei(c[aa>>2]|0,0,52);R=xk(c[aa>>2]|0)|0;S=O;S=$h(R|0,((R|0)<0)<<31>>31|0,c[S>>2]|0,c[S+4>>2]|0)|0;if(!((C|0)==0?(S|0)==(e[P>>1]|0):0))Aa(14018,13964,748,13978);if(b[V>>1]|0){Lj(c[aa>>2]|0,c[Q>>2]|0,0)|0;o=L+16|0;k=L+4|0;m=0;while(1){if((m|0)>=(e[V>>1]|0))break;b[$>>1]=0;b[X>>1]=1;dg(c[aa>>2]|0,$,2);dg(c[aa>>2]|0,X,2);dg(c[aa>>2]|0,(c[o>>2]|0)+(m<<3)|0,8);ei(c[aa>>2]|0,0,4);b[W>>1]=b[(c[k>>2]|0)+(m<<1)>>1]|0;dg(c[aa>>2]|0,W,2);ei(c[aa>>2]|0,0,2);m=m+1|0}$=xk(c[aa>>2]|0)|0;if(!(($|0)==(n|0)&((($|0)<0)<<31>>31|0)==(p|0)))Aa(14062,13964,770,13978)}Lj(c[aa>>2]|0,0,2)|0;dg(c[aa>>2]|0,Z,4);Jd(Y);nj(aa);_d(U);pg(_);vg(T);i=ba;return}function Hb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(zi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0}while((Qj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=jd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=jd(b)|0;if((d[30470+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){rg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[30470+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;rg(b,0);c[(zi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=jd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=bh(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=pi(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[30726+((e*23|0)>>>5&7)>>0]|0;j=a[30470+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Th(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ph(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[30470+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Zi(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=bh(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=pi(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[30470+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0}while((d[30470+i>>0]|0)>>>0<e>>>0);c[(zi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(zi()|0)>>2]=34;g=pi(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(zi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=$h(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Ib(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){$b(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=mc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[27652+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[27140+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,re(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,re(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,re(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Jb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ye(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(wf(r,20025)|0)){j=g;h=k;N=4;break}s=Ji(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Qj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Wd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Jj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)lj(Q,o,(m|0)==0?20447:m)|0;else{l=sh(o,f)|0;if(!l){l=sh(o,748)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}cj(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}aj(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Xj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Xj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?20447:m;l=sh(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=qi(Q,o)|0;l=ai(m)|0;if(!n){lj(Q,o,l)|0;break}else{Qh(n,l);break}}lj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ei(20036,z);break}case 34:{c[A>>2]=o;Ei(20062,A);break}case 36:{c[K>>2]=o;Ei(20101,K);break}case 38:{c[L>>2]=o;Ei(20137,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ei(20170,B);break}case 43:{c[C>>2]=o;Ei(20137,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ei(20212,D);break}case 48:{c[E>>2]=o;Ei(20256,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ei(20291,F);break}case 53:{c[G>>2]=o;Ei(20331,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ei(20367,H);break}case 57:{c[I>>2]=c[l>>2];Ei(20408,I);break}case 65:{Ei(20450,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Kb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Lb(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=uh(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=mb[k&15](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=Hf(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=bh(z|0,y|0,b|0,v|0)|0;p=a+p|0;qb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=pi(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=mb[k&15](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=pi(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=bh(q|0,C|0,b|0,v|0)|0;qb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=pi(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}$g(Q);c[H>>2]=vi(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Xh(2,17517,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}Hf(I,48)|0;y=Ii(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}$g(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;$g(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;dg(n,P,4);dg(n,M,4);dg(n,L,8);dg(n,g+12|0,4);dg(n,g+16|0,4);dg(n,g+20|0,4);dg(n,g+24|0,4);dg(n,O,8);dg(n,N,4);dg(n,K,4);if((g|0)!=(Q|0))qc(g,c[M>>2]|0,o,n);Ci(R);i=S;return}function Mb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Fb(d,21261)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Ve(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Pg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(zi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Ng(21767,f)|0))m=c[F>>2]|0;else{ag(F)|0;f=ag(F)|0;if(!f){O=20;break a}if((((Ng(22394,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(wf(f,22397)|0)if(wf(f,22401)|0){if(I?(g=wf(f,22405)|0,!((H|g|0)==0&G)):0)if(!(wf(f,22409)|0)){f=o;break}else{O=30;break a}if(!(wf(f,22496)|0)){O=34;break a}if(!(wf(f,22405)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Ji(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Uh(f+1|0)|0}if(!(Cf(m,22548)|0)){if(o|0)c[e>>2]=ti(f)|0;if(k)h=ti(f)|0}}while(!(I&(Cf(m,22557)|0)==0));if((Ng(22571,f)|0)!=0?(q=(Ji(f,32)|0)+1|0,r=Ji(q,45)|0,(r|0)!=0):0){l=r+1|0;m=rd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=rd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=se(f)|0;c[z+4>>2]=d;ji(22205,z);f=0;break}case 10:{c[v>>2]=d;ji(22242,v);f=0;break}case 11:{c[x>>2]=d;ji(22298,x);f=0;break}case 15:{c[y>>2]=2e3;ji(22330,y);f=0;break}case 20:{c[u>>2]=d;ji(22368,u);f=0;break}case 30:{if(!g)ji(22413,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ji(22456,E);f=0;break}case 34:{c[w>>2]=d;ji(22500,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ji(22525,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;oh(N,256,21371,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ji(22578,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?31568:22672;c[K+8>>2]=f?22397:22401;c[K+12>>2]=h|0?h:22688;ji(22698,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;oh(N,256,21371,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ji(22739,M);f=0}break}}i=P;return f|0}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;x=A+64|0;q=A+56|0;u=A+48|0;t=A+40|0;s=A+32|0;r=A+24|0;v=A+16|0;p=A+8|0;o=A;w=A+84|0;z=A+80|0;g=mh(b)|0;c[z>>2]=g;c[w>>2]=0;h=g+20|0;a:while(1){if(!(cc(g)|0)){b=w;e=47;break}n=le(20)|0;do if(Cf(c[h>>2]|0,16170)|0){if(!(Cf(c[h>>2]|0,16176)|0)){a[n+17>>0]=1;break}if(Cf(c[h>>2]|0,16156)|0){c[o>>2]=c[h>>2];Qf(g,16457,o)}}else a[n+16>>0]=1;while(0);xh(g)|0;j=n+4|0;c[j>>2]=ti(c[h>>2]|0)|0;xh(g)|0;c[n+8>>2]=ti(c[h>>2]|0)|0;xh(g)|0;Tf(g,16496);k=n+12|0;while(1){if((a[c[h>>2]>>0]|0)==41)break;l=le(48)|0;b=Gg(c[h>>2]|0)|0;if(!b){c[p>>2]=c[h>>2];Qf(g,16498,p)}m=l+12|0;c[m>>2]=b;xh(g)|0;if((c[c[m>>2]>>2]&-2|0)==12){c[l+16>>2]=ti(c[h>>2]|0)|0;xh(g)|0}switch(a[c[h>>2]>>0]|0){case 91:{if((c[c[m>>2]>>2]|0)==13)a[l+38>>0]=1;else a[l+37>>0]=1;xh(g)|0;b=c[h>>2]|0;d=a[b>>0]|0;do if((d+-48|0)>>>0<10){c[l+24>>2]=Td(b)|0;xh(g)|0}else{if(!(ak(d)|0)){Qf(g,16540,r);break}d=ti(c[h>>2]|0)|0;c[l+28>>2]=d;b=nh(n,d)|0;if(!b){e=23;break a}c[l+32>>2]=b;a[b+36>>0]=1;xh(g)|0}while(0);Tf(g,16251);break}case 40:{xh(g)|0;e=l+40|0;while(1){b=c[h>>2]|0;if((a[b>>0]|0)==41)break;d=ai(b)|0;c[d>>2]=c[e>>2];c[e>>2]=d;xh(g)|0;d=c[h>>2]|0;b=a[d>>0]|0;switch(b<<24>>24){case 41:case 44:break;default:{c[s>>2]=d;Qf(g,16586,s);b=a[c[h>>2]>>0]|0}}if(b<<24>>24==41)continue;xh(g)|0}Tf(g,16190);$g(e);break}default:{}}b=ti(c[h>>2]|0)|0;d=l+4|0;c[d>>2]=b;f=nh(n,b)|0;if(f|0){e=35;break a}xh(g)|0;c[l+44>>2]=De(g,0)|0;if(!(wf(c[h>>2]|0,16652)|0)){a[l+39>>0]=1;if(((c[c[m>>2]>>2]|0)+-3|0)>>>0>=7){e=38;break a}xh(g)|0}Tf(g,16705);c[l+8>>2]=ti(c[h>>2]|0)|0;xh(g)|0;if((c[c[m>>2]>>2]|0)==2?c[l+24>>2]|0:0)a[l+37>>0]=0;c[l>>2]=c[k>>2];c[k>>2]=l}$g(k);if(zh(c[w>>2]|0,c[j>>2]|0)|0){c[q>>2]=c[j>>2];Qf(g,16707,q)}Qh(w,n)}if((e|0)==23){c[v>>2]=d;Ei(16516,v)}else if((e|0)==35){c[t>>2]=c[f+4>>2];c[t+4>>2]=b;Ei(16615,t)}else if((e|0)==38){c[u>>2]=c[d>>2];Ei(16657,u)}else if((e|0)==47){b:while(1){h=c[b>>2]|0;b=c[w>>2]|0;if(!h){e=58;break}f=h+17|0;j=h+4|0;d=h+12|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;e=c[g>>2]|0;if(e|0){v=zh(b,e)|0;e=d+20|0;c[e>>2]=v;if(!v){e=52;break b}if(a[f>>0]|0?(a[(c[e>>2]|0)+17>>0]|0)==0:0){e=55;break b}}}b=h;e=47}if((e|0)==52){c[x>>2]=c[g>>2];Ei(16734,x)}else if((e|0)==55){A=c[d+4>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=A;Ei(16758,y)}else if((e|0)==58){ni(z);i=A;return b|0}}return 0}function Ob(b,d,e,f,g,h,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,_=0,$=0,aa=0;aa=i;i=i+32|0;Y=aa+16|0;W=aa+12|0;Z=aa+8|0;X=aa+4|0;_=aa;R=p&65535;S=R+1|0;T=i;i=i+((1*(S<<2)|0)+15&-16)|0;c[W>>2]=0;U=gi(0)|0;V=i;i=i+((1*(l<<2)|0)+15&-16)|0;r=0;while(1){if((r|0)>=(l|0))break;c[V+(r<<2)>>2]=0;r=r+1|0}Q=R+-1|0;c[Z>>2]=0;c[X>>2]=0;c[_>>2]=le(64)|0;P=U+12|0;M=(j|0)==0;N=U+4|0;O=(o|0)==0;K=(p&65535)>3;L=T+(Q<<2)|0;z=0;A=0;v=0;t=0;y=0;u=0;r=0;s=0;B=0;j=0;x=0;D=0;E=b;a:while(1){if(Fg(d,Y)|0){p=c[Y>>2]|0;if(!(c[7693]|0))p=Od(p,T,S)|0;else p=Nd(p,9,T,S)|0;Of(d,R,p);yb(T,c[7688]|0,R,d,c[_>>2]|0,e,0);J=c[_>>2]|0;b=c[J+4>>2]|0;c[Z>>2]=c[J+8>>2];c[X>>2]=c[J+12>>2];J=wf(b,c[E+4>>2]|0)|0;p=(J|0)==0;s=p&1;if((u|0)<(f|0)&(J|v|0)==0){J=v;H=b;I=u;G=s;F=x}else{u=(v|0)==0;t=b;w=s;$=12}}else{p=(s|0)!=0;u=0;v=1;w=s;$=12}if(($|0)==12){$=0;b=c[P>>2]|0;r=(b|0)>(r|0)?b:r;if(M)dg(k,c[N>>2]|0,b);else{b=Vj(b)|0;if((c[7695]|0)>>>0<b>>>0){Ui(30784);c[7695]=b;s=oe(b)|0;c[7696]=s}else s=c[7696]|0;J=jf(c[N>>2]|0,c[P>>2]|0,s,b)|0;dg(k,c[7696]|0,J)}c[P>>2]=0;a[c[N>>2]>>0]=0;if(O)b=x;else{b=xk(k)|0;b=$h(b|0,((b|0)<0)<<31>>31|0,z|0,A|0)|0;Yd(o,z,A,b,C,x,B);b=B}J=g+(j*24|0)|0;c[J>>2]=z;c[J+4>>2]=A;c[g+(j*24|0)+8>>2]=c[W>>2];c[g+(j*24|0)+12>>2]=D;c[g+(j*24|0)+16>>2]=y;j=j+1|0;if(u){J=v;H=t;I=0;G=w;F=b}else{$=46;break}}b:do if(p)p=E;else{p=c[E>>2]|0;if(!p){$=23;break a}if(!(wf(H,c[p+4>>2]|0)|0))b=0;else{$=25;break a}while(1){if((b|0)>=(l|0))break b;c[V+(b<<2)>>2]=0;b=b+1|0}}while(0);c[W>>2]=c[p+12>>2];if(!I){A=xk(k)|0;b=c[X>>2]|0;z=A;A=((A|0)<0)<<31>>31;s=b;D=c[Z>>2]|0}else{s=c[X>>2]|0;b=y}y=b>>>0<s>>>0?s:b;if(!O){of(o,T,B);B=B+1|0}qf(U,W,4);qf(U,Z,4);qf(U,X,4);if(K){b=3;while(1){if((b|0)==(Q|0))break;xj(U,c[T+(b<<2)>>2]|0);Wf(U,9)|0;b=b+1|0}xj(U,c[L>>2]|0)}Wf(U,0)|0;v=c[Z>>2]|0;w=c[X>>2]|0;x=0;while(1){if((x|0)>=(l|0))break;u=V+(x<<2)|0;b=c[u>>2]|0;t=n+(x<<2)|0;if(v>>>0<b>>>0)s=m+(x<<2)|0;else{c[t>>2]=(c[t>>2]|0)+1;s=m+(x<<2)|0;b=(c[s>>2]|0)+v|0;c[u>>2]=b}while(1){if(w>>>0<=b>>>0)break;c[t>>2]=(c[t>>2]|0)+1;E=(c[s>>2]|0)+b|0;c[u>>2]=E;b=E}x=x+1|0}v=J;t=H;u=I+1|0;s=G;x=F;E=p}if(($|0)==23)Aa(14428,13964,258,14442);else if(($|0)==25)Aa(14454,13964,259,14442);else if(($|0)==46)if((j|0)==(h|0)){Ui(_);c[q>>2]=r;i=aa;return}else Aa(14485,13964,324,14442)}function Pb(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,D=0.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.0;da=i;i=i+96|0;Y=da+48|0;$=da+76|0;ca=da+80|0;aa=da+72|0;ba=da+68|0;X=da+64|0;V=da;W=da+60|0;c[$>>2]=f;c[ca>>2]=0;T=_(j,e)|0;U=Xi(f*24|0)|0;c[aa>>2]=U;c[ba>>2]=U;U=U+(f*24|0)|0;I=xk(o)|0;H=p;c[H>>2]=I;c[H+4>>2]=((I|0)<0)<<31>>31;dg(o,$,4);c[X>>2]=gh(l,o,m)|0;H=r+8|0;I=r+16|0;J=r+24|0;K=r+32|0;L=V+4|0;M=V+8|0;N=V+12|0;O=V+24|0;P=V+20|0;Q=V+32|0;R=V+28|0;S=V+16|0;j=1;a:while(1){if(!a)break;E=$d(d,c[a+4>>2]|0)|0;c[W>>2]=E;F=a+12|0;G=a+16|0;E=jj(E)|0;b=0;while(1){if(!E)break;D=+(Ik(c[E+12>>2]|0)|0);m=c[E+4>>2]|0;B=c[E+8>>2]|0;p=B-m|0;if(!j){y=r;y=pi(c[y>>2]|0,c[y+4>>2]|0,p|0,0)|0;z=r;c[z>>2]=y;c[z+4>>2]=C;if(D<+h[H>>3])h[H>>3]=D;if(D>+h[I>>3])h[I>>3]=D;s=+(p>>>0);h[J>>3]=D*s+ +h[J>>3];s=D*D*s+ +h[K>>3]}else{z=r;c[z>>2]=p;c[z+4>>2]=0;h[I>>3]=D;h[H>>3]=D;s=+(p>>>0);h[J>>3]=D*s;s=D*D*s}h[K>>3]=s;do if(b){j=c[b+12>>2]|0;if(j>>>0>m>>>0){A=D;break}else{Hc(b,ca,T,ba,U,n,c[X>>2]|0);Z=16;break}}else Z=16;while(0);if((Z|0)==16){Z=0;c[L>>2]=c[F>>2];c[M>>2]=m;j=m+e|0;c[N>>2]=j;b=c[G>>2]|0;j=j>>>0>b>>>0?b:j;c[N>>2]=j;A=D;g[O>>2]=A;g[P>>2]=A;g[Q>>2]=0.0;g[R>>2]=0.0;c[S>>2]=0;b=V}t=b+12|0;u=b+8|0;v=b+16|0;w=b+20|0;x=b+24|0;y=b+28|0;s=D*D;z=b+32|0;while(1){if(B>>>0<=j>>>0){j=p;break}f=ri(m,B,c[u>>2]|0,j)|0;if((f|0)<=0){Z=20;break a}j=c[t>>2]|0;c[Y>>2]=B-m;c[Y+4>>2]=j;c[Y+8>>2]=f;Xh(3,14561,Y);c[v>>2]=(c[v>>2]|0)+f;if(+g[w>>2]>D)g[w>>2]=A;if(+g[x>>2]<D)g[x>>2]=A;fa=+(f|0);g[y>>2]=D*fa+ +g[y>>2];g[z>>2]=s*fa+ +g[z>>2];Hc(b,ca,T,ba,U,n,c[X>>2]|0);m=c[t>>2]|0;c[u>>2]=m;j=m+e|0;c[t>>2]=j;ea=c[G>>2]|0;j=j>>>0>ea>>>0?ea:j;c[t>>2]=j;g[x>>2]=A;g[w>>2]=A;g[z>>2]=0.0;g[y>>2]=0.0;c[v>>2]=0;p=p-f|0}c[v>>2]=(c[v>>2]|0)+j;if(+g[w>>2]>D)g[w>>2]=A;if(+g[x>>2]<D)g[x>>2]=A;fa=+(j>>>0);g[y>>2]=D*fa+ +g[y>>2];g[z>>2]=s*fa+ +g[z>>2];j=0;E=c[E>>2]|0}if(b|0)Hc(b,ca,T,ba,U,n,c[X>>2]|0);Qi(W);a=c[a>>2]|0}if((Z|0)==20)Aa(14511,13964,434,14523);mi(X);b=xk(o)|0;j=((b|0)<0)<<31>>31;ea=q;c[ea>>2]=b;c[ea+4>>2]=j;if((c[ba>>2]|0)==(U|0)){Lb(c[aa>>2]|0,24,c[$>>2]|0,0,k,l,0,1,4,b,j,o);Ui(aa);$g(ca);i=da;return c[ca>>2]|0}else Aa(14598,13964,472,14523);return 0}function Qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=lb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=pj(h)|0;c[b+16>>2]=e;f=zd(c[f>>2]|0)|0;if(!f){s=0;break}s=Wd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;$j(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}we(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)eg(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Kg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;we(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;xg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Zd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ei(14973,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Zd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Zd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Rb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[7740]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Na();f=c[k+4>>2]|0;if(!(f&1))Na();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[7856]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Db(m,d);return a|0}if((k|0)==(c[7742]|0)){d=(c[7739]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[7742]=l;c[7739]=m;return a|0}if((k|0)==(c[7741]|0)){e=(c[7738]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[7738]=d;c[7741]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Na();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Na();d=g+12|0;if((c[d>>2]|0)!=(k|0))Na();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Na()}while(0);if(h|0){d=c[k+28>>2]|0;e=31248+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[7737]=c[7737]&~(1<<d);break}}else{if(h>>>0<(c[7740]|0)>>>0)Na();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[7740]|0;if(j>>>0<f>>>0)Na();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Na();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=30984+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Na();if((c[e+12>>2]|0)!=(k|0))Na()}if((f|0)==(e|0)){c[7736]=c[7736]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Na();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Na()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Db(l,m);return a|0}return 0}function Sb(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+240|0;G=H+232|0;F=H+224|0;t=H+208|0;A=H+184|0;z=H+160|0;y=H+136|0;x=H+112|0;w=H+88|0;v=H+64|0;u=H+40|0;q=H+32|0;r=H+16|0;p=H;m=d+12|0;n=f+12|0;C=(j|0)!=0;B=C?1:2;j=b[d+16>>1]|0;l=j&255;d=b[f+16>>1]|0;f=d&255;j=(j&65535)>>>8&255;d=(d&65535)>>>8&255;do if(l<<24>>24==f<<24>>24){if(j<<24>>24!=d<<24>>24){c[r>>2]=a;c[r+4>>2]=j<<24>>24;c[r+8>>2]=e;c[r+12>>2]=d<<24>>24;Xh(B,16856,r);k=0;f=25;break}if(!(l<<24>>24))Ei(16898,q);else{k=0;s=m;o=n}while(1){o=c[o>>2]|0;s=c[s>>2]|0;j=(k|0)<(g|0);if(!(j&((o|0)!=0&(s|0)!=0))){f=23;break}d=s+4|0;j=o+4|0;if(ch(c[d>>2]|0,c[j>>2]|0)|0){f=9;break}d=c[s+36>>2]|0;j=c[o+36>>2]|0;f=(d&65535)>>>8&255;m=(j&65535)>>>8&255;l=d>>>16;n=j>>>16;if((d&255)<<24>>24!=(j&255)<<24>>24){f=11;break}if(f<<24>>24!=m<<24>>24){d=f;j=m;f=13;break}if((l&255)<<24>>24!=(n&255)<<24>>24){d=l;j=n;f=15;break}d=s+12|0;j=o+12|0;if(ch(c[(c[d>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0){f=17;break}d=c[s+24>>2]|0;j=c[o+24>>2]|0;if((d|0)!=(j|0)){f=19;break}d=s+28|0;j=o+28|0;if(ch(c[d>>2]|0,c[j>>2]|0)|0){f=21;break}k=k+1|0}if((f|0)==9){z=c[d>>2]|0;A=c[j>>2]|0;c[u>>2]=k+1;c[u+4>>2]=a;c[u+8>>2]=z;c[u+12>>2]=e;c[u+16>>2]=A;Xh(B,16962,u);f=25;break}else if((f|0)==11){c[v>>2]=k+1;c[v+4>>2]=a;c[v+8>>2]=d<<24>>24;c[v+12>>2]=e;c[v+16>>2]=j<<24>>24;Xh(B,17011,v);f=25;break}else if((f|0)==13){c[w>>2]=k+1;c[w+4>>2]=a;c[w+8>>2]=d<<24>>24;c[w+12>>2]=e;c[w+16>>2]=j<<24>>24;Xh(B,17065,w);f=25;break}else if((f|0)==15){c[x>>2]=k+1;c[x+4>>2]=a;c[x+8>>2]=d<<24>>24;c[x+12>>2]=e;c[x+16>>2]=j<<24>>24;Xh(B,17115,x);f=25;break}else if((f|0)==17){z=c[(c[d>>2]|0)+4>>2]|0;A=c[(c[j>>2]|0)+4>>2]|0;c[y>>2]=k+1;c[y+4>>2]=a;c[y+8>>2]=z;c[y+12>>2]=e;c[y+16>>2]=A;Xh(B,17166,y);f=25;break}else if((f|0)==19){c[z>>2]=k+1;c[z+4>>2]=a;c[z+8>>2]=d;c[z+12>>2]=e;c[z+16>>2]=j;Xh(B,17220,z);f=25;break}else if((f|0)==21){y=c[d>>2]|0;z=c[j>>2]|0;c[A>>2]=k+1;c[A+4>>2]=a;c[A+8>>2]=y;c[A+12>>2]=e;c[A+16>>2]=z;Xh(B,17273,A);f=25;break}else if((f|0)==23){if(!j){D=1;E=k;break}c[t>>2]=g;c[t+4>>2]=a;c[t+8>>2]=e;c[t+12>>2]=k;Ei(17331,t)}}else{c[p>>2]=a;c[p+4>>2]=l<<24>>24;c[p+8>>2]=e;c[p+12>>2]=f<<24>>24;Xh(B,16815,p);k=0;f=25}while(0);do if((f|0)==25)if(C)Ei(17456,F);else{c[G>>2]=k;Xh(B,17474,G);D=0;E=k;break}while(0);if(h|0)c[h>>2]=E;i=H;return D|0}function Tb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[27652+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[912+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[1264+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[27140+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[1048+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[1380+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Ub(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){$b(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,re(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,re(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,re(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Cb(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,re(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Vb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Gh(0,18737,b)|0}b=d+112|0;if(c[b>>2]|0)sg(b);b=d+128|0;if(c[b>>2]|0)sg(b);$j(c[d+4>>2]|0);$j(c[d+8>>2]|0);Ui(d+12|0);$j(c[d+40>>2]|0);$j(c[d+44>>2]|0);$j(c[d+48>>2]|0);$j(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)sg(b);Mi(d+80|0)}Ui(a);i=e;return}function Wb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Aa(23346,23366,448,23382);h=wa()|0;c[s>>2]=h;if((h|0)<0)og(23395,l);if(h|0)if(!(ih(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;og(23933,k)}r=Li()|0;c[s>>2]=r;if(ih(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;og(23406,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Vg(m)|0;j=wa()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}jg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))ng(t);if(c[k>>2]|0)ng(m);g=0;f=0;j=h;h=k}if((b|0)==14)og(23395,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){qd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;ta(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];og(23640,o)}qd(k,0,h,e);h=Og(1,f,g)|0;if((h|0)<0)og(23551,p);if((h|0)==(g|0)){rh(1)|0;Oa(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ei(23586,q)}}else if((b|0)==28){rh(0)|0;rh(1)|0;Sh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=ib(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;jg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)og(23713,u);else if((b|0)==35){c[v>>2]=h;Ei(23728,v)}else if((b|0)==39){v=Ze(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ei(23758,w)}else if((b|0)==41)Aa(23813,23366,242,23837);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2463]|0;v=Ze(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Gh(h,23856,x)|0;h=c[k>>2]|0}Oa(h>>>8&255|0)}else if((b|0)==47)Aa(23903,23366,396,23923);else if((b|0)==49)Oa(0)}}function Xb(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;z=A+72|0;y=A+64|0;v=A+40|0;u=A+32|0;w=A+24|0;o=A+16|0;n=A+8|0;m=A;switch(g|0){case 1:case 2:case 4:case 8:break;default:{c[m>>2]=g;Ei(15181,m)}}m=Th(-1,-1,8-g<<3|0)|0;x=(f|0)!=0;m=Th(m|0,C|0,x&1|0)|0;f=C;do if((a[d>>0]|0)==45){if(!x){c[o>>2]=h;oh(k,l,15323,o)|0;f=3;break}if(!j){p=pi(m|0,f|0,1,0)|0;q=C;s=1;r=d+1|0;t=9;break}else{oh(k,l,15296,n)|0;f=4;break}}else{q=f;p=m;s=0;r=d;t=9}while(0);a:do if((t|0)==9){j=0;m=0;f=r;while(1){n=a[f>>0]|0;if((n+-48&255)>=10){t=18;break}o=bh(j|0,m|0,10,0)|0;d=C;if(d>>>0<m>>>0|(d|0)==(m|0)&o>>>0<j>>>0){t=12;break}j=(n<<24>>24)+-48|0;j=pi(j|0,((j|0)<0)<<31>>31|0,o|0,d|0)|0;m=C;if(m>>>0<d>>>0|(m|0)==(d|0)&j>>>0<o>>>0){t=14;break}if(m>>>0>q>>>0|(m|0)==(q|0)&j>>>0>p>>>0){t=16;break}f=f+1|0}if((t|0)==12){c[w>>2]=x?15369:31568;c[w+4>>2]=h;oh(k,l,15377,w)|0;f=2;break}else if((t|0)==14){c[u>>2]=x?15369:31568;c[u+4>>2]=h;oh(k,l,15377,u)|0;f=2;break}else if((t|0)==16){c[v>>2]=x?15369:31568;c[v+4>>2]=h;c[v+8>>2]=s|0?15393:31568;f=v+16|0;c[f>>2]=p;c[f+4>>2]=q;oh(k,l,15395,v)|0;f=2;break}else if((t|0)==18){if(n<<24>>24){c[y>>2]=x?15369:31568;c[y+4>>2]=h;oh(k,l,15425,y)|0;f=1;break}if((f|0)==(r|0)){c[z>>2]=x?15369:31568;c[z+4>>2]=h;oh(k,l,15458,z)|0;f=1;break}if(!e){f=0;break}switch(g|0){case 1:{if(!x){a[e>>0]=j;f=0;break a}if(!s){a[e>>0]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;a[e>>0]=f;f=0;break a}}case 2:{if(!x){b[e>>1]=j;f=0;break a}if(!s){b[e>>1]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;b[e>>1]=f;f=0;break a}}case 4:{if(!x){c[e>>2]=j;f=0;break a}if(!s){c[e>>2]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;c[e>>2]=f;f=0;break a}}case 8:{if(!x){f=e;c[f>>2]=j;c[f+4>>2]=m;f=0;break a}if(!s){f=e;c[f>>2]=j;c[f+4>>2]=m;f=0;break a}else{z=$h(0,0,j|0,m|0)|0;f=e;c[f>>2]=z;c[f+4>>2]=C;f=0;break a}}default:{f=0;break a}}}}while(0);i=A;return f|0}function Yb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=lg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((lg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=pi(m|0,l|0,-1,-1)|0;d=C;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;$h(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=$h(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){kd(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)kd(a,d,e,f,o);else oc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}oc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;oc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;oc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Ue(a,b,d)|0){b=hi()|0;if((b|0)>=0){if((ae(b,1)|0)<0){rh(b)|0;b=-1;break}b:do if((sf(b,d,16)|0)<0){n=zi()|0;d=c[n>>2]|0;if((d|0)!=115){w=se(d)|0;c[e>>2]=d;c[e+4>>2]=w;ji(21192,e);rh(b)|0;b=-1;break a}cb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Xf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}cb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=se(d)|0;c[t>>2]=d;c[t+4>>2]=C;ji(20968,t);rh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ji(21100,u);rh(b)|0;e=23;break}c[r>>2]=4;do if((_e(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=se(d)|0;c[w>>2]=d;c[w+4>>2]=C;ji(21056,w);rh(b)|0;break}}else{B=c[n>>2]|0;C=se(B)|0;c[v>>2]=B;c[v+4>>2]=C;ji(21026,v);rh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((ae(b,0)|0)<0){rh(b)|0;b=-1;break}if((yf(b,120)|0)<0){rh(b)|0;b=-1}}}else b=-1;else{ji(20848,x+24|0);b=-1}while(0);i=x;return b|0}function $b(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;re(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;re(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=fc(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=jc(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;Te((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;Te((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function ac(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,eg(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Te(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ac(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(zi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function bc(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.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+80|0;F=K+56|0;E=K+32|0;H=K+24|0;G=K+16|0;D=K;J=K+64|0;z=(d|0)==0;if(z)A=3;else A=(ug(d)|0)+1|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;c[J>>2]=0;ve(a);w=(j|0)==0;x=a+28|0;y=a+4|0;o=0;n=0;j=0;m=0;p=0;q=-1;l=1073741823;r=0;a:while(1){u=p;while(1){if(w)p=Bf(a,B,A)|0;else p=nf(a,9,B,A)|0;if(!p){I=26;break a}Nf(a,A,p);s=c[B>>2]|0;v=Ke(a,B,1)|0;t=Ke(a,B,2)|0;if(!z)ef(d,B);if((t|0)<(v|0)){I=12;break a}o=pi(o|0,n|0,1,0)|0;n=C;p=t-v|0;j=pi(p|0,((p|0)<0)<<31>>31|0,j|0,m|0)|0;m=C;if(r){p=wf(c[r+4>>2]|0,s)|0;if(p)if((p|0)>0){I=16;break a}else I=17}else I=17;if((I|0)==17){I=0;p=df(b,s)|0;if(!p){I=18;break a}q=Ik(c[p+8>>2]|0)|0;r=le(20)|0;c[r+4>>2]=ti(s)|0;c[r+12>>2]=u;c[r+16>>2]=q;c[r>>2]=c[J>>2];c[J>>2]=r;u=u+1|0;q=-1}p=c[r+16>>2]|0;if(t>>>0>p>>>0){I=21;break a}t=r+8|0;c[t>>2]=(c[t>>2]|0)+1;if((q|0)<=-1){q=v;continue}p=v-q|0;if((p|0)<(l|0)){q=v;l=p;p=u;break}else q=v}if((l|0)<0){I=25;break}}if((I|0)==12){J=c[x>>2]|0;K=c[y>>2]|0;c[D>>2]=t;c[D+4>>2]=v;c[D+8>>2]=J;c[D+12>>2]=K;Ei(18881,D)}else if((I|0)==16){K=c[x>>2]|0;c[G>>2]=c[y>>2];c[G+4>>2]=K;Ei(18922,G)}else if((I|0)==18){c[H>>2]=s;Ei(19044,H)}else if((I|0)==21){e=c[r+4>>2]|0;J=c[x>>2]|0;K=c[y>>2]|0;c[E>>2]=t;c[E+4>>2]=e;c[E+8>>2]=p;c[E+12>>2]=J;c[E+16>>2]=K;Ei(19085,E)}else if((I|0)==25){K=c[x>>2]|0;c[F>>2]=c[y>>2];c[F+4>>2]=K;Ei(19143,F)}else if((I|0)==26){$g(J);if((o|0)==0&(n|0)==0)k=0.0;else k=(+(j>>>0)+4294967296.0*+(m>>>0))/(+(o>>>0)+4294967296.0*+(n>>>0));c[e>>2]=l;h[f>>3]=k;e=g;c[e>>2]=o;c[e+4>>2]=n;i=K;return c[J>>2]|0}return 0}function cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;n=q;m=q+4|0;do if(!(a[b>>0]|0)){f=b+4|0;c[f>>2]=0;p=b+16|0;h=b+8|0;j=b+12|0;k=b+33|0;l=b+34|0;d=c[p>>2]|0;a:while(1){g=Uh(d)|0;c[f>>2]=g-(c[p>>2]|0)+(c[f>>2]|0);d=a[g>>0]|0;b:do if(!(d<<24>>24))o=14;else{if(!(d<<24>>24==47&(a[k>>0]|0)!=0))if(d<<24>>24==35&(a[l>>0]|0)!=0){o=14;break}else{j=d;o=18;break a}switch(a[g+1>>0]|0){case 47:{o=14;break b}case 42:break;default:{j=47;o=18;break a}}d=g+2|0;while(1){d=Fb(d,24220)|0;if(d|0)break;if(!(Qb(c[h>>2]|0,j,m)|0)){o=10;break a}d=c[j>>2]|0}d=d+2|0;c[p>>2]=d}while(0);if((o|0)==14){o=0;if(!(Qb(c[h>>2]|0,j,m)|0)){o=17;break}c[f>>2]=(c[f>>2]|0)+1;d=c[j>>2]|0;c[p>>2]=d}}if((o|0)==10){c[n>>2]=c[(c[h>>2]|0)+4>>2];Ei(24223,n)}else if((o|0)==17){a[b+1>>0]=1;e=0;break}else if((o|0)==18){c:do if(j<<24>>24==95|(Jj(j<<24>>24)|0)!=0){d=g;while(1){d=d+1|0;if(Jj(a[d>>0]|0)|0)continue;if((a[d>>0]|0)!=95){e=d;break}}}else{switch(j<<24>>24){case 39:case 34:break;default:{d=g+1|0;e=d;break c}}k=(a[b+32>>0]|0)==0;f=g+1|0;g=k?f:g;d=g+2|0;while(1){e=a[f>>0]|0;if(e<<24>>24==j<<24>>24){if((a[f+-1>>0]|0)!=92){o=29;break}if(f>>>0>=d>>>0?(a[f+-2>>0]|0)==92:0){o=29;break}}else if(!(e<<24>>24)){o=30;break}f=f+1|0}if((o|0)==29){d=f+1|0;e=d;h=f;d=j<<24>>24==0?f:d}else if((o|0)==30){e=f+1|0;h=f;d=f}e=k?h:e}while(0);c[p>>2]=d;f=e-g|0;d=b+28|0;if((f|0)<(c[d>>2]|0)){e=b+20|0;d=e;e=c[e>>2]|0}else{e=f+128|0;c[d>>2]=e;d=b+20|0;e=kj(c[d>>2]|0,0,e)|0;c[d>>2]=e}re(e|0,g|0,f|0)|0;a[(c[d>>2]|0)+f>>0]=0;e=c[d>>2]|0;break}}else{a[b>>0]=0;e=c[b+20>>2]|0}while(0);i=q;return e|0}function dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Fb(b,21252)|0))e=pf(b,0,r)|0;else{if((Ng(21777,b)|0)==0?(Ng(21785,b)|0)==0:0){if(!(Ng(21794,b)|0)){c[g>>2]=b;Ei(22138,g)}ic(b,o);if(wf(o,21283)|0){c[f>>2]=b;Ei(21801,f)}b=o+4112|0;g=sd(b,Td(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(wi(g,21848,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,oh(m,256,21855,j)|0,(wi(g,m,0,0)|0)==0):0){rh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Wd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?21867:21872;c[k+4>>2]=j;oh(m,256,21877,k)|0;wj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Ji(j,40)|0;a[(Ji(j,41)|0)>>0]=0;if((Ne(s+1|0,21885,k,7)|0)!=6)Ei(21887,h);f=(Td(c[k+16>>2]|0)|0)<<8;f=_b(b,(Td(c[k+20>>2]|0)|0)+f|0)|0;Gi(l);if((f|0)<0){rh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((td(f,1e6)|0)>0){b=26;break}if((td(g,0)|0)>0?(Ac(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ji(21923,n);rh(g)|0;rh(f)|0;e=-1;break}else if((b|0)==24){rh(g)|0;rh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}vd(c[2492]|0)|0;vd(c[2433]|0)|0;vd(c[2463]|0)|0;b=le(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;re(b+20|0,o|0,10280)|0;f=b+4|0;if(Yh(f)|0){c[p>>2]=se(c[(zi()|0)>>2]|0)|0;Ei(21988,p)}b=Va(b|0,0,4,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=se(b)|0;c[q>>2]=b;c[q+4>>2]=s;Ei(22092,q)}}}else{rh(g)|0;e=-1}while(0)}break}e=dj(b,21773,0)|0}while(0);i=r;return e|0}function ec(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Th(d|0,m|0,52)|0;e=e&2047;j=Th(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ph(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ph(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ph(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ph(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ph(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ph(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ph(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ph(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=$h(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ph(d|0,f|0,1)|0;f=C;e=e+-1|0;l=$h(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ph(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=pi(d|0,f|0,0,-1048576)|0;d=C;e=Ph(e|0,0,52)|0;d=d|C;e=o|e}else{e=Th(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function fc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function gc(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=4;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=lb[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=lb[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=lb[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=lb[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=lb[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Lc(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[381];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}nb[c[o>>2]&7](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function hc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=vi(b)|0;c[t>>2]=q;c[v>>2]=Xi(q<<2)|0;dg(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=Vj(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=xk(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}dg(g,r,jf(p,h-s|0,r,q)|0);u=u-o|0}x=xk(g)|0;u=((x|0)<0)<<31>>31;Lb(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,2,7,x,u,g);Ui(v);C=u;i=w;return x|0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Wd(b)|0)>>>0>4095){c[e>>2]=b;Ei(21233,e)}Tj(f,b)|0;Bi(f)|0;b=Fb(f,21252)|0;if(!b){a[d>>0]=a[21256]|0;a[d+1>>0]=a[21257]|0;a[d+2>>0]=a[21258]|0;a[d+3>>0]=a[21259]|0;a[d+4>>0]=a[21260]|0}else{a[b>>0]=0;Eh(f)|0;Lf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Ji(f,47)|0;if(g){Ve(g,b,e,1);if(!((Cf(d,21256)|0)!=0?(Cf(d,21273)|0)!=0:0)){e=Pd(g,23296,21279)|0;Lf(d+6176|0,4096,e);$j(e)}a[g>>0]=0;if(!(Cf(d,21283)|0)){g=g+1|0;Vd(g,d+6176|0,Wd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Ji(f,64)|0;if(!g){if(!((Cf(d,21256)|0)!=0?(Cf(d,21273)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Cf(d,21283)|0)){b=d+16|0;e=21287;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=21297;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Ji(f,58)|0;if(!b){e=d+16|0;Lf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Lf(e,2048,f);f=d+2064|0;Lf(f,2048,b+1|0);b=f}Cd(e,e,Wd(e)|0);Cd(b,b,Wd(b)|0);f=g+1|0}b=Ji(f,58)|0;do if(!b){if(!(Cf(d,21256)|0)){h=d+6160|0;a[h>>0]=a[21315]|0;a[h+1>>0]=a[21316]|0;a[h+2>>0]=a[21317]|0}if(!(Cf(d,21273)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Cf(d,21283)|0)){h=d+6160|0;a[h>>0]=a[21318]|0;a[h+1>>0]=a[21319]|0;a[h+2>>0]=a[21320]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Lf(d+6160|0,16,e);break}else{c[h>>2]=e;Ei(21321,h)}}while(0);Lf(d+4112|0,2048,f);i=j;return}function jc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[1540+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+4>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+8>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+12>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+16>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+20>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+24>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+28>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[1540+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function kc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ni(na(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=na(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=na(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ni(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=na(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;na(221,l|0)|0}d=Ni(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=na(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=na(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;na(221,r|0)|0}d=Ni(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;La(6,p|0)|0}d=Ni(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ni(na(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ni(na(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function lc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=gi(512)|0;ic(b,s);h=Qa(21575)|0;p=(h|0)!=0;if(p){ic(h,q);re(r|0,q|0,10280)|0;h=cf(r,b)|0}else{re(r|0,s|0,10280)|0;h=cf(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ti(b)|0;j=Dj(b,59)|0;if((j|0)!=0?(Ng(21261,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Ih(k,21586,l);$j(b);c[m>>2]=f;Ih(k,21597,m);if((wf(s,21256)|0)==0?(wf(21315,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((wf(s,21273)|0)==0?(wf(21350,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Ih(k,21625,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Ih(k,21614,n)}b=c[t>>2]|0;re(r|0,s|0,10280)|0;Ae(r,21639,b);if(p){re(r|0,q|0,10280)|0;Ae(r,21653,b);k=c[t>>2]|0}else k=b;xj(k,21673);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Ih(k,21712,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Ih(k,21687,u);break}}while(0);if(g|0)xj(c[t>>2]|0,g);v=c[t>>2]|0;xj(v,21733);lf(h,c[v+4>>2]|0,c[v+12>>2]|0);Gi(t)}i=w;return h|0}function mc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function nc(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 oc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(mb[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((mb[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((mb[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((mb[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){Kd(b,p,e);kd(a,b,d,g,h)}i=r;return}function pc(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;d=a+4|0;e=c[d>>2]|0;do if(e){i=c[a+12>>2]|0;k=c[a+16>>2]|0;j=0;while(1){g=j+1|0;h=k+(j<<2)|0;c[h>>2]=e;d=e+12|0;f=mb[i&15](b,c[d>>2]|0)|0;if((f|0)<0){e=c[e>>2]|0;if(!e){d=h;f=j;g=5;break}else{j=g;continue}}if((f|0)<=0){g=9;break}e=c[e+4>>2]|0;if(!e){d=h;f=j;g=8;break}else j=g}if((g|0)==5){e=c[d>>2]|0;d=e;i=0;h=f;g=10;break}else if((g|0)==8){e=c[d>>2]|0;d=e+4|0;i=0;h=f;g=10;break}else if((g|0)==9){d=c[d>>2]|0;break}}else{i=1;e=0;k=0;h=0;g=10}while(0);a:do if((g|0)==10){f=a+24|0;g=c[f>>2]|0;if(!g)g=Hf(c[a+20>>2]|0,16)|0;else c[f>>2]=c[g+4>>2];c[g+4>>2]=0;c[g>>2]=0;c[g+12>>2]=b;c[g+8>>2]=i;c[d>>2]=g;b=a+8|0;c[b>>2]=(c[b>>2]|0)+1;if((h|0)>0){j=h;d=g;while(1){i=e+8|0;if(c[i>>2]|0){d=0;break a}g=j+-1|0;f=c[k+(g<<2)>>2]|0;h=c[f>>2]|0;if((e|0)==(h|0))h=c[f+4>>2]|0;if(!h)break;h=h+8|0;if((c[h>>2]|0)==1)break;c[i>>2]=1;c[h>>2]=1;if(!g){d=0;break a}c[f+8>>2]=0;d=j+-2|0;e=c[k+(d<<2)>>2]|0;j=d;d=f}d=dd(a,g,f,e,d)|0;c[d+8>>2]=1;c[(c[d+4>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+8>>2]=0;d=0}else d=0}while(0);return d|0}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}Zf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=xk(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=bh(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=pi(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Xh(2,17564,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Xh(2,17596,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Xh(2,17624,o);f=f+1|0}Xh(2,21438,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;Cc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=xk(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=xk(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=17690;Ei(17628,s)}else if((f|0)==14){Qc(b,a,0,d+-2|0,e);i=t;return}}function rc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=bh(f|0,b|0,10,0)|0;f=C;e=pi(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=pi(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=$h(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function sc(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;j=k;c[j+4>>2]=b;c[j+8>>2]=d;j=af(a,j)|0;do if(j){e=j+4|0;f=c[e>>2]|0;if((f|0)<=(b|0)?(h=j+8|0,g=c[h>>2]|0,(g|0)>=(d|0)):0){if((f|0)<(b|0)){g=Hf(c[a+20>>2]|0,16)|0;c[g+4>>2]=c[e>>2];c[g+8>>2]=b;c[g+12>>2]=c[j+12>>2];c[e>>2]=b;pc(a,g)|0;b=c[h>>2]|0}else b=g;if((b|0)>(d|0)){g=Hf(c[a+20>>2]|0,16)|0;c[g+4>>2]=d;c[g+8>>2]=c[h>>2];b=j+12|0;c[g+12>>2]=c[b>>2];c[h>>2]=d;pc(a,g)|0}else b=j+12|0;c[b>>2]=(c[b>>2]|0)+1;break}h=a+20|0;g=Dg(a,b,d)|0;while(1){if(!g)break;e=g+4|0;f=c[e>>2]|0;if((b|0)>=(f|0)){if((b|0)>(f|0)){j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=c[e>>2];c[j+8>>2]=b;c[j+12>>2]=c[g+12>>2];c[e>>2]=b;pc(a,j)|0}}else{j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=c[e>>2];c[j+12>>2]=Ek(1)|0;pc(a,j)|0}b=g+12|0;c[b>>2]=(c[b>>2]|0)+1;b=c[g+8>>2]|0;g=c[g>>2]|0}if((b|0)<(d|0)){j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=Ek(1)|0;pc(a,j)|0}}else{j=Hf(c[a+20>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=Ek(1)|0;pc(a,j)|0}while(0);i=k;return}function tc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=pi(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;dg(o,z,1);dg(o,B,1);dg(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;Te(r|0,0,m|0)|0;nb[l&7](G,r);dg(o,r,m);dg(o,A,8);G=A;G=pi(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;ei(o,0,x);p=p+1|0}k=t}if((d|0)==9)Aa(19930,19913,491,19957);else if((d|0)==13){i=E;return w|0}return 0}function uc(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;o=i;i=i+64|0;n=o+40|0;l=o+32|0;e=o+24|0;j=o+16|0;h=o+8|0;g=o;p=o+48|0;m=o+52|0;k=o+44|0;c[p>>2]=b;li(p,d,16);c[2]=Qe(14098,c[2]|0)|0;c[3]=Qe(14108,c[3]|0)|0;c[7690]=gg(14121,c[7690]|0)|0;c[7694]=(gk(14124)|0)==0&1;c[7687]=gg(14128,0)|0;c[7693]=gk(14139)|0;if((c[p>>2]|0)!=4)kh();if(!(gk(14143)|0)){if(c[7691]|0)Ei(14249,e)}else{b=ti(gg(14143,31568)|0)|0;e=Ji(b,43)|0;if(e|0?(f=e+1|0,a[e>>0]=0,((a[f>>0]|0)+-48|0)>>>0<10):0)c[7689]=ui(f)|0;if(!(Ng(14148,b)|0))Ei(14152,g);b=ui(b+3|0)|0;c[7688]=b;if((b|0)<3){c[h>>2]=b;Ei(14179,h)}if((b|0)>15){c[j>>2]=b;Ei(14214,j)}}f=c[d+4>>2]|0;b=c[7688]|0;if(!b){b=$f(f,1)|0;c[m>>2]=b;if(!(Fg(b,k)|0)){c[l>>2]=c[b+4>>2];Ei(14366,l)}b=c[k>>2]|0;if(!(c[7693]|0))b=Od(b,0,0)|0;else b=Nd(b,9,0,0)|0;if((b|0)>256){c[n>>2]=c[(c[m>>2]|0)+4>>2];Ei(14378,n)}Jd(m);c[7688]=b;if((b|0)>15){c[7689]=b+-15;c[7688]=15;b=15}}e=c[7690]|0;if(!e)c[7691]=$c(b,(c[7689]|0)+b|0)|0;else Hg(e,30764,0);kg(f,c[d+8>>2]|0,c[d+12>>2]|0);Jk();if((Kk()|0)>1)yd();i=o;return 0}function vc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;A=B+24|0;y=B+16|0;x=B+8|0;w=B;z=B+28|0;if((m|0)<=0)Aa(19265,19281,304,19297);v=(h|0)==0;t=Ph(j|0,k|0,31)|0;t=Ah(t|0,C|0,32)|0;u=C;j=0;while(1){if((j|0)>=(m|0)){t=5;break}k=c[o+(j<<2)>>2]|0;if(!(0>u>>>0|(0==(u|0)?(v?k<<5:k<<4&2147483632)>>>0>t>>>0:0))){t=8;break}j=j+1|0}if((t|0)==5){c[w>>2]=0;c[w+4>>2]=0;Xh(2,19316,w);t=9}else if((t|0)==8){j=c[n+(j<<2)>>2]|0;c[x>>2]=j;c[x+4>>2]=k;Xh(2,19316,x);if(!j)t=9}if((t|0)==9){k=c[o>>2]|0;j=c[n>>2]|0}v=uh(0)|0;c[z>>2]=v;Kj(a);u=sb[f&1](l,g,a,j,k,4,d,e,h,v,b,q,r,s)|0;$e(2,19363,y);c[p>>2]=j;t=j<<2;j=1;do{f=k;k=vi(u)|0;if((k|0)>=(f|0))break;f=xk(b)|0;y=q+(j<<3)|0;c[y>>2]=f;c[y+4>>2]=((f|0)<0)<<31>>31;y=Vc(u,d,e,h,b)|0;f=r+(j<<3)|0;c[f>>2]=y;c[f+4>>2]=C;c[p+(j<<2)>>2]=t;j=j+1|0;t=t<<2;u=Jc(u,t,v)|0}while((j|0)<10);Ci(z);$e(2,19444,A);i=B;return j|0}function wc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;dg(n,B,1);dg(n,D,1);dg(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=pi(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=bh(o|0,p|0,f|0,x|0)|0;p=d+p|0;Te(v|0,0,k|0)|0;nb[j&7](p,v);dg(n,v,k);dg(n,pb[l&7](p)|0,m);p=pi(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;ei(n,0,y);r=pi(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=$h(u|0,t|0,p|0,0)|0;q=C;p=pi(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)Aa(19994,19913,529,20010);else if((o|0)==11){i=E;return}}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[7723]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ni(hb(146,n|0)|0)|0}else{va(2,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ni(hb(146,m|0)|0)|0;ma(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 zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Rc(30465,f<<24>>24,4)|0){e=tb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Ji(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Ji(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;na(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=na(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;na(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Ta(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[7724]|0))c[e+76>>2]=-1;Za(30920);f=c[7729]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[7729]=e;Ua(30920)}}else{c[(zi()|0)>>2]=22;e=0}i=o;return e|0}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=gi(4096)|0;while(1){if((td(b,1e6)|0)<=0){j=3;break}g=Pg(b,m,4096)|0;if(g){qf(c[o>>2]|0,m,g);if(!(Mh(c[(c[o>>2]|0)+4>>2]|0,21438)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Wd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Wd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ji(21394,n);g=0}else if((j|0)==18){g=Td(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ji(21440,p);g=0;break}if(!e)Gi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Bc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;dg(l,n,4);dg(l,p,4);dg(l,r,4);dg(l,s,4);dg(l,o,8);dg(l,m,4);dg(l,m,4);f=xk(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=tc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=xk(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=19913;c[q+4>>2]=572;Ei(19973,q)}else if((f|0)==8){wc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function Cc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=vi(c[k>>2]|0)|0;dg(m,n,1);dg(m,o,1);dg(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;dg(m,k+12|0,4);dg(m,k+16|0,4);dg(m,k+20|0,4);dg(m,k+24|0,4);dg(m,q,8);j=q;j=pi(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;ei(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=Cc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function Dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?30940:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[10084+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(zi()|0)>>2]=84;f=-1}i=l;return f|0}function Ec(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Wa(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Pg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=$h(1,0,g|0,e|0)|0;b=pi(b|0,C|0,d|0,h|0)|0}r=(Og(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)cg(22036,l);if((b|0)==-1)cg(22067,o);rh(c[m>>2]|0)|0;rh(c[a+12>>2]|0)|0;rh(c[n>>2]|0)|0;i=q;return 0}function Gc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function Hc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=c[e>>2]|0;if(k>>>0>=f>>>0)Aa(19487,19281,682,19506);c[e>>2]=k+24;f=xk(c[i+12>>2]|0)|0;m=k;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=a+4|0;c[k+8>>2]=c[m>>2];c[k+12>>2]=c[a+8>>2];f=a+12|0;c[k+16>>2]=c[f>>2];Qd(i,a);e=c[b>>2]|0;if(((e|0)!=0?(c[e+4>>2]|0)==(c[m>>2]|0):0)?(l=c[f>>2]|0,((c[e+8>>2]|0)+d|0)>>>0>=l>>>0):0){c[e+12>>2]=l;f=e+16|0;c[f>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);j=+g[a+20>>2];f=e+20|0;if(j<+g[f>>2])g[f>>2]=j;j=+g[a+24>>2];f=e+24|0;if(j>+g[f>>2])g[f>>2]=j;m=e+28|0;g[m>>2]=+g[a+28>>2]+ +g[m>>2];m=e+32|0;g[m>>2]=+g[a+32>>2]+ +g[m>>2]}else{k=Hf(h,48)|0;i=k;f=a;e=i+48|0;do{c[i>>2]=c[f>>2];i=i+4|0;f=f+4|0}while((i|0)<(e|0));c[k>>2]=c[b>>2];c[b>>2]=k}return}function Ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Jd(b);break}if((rh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Ei(24091,k)}}else{if(!(c[a+20>>2]&2)){if(dh(d)|0){c[f>>2]=c[a+12>>2];Ei(24060,f)}}else{vd(d)|0;if(dh(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Ei(24030,e)}}if((Be(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Ei(24091,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((ib(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)og(23713,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Ei(24121,l)}if(b|0)Aa(24162,23366,435,24180);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Ei(24196,m)}i=n;return d>>>8&255|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;c[n>>2]=0;h=0;j=0;while(1){if(!a){a=15;break}if(((j|0)!=0?(c[j+4>>2]|0)==(c[a+4>>2]|0):0)?(m=c[a+12>>2]|0,m>>>0<=((c[j+8>>2]|0)+b|0)>>>0):0){e=j+12|0;if((c[e>>2]|0)>>>0>=m>>>0){a=8;break}c[e>>2]=m;e=j+16|0;c[e>>2]=(c[e>>2]|0)+(c[a+16>>2]|0);e=j+20|0;f=+g[a+20>>2];if(+g[e>>2]>f)g[e>>2]=f;e=j+24|0;f=+g[a+24>>2];if(+g[e>>2]<f)g[e>>2]=f;e=j+28|0;g[e>>2]=+g[a+28>>2]+ +g[e>>2];e=j+32|0;g[e>>2]=+g[a+32>>2]+ +g[e>>2];e=j}else{l=Hf(d,48)|0;e=l;j=a;k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[l>>2]=h;c[n>>2]=l;h=l;e=l}j=e;a=c[a>>2]|0}if((a|0)==8)Aa(19398,19281,729,19421);else if((a|0)==15){$g(n);i=o;return c[n>>2]|0}return 0}function Kc(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+120|0;r=s+80|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((wb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Mk(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=wb(b,d,o,q,r)|0;if(h){lb[c[b+36>>2]&7](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=wb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Lk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Lc(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=jc(0,0,0)|0;else d=fc(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Ig(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;Te(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[772+(h*12|0)+2>>1];c[a+140>>2]=e[772+(h*12|0)>>1];c[a+144>>2]=e[772+(h*12|0)+4>>1];c[a+124>>2]=e[772+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Mc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ti(31568)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Jj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=le(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Jj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;oh(h,4,14624,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Te(b|0,0,e|0)|0;return b|0}function Oc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=gi(512)|0;c[h>>2]=f;xj(f,b);xj(f,21252);d=b+16|0;if(a[d>>0]|0){d=Mc(d)|0;xj(f,d);$j(d);d=b+2064|0;if(a[d>>0]|0){xj(f,21346);d=Mc(d)|0;xj(f,d);$j(d)}xj(f,21348)}xj(f,b+4112|0);if(!((wf(b,21283)|0)==0?!(wf(21318,b+6160|0)|0):0))e=7;do if((e|0)==7){if((wf(b,21256)|0)==0?(wf(21315,b+6160|0)|0)==0:0)break;d=b+6160|0;if((wf(b,21273)|0)==0?(wf(21350,d)|0)==0:0)break;xj(f,21346);xj(f,d)}while(0);xj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Ih(f,21354,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Ih(f,21371,k)}k=Dh(h)|0;i=l;return k|0}function Pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Mb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}rh(a)|0;if((h|0)>0)$j(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Ng(21777,f)|0)==0?(Ng(21785,f)|0)==0:0){g=11;break}f=te(g,f)|0;c[j>>2]=f;a=dc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ji(22787,k);g=14}else if((g|0)==11){c[l>>2]=f;ji(22841,l);g=14}else if((g|0)==13){c[m>>2]=f;ji(22871,m);g=14}if((g|0)==14)if((b|0)>0){$j(f);b=0}else b=0;i=n;return b|0}function Qc(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=vi(c[g>>2]|0)|0;dg(j,k,1);dg(j,l,1);dg(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;dg(j,g+12|0,4);dg(j,g+16|0,4);dg(j,g+20|0,4);dg(j,g+24|0,4);f=g+32|0;dg(j,f,8);h=g+40|0;f=$h(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;dg(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;ei(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Qc(d,g,k,h,j)}}while(0);i=o;return}function Rc(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|0)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?b:0)|0}function Sc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ni(qa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(zi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ni(qa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;kc(e,2,j)|0}if(b&2048){c[h>>2]=kc(e,3,k)|0|2048;kc(e,4,h)|0}}}}while(0);i=l;return e|0}function Tc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[7723]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ni(gb(145,h|0)|0)|0}else{va(3,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ni(gb(145,g|0)|0)|0;ma(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=vi(a)|0;c[j>>2]=h;c[k>>2]=Xi(h<<2)|0;dg(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=xk(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;dg(f,e+4|0,4);dg(f,e+8|0,4);dg(f,e+12|0,4);dg(f,e+16|0,4);ci(f,+g[e+20>>2]);ci(f,+g[e+24>>2]);ci(f,+g[e+28>>2]);ci(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=xk(f)|0;e=((h|0)<0)<<31>>31;Lb(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,2,7,h,e,f);Ui(k)}else{h=hc(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=dc(a,0)|0;if((d|0)<0){c[e>>2]=a;ji(22871,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Ng(21777,a)|0)==0?(Ng(21785,a)|0)==0:0){e=0;g=7}else if(!(Pc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=ti(a)|0;Cd(a,b,Wd(a)|0);do if(!(Mh(b,22888)|0)){if(Mh(b,22892)|0){$j(b);g=12;break}f=(Mh(b,22895)|0)==0;$j(b);if(f)b=Qg(a,1,d)|0;else g=12}else{$j(b);g=12}while(0);if((g|0)==12)b=th(a,1,d)|0;if(e)$j(e)}}i=h;return b|0}function Xc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Aa(20665,20717,388,20729);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Xi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)$g(b);d=d+1|0}$j(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Yc(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o+8|0;m=o;l=le(24)|0;f=vi(a)|0;b[l>>1]=f;f=f&65535;a:do if(f|0){k=l+4|0;c[k>>2]=Xi(f<<1)|0;c[l+8>>2]=Xi((e[l>>1]|0)<<2)|0;c[l+12>>2]=Xi((e[l>>1]|0)<<2)|0;c[l+16>>2]=Xi((e[l>>1]|0)<<3)|0;g=d+12|0;j=0;while(1){if(!a)break a;h=a+4|0;f=qg(d,h)|0;if(!f){f=5;break}if(wf(c[(c[f+12>>2]|0)+4>>2]|0,16066)|0){f=7;break}h=(ph(c[g>>2]|0,f)|0)&65535;b[(c[k>>2]|0)+(j<<1)>>1]=h;j=j+1|0;a=c[a>>2]|0}if((f|0)==5){c[m>>2]=h;Ei(13571,m)}else if((f|0)==7)Ei(13639,n)}while(0);i=o;return l|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;nb[c[b>>2]&7](c[e>>2]|0,d);d=b;b=c[f>>2]|0}nb[c[d>>2]&7](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function _c(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+288|0;r=s;q=s+24|0;o=e+1|0;p=b+28|0;n=b+4|0;b=0;e=c[d+(e<<2)>>2]|0;while(1){if(!e){f=10;break}if((b|0)==(g|0)|(a[e>>0]|0)==0){f=10;break}m=Ji(e,44)|0;d=(m|0)!=0;if(d)a[m>>0]=0;if((Xb(e,f,h,j,k,l,q,256)|0)>0){f=7;break}f=(f|0)==0?0:f+j|0;b=b+1|0;if(!d){e=0;continue}a[m>>0]=44;e=m+1|0}if((f|0)==7){p=c[p>>2]|0;s=c[n>>2]|0;c[r>>2]=q;c[r+4>>2]=b;c[r+8>>2]=o;c[r+12>>2]=p;c[r+16>>2]=s;c[r+20>>2]=e;Ei(15521,r)}else if((f|0)==10){i=s;return b|0}return 0}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+16|0;d=h;f=h+20|0;if((a+-3|0)>>>0>12){c[d>>2]=a;c[d+4>>2]=3;c[d+8>>2]=15;Ei(24312,d)}e=gi(0)|0;c[f>>2]=e;xj(e,24375);if((((((((((((a|0)>3?(xj(e,24590),(a|0)>4):0)?(xj(e,24630),(a|0)>5):0)?(xj(e,24672),(a|0)>6):0)?(xj(e,24716),(a|0)>7):0)?(xj(e,24794),(a|0)>8):0)?(xj(e,24869),(a|0)>9):0)?(xj(e,24927),(a|0)>10):0)?(xj(e,24969),(a|0)>11):0)?(xj(e,25039),(a|0)>12):0)?(xj(e,25113),(a|0)>13):0)?(xj(e,25150),(a|0)>14):0)xj(e,25237);d=a+1|0;while(1){if((d|0)>(b|0))break;a=d+1|0;c[g>>2]=a;Ih(e,25313,g);d=a}xj(e,25352);g=Dh(f)|0;i=h;return g|0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=le(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=gi(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){xj(e,23292);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){xj(e,23296);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}xj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Dh(j)|0;if(!(c[a>>2]|0))Ei(23298,k);if(!(b&8))e=0;else{Qh(l,Me(764,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Qh(l,Me(d,l)|0);e=e+1|0}i=m;return l|0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Mk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;re(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(me(f)|0){e=h;break}g=lb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Lk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Lk(f);return e|0}function cd(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(!(tf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=lb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((lb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);re(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 dd(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;g=c[e>>2]|0;h=(g|0)==(f|0);do if((c[d>>2]|0)==(e|0))if(h){c[e>>2]=f;f=e+4|0;c[d>>2]=c[f>>2];c[f>>2]=d;break}else{c[e+4>>2]=c[f>>2];c[f>>2]=e;e=f+4|0;c[d>>2]=c[e>>2];c[e>>2]=d;e=f;break}else if(h){c[d+4>>2]=c[f>>2];c[f>>2]=d;h=f+4|0;c[e>>2]=c[h>>2];c[h>>2]=e;e=f;break}else{c[d+4>>2]=g;c[e>>2]=d;c[e+4>>2]=f;break}while(0);do if(b){g=c[(c[a+16>>2]|0)+(b+-1<<2)>>2]|0;if((c[g>>2]|0)==(d|0)){c[g>>2]=e;break}else{c[g+4>>2]=e;break}}else c[a+4>>2]=e;while(0);return e|0}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(fd(b,e<<24>>24)|0)-b|0;i=g;return e|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Wd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function gd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=le(16)|0;else l=Hf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=yj(d,e)|0;else{k=Hf(h,e+1|0)|0;c[l+4>>2]=k;re(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Xc(b,si(m)|0);return l|0}function hd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Qk()|0;Ck(30788)|0;if((c[7704]|0)!=0&(a|0)==(c[7705]|0)){Og(2,14629,61)|0;Oa(1)}Ak(30788)|0;Ck(30824)|0;Ck(30788)|0;c[7705]=a;c[7704]=1;Ak(30788)|0;if(!(c[7713]|0))c[7713]=ye(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;oh(d,64,21371,b)|0;a=df(c[7713]|0,d)|0;if(!a){a=le(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=2;c[a+140>>2]=0;c[a+92>>2]=1;a=lj(c[7713]|0,d,a)|0}Ck(30788)|0;c[7704]=0;Ak(30788)|0;Ak(30824)|0;i=e;return c[a+8>>2]|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function jd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=ig(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function kd(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((mb[d&15](k,j)|0)>-1?(mb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((mb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Kd(b,o,e);i=p;return}function ld(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=10288;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(zi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Kc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(wf(b,18102)|0){if(!(wf(b,18108)|0)){f=c[2433]|0;break}e=ee(b,d)|0;if(!e){a:do if(!d)e=31568;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=18136;break a}case 119:{e=18126;break a}default:{e=e<<24>>24==97?18115:31568;break a}}}while(0);d=se(c[(zi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ei(18145,g)}else f=e}else f=c[2492]|0;while(0);i=h;return f|0}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(gf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=bb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ok(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;wk(f);break}else{b=Ca(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ji(17795,f);b=0;break}}else{vf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function od(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=le(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[22900+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[22900+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[22900+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[22900+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function pd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[23087+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[23087+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Da(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))og(23439,k);l=Li()|0;if(ih(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Li()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;og(23462,f)}if(b|0?(yg(b,0)|0)<0:0)og(23489,g);if((d|0)!=1?(yg(d,1)|0)<0:0)og(23509,h);if((e|0)!=2?(yg(e,2)|0)<0:0)og(23530,j);Sh();i=k;return}function rd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Qj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=bh(c|0,d|0,10,0)|0;b=b+1|0;c=$h(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=$h(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function sd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=_b(a,b)|0;if((a|0)<0)a=-1;else{if((td(a,1e6)|0)>0)wi(a,31568,0,0)|0;c[g>>2]=0;c[h>>2]=d;oh(f,256,21483,h)|0;do if(wi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,oh(f,256,21493,j)|0,(wi(a,f,0,0)|0)==0):0){rh(a)|0;a=-1;break}if(!(wi(a,21503,0,0)|0)){rh(a)|0;a=-1}}else{rh(a)|0;a=-1}while(0)}i=k;return a|0}function td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Xf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(zi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=se(a)|0;ji(21376,m)}i=n;return a|0}function ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=pf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=le(5)|0;c[g>>2]=f;if((Pg(e,f,4)|0)<4)Ui(g);else a[f+4>>0]=0;rh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=he(e)|0,Ui(h),(g|0)!=0):0){h=Ug(Re(b)|0,33,b,0)|0;e=Qg(b,d,lk(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function vd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ge(a)|0;break}d=(Mk(a)|0)==0;b=ge(a)|0;if(!d)Lk(a)}else{if(!(c[2462]|0))b=0;else b=vd(c[2462]|0)|0;Za(30920);a=c[7729]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Mk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ge(a)|0|b;if(d|0)Lk(a);a=c[a+56>>2]|0}while((a|0)!=0);Ua(30920)}while(0);return b|0}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=mg(e,0)|0;c[n>>2]=g;Lg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=mg(d,e)|0;else if(!f){e=pf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;og(23999,k)}else j=e}else j=0;c[m>>2]=j;e=Ff(a,b,j,g)|0;ng(m);if(!l)ng(n);i=o;return e|0}function xd(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[(zi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function yd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Li()|0;c[g>>2]=f;oh(a,256,23015,g)|0;d=kf(a,1)|0;c[g>>2]=d;if(!d){j=c[2463]|0;c[b>>2]=a;Gh(j,23052,b)|0;a=j}else{while(1){if(!(Fg(d,e)|0))break;a=c[e>>2]|0;if(Fb(a,23031)|0){j=5;break}}if((j|0)==5){j=c[2463]|0;c[h>>2]=f;c[h+4>>2]=a;Gh(j,23038,h)|0}Jd(g);a=c[2463]|0}vd(a)|0;i=k;return}function zd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=oe(k)|0;re(j|0,d|0,e|0)|0;$j(c);d=j;e=k;c=j}k=Ab(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ti(d)|0;$j(c);c=l}i=h;return c|0}function Ad(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function Bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;c[j>>2]=b;a:do if(b){b=fg(b,44)|0;if((b|0)>0){h=Xi(b<<2)|0;f=0;while(1){b=f+1|0;g[h+(f<<2)>>2]=+ue(j);l=c[j>>2]|0;f=l+1|0;c[j>>2]=f;if(!(a[l>>0]|0)){f=h;break a}if(!(a[f>>0]|0)){f=h;break}else f=b}}else f=0}else{f=0;b=0}while(0);c[d>>2]=f;c[e>>2]=b;i=k;return}function Cd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Kh(f,14620,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Dd(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;Te(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){cd(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;cd(h,f,a)|0}while(0);i=j;return}function Ed(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(!(tf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((lb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Fd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Jh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=ld((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Jh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}
-function Gd(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;h=vi(a)|0;if((h|0)>0){f=Xi(h<<4)|0;g=0;e=0;while(1){if((g|0)==(h|0))break;j=c[a+4>>2]|0;i=Wd(j)|0;c[f+(g<<4)+4>>2]=j;c[f+(g<<4)+8>>2]=c[a+12>>2];c[f+(g<<4)+12>>2]=c[a+16>>2];g=g+1|0;e=(i|0)>(e|0)?i:e;a=c[a>>2]|0}Zb(f,h,16,6)}else{f=0;e=0}Bc(f,16,h,((h|0)<0)<<31>>31,(h|0)>(b|0)?b:h,3,e,3,8,d);$j(f);return}function Hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;f=c[b+92>>2]|0;if(f|0)nb[f&7](b,14887);if(c[b+56>>2]|0){c[g>>2]=c[b+4>>2];og(14900,g)}a[b+48>>0]=0;f=c[b+72>>2]|0;if(!f){c[b+20>>2]=0;c[b+36>>2]=0;c[b+32>>2]=0;e=Pf(c[b+8>>2]|0,d,e)|0;c[b+16>>2]=e;if((e|0)==-1){c[h>>2]=c[b+4>>2];og(14944,h)}}else Uf(f,d,((d|0)<0)<<31>>31);i=j;return}function Id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Mk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Ed(d,b)|0;Lk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Ed(d,b)|0}while(0);return e|0}function Jd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Hi(c[2492]|0)|0):0){rh(c[d>>2]|0)|0;$j(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Vb(d)}else ki(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)kb[d&3](f);$j(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)_d(g);Ui(b)}return}function Kd(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;re(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;re(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Ld(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=$h(h^a|0,g^b|0,h|0,g|0)|0;b=C;Yb(a,b,$h(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=$h(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Md(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Pg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;og(18265,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ei(18290,g)}else if((d|0)==8){i=h;return}}function Nd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(Qj(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(Qj(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Wd(b)|0;h=Wd(c)|0;d=0;e=Fb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Fb(e+g|0,b)|0}f=Wd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=le((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Fb(a,b)|0;d=f;while(1){if(!a)break;Tj(d,e)|0;j=a+g|0;i=d+(a-e)|0;Tj(i,c)|0;e=j;a=Fb(j,b)|0;d=i+h|0}Tj(d,e)|0;return f|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;c[f+(e<<5)>>2]=c[b+4>>2];c[f+(e<<5)+4>>2]=c[b+8>>2];c[f+(e<<5)+8>>2]=c[b+12>>2];c[f+(e<<5)+12>>2]=c[b+16>>2];c[f+(e<<5)+16>>2]=c[b+20>>2];c[f+(e<<5)+20>>2]=c[b+24>>2];c[f+(e<<5)+24>>2]=c[b+28>>2];c[f+(e<<5)+28>>2]=c[b+32>>2];b=e+1|0;c[d>>2]=b;if((b|0)>=(c[a+8>>2]|0))qe(a);return}function Rd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Oi(f,-1,27134,56)|0;if(a|0){f=a;i=g;return f|0}a=ub(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Zc(f)|0;i=g;return f|0}else{Zc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Sd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ph(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Td(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Qj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(lb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((lb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Vd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Kh(f,14620,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Wd(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 Xd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Th(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Xd(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 Yd(a,b,d,f,g,h,i){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;m=a+12|0;a=e[a>>1]|0;k=0;while(1){if((k|0)==(a|0))break;j=c[(c[m>>2]|0)+(k<<2)>>2]|0;l=h;while(1){if((l|0)>=(i|0))break;n=j+(l*24|0)+8|0;c[n>>2]=b;c[n+4>>2]=d;n=j+(l*24|0)+16|0;c[n>>2]=f;c[n+4>>2]=g;l=l+1|0}k=k+1|0}return}function Zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(df(c[e>>2]|0,d)|0)){lj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Gh(g,14969,h)|0}}}while(0);i=j;return}function _d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Oj(d);d=g}e=e+1|0}}else{Ci(b);b=d+8|0}while(0);$j(c[b>>2]|0);Ui(a)}return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k;d=Hk()|0;e=h+4|0;f=h+8|0;while(1){if(!(Fg(a,g)|0))break;if(!(hf(b,c[g>>2]|0)|0)){j=4;break}Od(c[g>>2]|0,h,3)|0;l=ui(c[e>>2]|0)|0;sc(d,l,ui(c[f>>2]|0)|0)}if((j|0)==4)hk(a);i=k;return d|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=kc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((kc(a,4,f)|0)<0){c[g>>2]=se(c[(zi()|0)>>2]|0)|0;ji(20937,g);d=-1}else d=0}else{c[e>>2]=se(c[(zi()|0)>>2]|0)|0;ji(20906,e);d=-1}i=h;return d|0}function be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d<<24>>24;f=b;b=0;while(1){if(!f)break;if(!(a[f>>0]|0))break;d=Ji(f,g)|0;if(!d){d=0;e=ai(f)|0}else{h=d-f|0;e=le(h+8|0)|0;re(e+4|0,f|0,h|0)|0;d=d+1|0}c[e>>2]=b;f=d;b=e}d=0;while(1){if(!b)break;g=c[b>>2]|0;c[b>>2]=d;h=b;b=g;d=h}return d|0}function ce(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[23095+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[23103+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[23103+f>>0]}while(0);return}function de(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0;m=i;i=i+288|0;l=m;k=m+24|0;b=c[b+(d<<2)>>2]|0;if((Xb(b,e,f,g,h,j,k,256)|0)>0){e=c[a+28>>2]|0;m=c[a+4>>2]|0;c[l>>2]=k;c[l+4>>2]=d+1;c[l+8>>2]=e;c[l+12>>2]=m;c[l+16>>2]=b;Ei(15484,l)}else{i=m;return}}function ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Rc(30465,a[d>>0]|0,4)|0){h=Mf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ni($a(5,e|0)|0)|0;if((e|0)>=0){b=zc(e,d)|0;if(!b){c[f>>2]=e;La(6,f|0)|0;b=0}}else b=0}else{c[(zi()|0)>>2]=22;b=0}i=g;return b|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ei(19663,d)}d=Wj(a,b)|0;if(!d){g=c[(zi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ei(19727,e)}else{i=f;return d|0}return 0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(lb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)lb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Ng(14749,a)|0))if(!(Ng(14752,a)|0))if(!(Ng(14756,a)|0))if(!(Ng(14759,a)|0))a=0;else{a=14764;e=5}else{a=14768;e=5}else{a=14772;e=5}else{a=14774;e=5}if((e|0)==5){c[d>>2]=a;oh(b,20,14777,d)|0;a=ti(b)|0}i=f;return a|0}function ie(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=$h(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return $h((Yb(h,g,$h(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;rg(h,0);e=+vb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ke(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=Sg(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Zi(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 le(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ei(19799,b)}b=uk(a)|0;if(!b){f=c[(zi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ei(19852,d)}else{Te(b|0,0,a|0)|0;i=e;return b|0}return 0}function me(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)lb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ne(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18006;break}case 2:{a=17985;break}case -1:{a=17974;break}case -2:{a=17958;break}case -3:{a=17958;break}case -4:{a=17943;break}case -5:{a=17928;break}case -6:{a=17909;break}case 0:{a=0;break}default:{c[b>>2]=a;oh(31440,128,17890,b)|0;a=31440}}i=d;return a|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ei(19539,b)}b=uk(a)|0;if(!b){f=c[(zi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ei(19597,d)}else{i=e;return b|0}return 0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=tb(b)|0;return a|0}if(b>>>0>4294967231){c[(zi()|0)>>2]=12;a=0;return a|0}d=Rb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=tb(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;re(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Bb(a);a=d;return a|0}function qe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;d=a+4|0;b=c[d>>2]|0;if(b|0){b=b<<5;if(!(c[a+16>>2]|0))dg(c[a+12>>2]|0,c[a>>2]|0,b);else{h=Vj(b)|0;f=Pa()|0;g=i;i=i+((1*h|0)+15&-16)|0;b=jf(c[a>>2]|0,b,g,h)|0;dg(c[a+12>>2]|0,g,b);za(f|0)}c[d>>2]=0}i=e;return}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ma(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 se(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[28533+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=28621;e=5;break}}if((e|0)==2)if(!c)b=28621;else{b=28621;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 te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;ic(b,g);ic(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Lf(e,2048,d);Lf(f+2064|0,2048,g+2064|0)}g=Oc(f)|0;i=h;return g|0}function ue(b){b=b|0;var d=0,e=0.0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g;d=g+4|0;h=c[b>>2]|0;e=+Xj(h,d);d=c[d>>2]|0;f=d;a:do if((d|0)!=(h|0)){switch(a[d>>0]|0){case 44:case 0:break;default:break a}c[b>>2]=f;i=g;return +e}while(0);d=Ji(h,44)|0;if(d|0)a[d>>0]=0;c[j>>2]=h;Ei(17736,j);return +(0.0)}function ve(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Fg(b,d)|0))break;if((Ng(15625,c[d>>2]|0)|0)==0?(Ng(15633,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Xh(2,15676,f)}if((g|0)==5){c[e>>2]=c[d>>2];Xh(2,15639,e);a[b+48>>0]=1}i=h;return}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function xe(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ei(17705,k)}else{c[j>>2]=e;Wi(d,j)}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Aa(20665,20717,357,20740);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=uh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Xi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function ze(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;rg(j,0);e=Hb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Ae(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;oh(h,256,21554,j)|0;j=od(h,Wd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Ih(e,21560,k);Ui(g)}i=l;return}function Be(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Za(30920);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[7729]|0)==(a|0))c[7729]=b;Ua(30920)}b=vd(a)|0;b=pb[c[a+12>>2]&7](a)|0|b;d=c[a+92>>2]|0;if(d|0)Bb(d);if(!e)Bb(a);return b|0}function Ce(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=Pf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=18467;else e=(d|0)==2?18426:18435;else e=18458;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;og(18476,g);return 0}function De(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;d=c[e>>2]|0;if(((wf(d,16230)|0)!=0?(wf(d,16238)|0)!=0:0)?(wf(d,16245)|0)!=0:0)d=0;else{d=le(12)|0;c[d+4>>2]=ti(c[e>>2]|0)|0;xh(b)|0;if((a[c[e>>2]>>0]|0)==91){xh(b)|0;c[d+8>>2]=bf(b)|0;xh(b)|0;Tf(b,16251)}}return d|0}function Ee(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=g+12|0;c[e>>2]=0;if((b|0)>15){c[f>>2]=b;Ei(25358,f)}if((b|0)<3)Ei(25432,g+8|0);else{h=$c(15,15)|0;f=eh(h)|0;c[e>>2]=f;f=Sb(25490,a,25496,f,b,0,d)|0;$j(h);vg(e);i=g;return f|0}return 0}function Fe(a){a=a|0;var b=0,d=0,e=0;while(1){if(!a)break;b=a+12|0;e=mb[c[7717]&15](c[b>>2]|0,c[7715]|0)|0;d=mb[c[7717]&15](c[b>>2]|0,c[7716]|0)|0;if((e|0)<=-1){if((d|0)>=1)break}else{Fe(c[a>>2]|0);if((d|0)>=1)break;kb[c[7714]&3](c[b>>2]|0)}a=c[a+4>>2]|0}return}function Ge(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2433]|0;if((c[f+76>>2]|0)>-1)g=Mk(f)|0;else g=0;do if((Hj(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=(Ed(f,10)|0)<0}while(0);if(g|0)Lk(f);return d<<31>>31|0}function He(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;$j(e);f=f+1|0}$j(b);$j(i);i=h}Ui(g+12|0);Ui(g+28|0);Ui(a)}return}function Ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Xj(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Ei(15577,g);return +(0.0)}function Je(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+16|0;f=h;e=(a|0)<10?10:a;a=0;while(1){if((a|0)>=10){a=10;break}c[d+(a<<2)>>2]=0;c[b+(a<<2)>>2]=e;if((e|0)>536870911){g=4;break}e=e<<2;a=a+1|0}if((g|0)==4){a=a+1|0;c[f>>2]=a;Xh(2,19230,f)}i=h;return a|0}function Ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Ei(15133,f)}j=Td(d)|0;i=g;return j|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;e=b+-1|0;d=0;while(1){if(!a)break;j=c[a+8>>2]|0;h=((e+j|0)>>>0)/(b>>>0)|0;c[f>>2]=c[a+4>>2];c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=b;Xh(2,19463,f);d=h+d|0;a=c[a>>2]|0}i=g;return d|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=le((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ti(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Uc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(ed(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Oe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2433]|0);if((b|0)==(c[2492]|0)|d)if(d){vd(b)|0;b=1}else b=1;else if(!(Be(b)|0))b=1;else{cg(18521,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(bd(b,d,1,a)|0)!=1:0){b=dh(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Ei(18234,f)}else{f=se(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Ei(18205,e)}}i=g;return}function Qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=lh(b)|0;do if((f|0)!=0?(wf(f,20447)|0)!=0:0){d=cj(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ei(20170,h)}else e=d;while(0);i=j;return e|0}function Re(a){a=a|0;var b=0;b=ti(a)|0;if(!(((Ng(21777,a)|0)==0?(Ng(21785,a)|0)==0:0)?!(Ng(21794,a)|0):0))Cd(a,b,Wd(a)|0);if(!(Mh(b,22888)|0))if(!(Mh(b,22892)|0))if(!(Mh(b,22895)|0)){a=(Mh(b,14789)|0)==0;a=a?0:80}else a=116;else a=104;else a=92;$j(b);return a|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Xi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ei(20636,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Te(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 Ue(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Sj(e&65535)|0;if(d){h=pk(nd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Dj(b,59)|0;if((g|0?Ng(21261,g)|0:0)?(i=(Ji(g,61)|0)+1|0,h=Ji(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=rd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=rd(b)|0;c[e>>2]=f}}return}function We(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ye(0,1)|0;b=Di(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(Zg(b,f,2)|0))break;b=c[f>>2]|0;tj(d,b,ui(c[a>>2]|0)|0)|0;b=c[e>>2]|0}Jd(e);i=g;return d|0}function Xe(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 Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ni(qa(102,h|0)|0)|0;i=g;return e|0}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=gi(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){xj(e,23296);b=c[d>>2]|0}xj(e,b);f=f+1|0}g=Dh(g)|0;i=h;return g|0}function _e(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ni(qa(102,h|0)|0)|0;i=g;return e|0}function $e(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+32|0;f=g;e=g+8|0;if(!b)Aa(17835,17849,55,17864);if((c[186]|0)<0)c[186]=tg()|0;h=tg()|0;c[e>>2]=d;Yg(a,b,e);c[f>>2]=h-(c[186]|0);Xh(a,17876,f);c[186]=h;i=g;return}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+12>>2]|0;a=a+4|0;while(1){e=c[a>>2]|0;if(!e){a=0;break}a=e+12|0;d=mb[f&15](b,c[a>>2]|0)|0;if((d|0)<0){a=e;continue}if((d|0)<=0){g=7;break}a=e+4|0}if((g|0)==7)a=c[a>>2]|0;return a|0}function bf(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+20>>2]|0;if(((a[d>>0]|0)+-48|0)>>>0<10){e=ui(d)|0;i=f;return e|0}else{f=c[b+8>>2]|0;b=c[f+28>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=b;c[e+8>>2]=f;Ei(16192,e)}return 0}function cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(wf(a,21256)|0)if(!(wf(a,21273)|0)){d=di(a+4112|0,Td(a+6160|0)|0)|0;break}else{c[e>>2]=b;Ei(21512,e)}else d=_b(a+4112|0,Td(a+6160|0)|0)|0;while(0);i=f;return d|0}function df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((wf(c[e+4>>2]|0,d)|0)!=0);return e|0}function ef(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;h=a+4|0;i=a+8|0;f=e[a>>1]|0;g=0;while(1){if((g|0)>=(f|0))break;a=Wd(c[b+((e[(c[h>>2]|0)+(g<<1)>>1]|0)<<2)>>2]|0)|0;d=(c[i>>2]|0)+(g<<2)|0;if((a|0)>(c[d>>2]|0))c[d>>2]=a;g=g+1|0}return}function ff(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((Ni(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 gf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Ji(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function hf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Wd(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(Qj(d<<24>>24)|0)!=0;d=d&1}return d|0}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=Rd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=ne(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Ei(18022,g)}return 0}function kf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(wf(a,18102)|0){if(Re(a)|0){c=ud(a,b)|0;break}c=pf(a,0,c)|0;if((c|0)==-1)c=0;else c=Qg(a,b,c)|0}else c=Ej(b)|0;while(0);i=d;return c|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Og(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)og(18332,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ei(18358,e)}}function mf(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;return sb[a&1](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)|0}function nf(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;k=i;i=i+16|0;j=k+4|0;h=k;while(1){if(!(Qb(b,h,j)|0)){g=0;break}g=c[h>>2]|0;if((a[g>>0]|0)==35)continue;g=Nd(g,d,e,f)|0;if(g|0)break}i=k;return g|0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;f=a+4|0;g=a+12|0;h=0;while(1){if((h|0)>=(e[a>>1]|0|0))break;i=ti(c[b+((e[(c[f>>2]|0)+(h<<1)>>1]|0)<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+(h<<2)>>2]|0)+(d*24|0)>>2]=i;h=h+1|0}return}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ni($a(5,f|0)|0)|0;i=e;return d|0}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Jh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;re(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function rf(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+16|0;e=h+8|0;g=h;f=gi(0)|0;c[h+12>>2]=f;h=c[a+4>>2]|0;c[g>>2]=c[a+28>>2];c[g+4>>2]=h;Ih(f,15022,g);Fd(f,b,d);c[e>>2]=c[f+4>>2];Ei(16100,e)}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ni(qa(102,f|0)|0)|0;i=e;return d|0}function tf(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 uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=pi(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;lf(b,d,e);return}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ac(2,a,d)|0)<0){b=se(c[(zi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ji(17754,e);a=0}else{c[b>>2]=ok(c[d>>2]|0)|0;a=1}i=f;return a|0}function wf(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 xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=pi(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Md(b,d,e);return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Ye(a,1,20,d,8)|0)>=0)if((Ye(a,1,21,d,8)|0)<0){ji(20801,e);a=-1}else a=0;else{ji(20751,f);a=-1}i=f;return a|0}function zf(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,Ta(54,f|0)|0):0)a[b+75>>0]=-1;f=yc(b,d,e)|0;i=g;return f|0}function Af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;a=Rf(a)|0;switch(a|0){case 1:{b=15951;break}case 2:{b=16443;break}case 4:{b=25595;break}case 8:{b=16425;break}default:{c[d>>2]=a;Ei(16323,d)}}i=e;return b|0}function Bf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Qb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=Od(f,d,e)|0;if(f|0)break}i=j;return f|0}function Cf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Bj(a[e>>0]|0)|0;c=c<<24>>24;b=(Bj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Df(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 Ef(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b;b=0;while(1){if(!f)break;if((b|0)==(d|0)|(a[f>>0]|0)==0)break;e=Ji(f,44)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}g[c+(b<<2)>>2]=+zk(f);f=e;b=b+1|0}return b|0}function Ff(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;Lg(b);a=ad(a,b)|0;if(!(b&1)){b=Vg(a+16|0)|0;c[f>>2]=b;Wb(a,b,d,e,0,0);ng(f)}else Cg(a,d,e,0,0);i=g;return a|0}function Gf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=xb(e,b,d)|0;i=g;return h|0}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Se(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function If(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=lb[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=ld(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ei(18535,g)}return 0}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Rc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;re(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Wd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Ei(18056,f)}else{Tj(a,d)|0;i=g;return}}function Mf(b){b=b|0;var c=0,d=0,e=0;d=(Ji(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Ji(b,120)|0)==0;d=e?d:d|128;b=(Ji(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((d|0)<(b|0)){g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Ei(15084,e)}else{i=f;return}}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Ei(15044,e)}}function Pf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ni(db(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;f=f+16|0;c[f>>2]=d;oi(b,f);f=c[a+8>>2]|0;b=c[f+4>>2]|0;d=c[a+12>>2]|0;c[e>>2]=c[f+28>>2];c[e+4>>2]=b;c[e+8>>2]=d;Ei(24251,e)}function Rf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;switch(a|0){case 4:case 3:{b=4;break}case 6:case 5:{b=2;break}case 8:case 7:{b=1;break}case 9:{b=8;break}default:{c[d>>2]=a;Ei(16253,d)}}i=e;return b|0}function Sf(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=(Mk(e)|0)==0;a=cd(a,f,e)|0;if(!g)Lk(e)}else a=cd(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a+20|0;if(!(Cf(c[d>>2]|0,b)|0))xh(a)|0;else{d=c[d>>2]|0;c[e>>2]=b;c[e+4>>2]=d;Qf(a,24292,e)}i=f;return}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=pi(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(18586)ah(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Vf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2433]|0;else{Ge(14691)|0;Ge(14716)|0;d=c[2433]|0;Kc(d,a,b)|0;Id(10,d)|0;vd(d)|0}vd(d)|0;d=c[2463]|0;Kc(d,a,b)|0;Id(10,d)|0;vd(d)|0}return}function Wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+12|0;e=c[g>>2]|0;f=c[b+8>>2]|0;if((e|0)>=(f|0)){Jh(b,f+256|0);e=c[g>>2]|0}b=c[b+4>>2]|0;c[g>>2]=e+1;b=b+e|0;a[b>>0]=d;a[b+1>>0]=0;return d|0}function Xf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ni(eb(142,h|0)|0)|0;i=g;return d|0}function Yf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)Zf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function _f(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=oe(h)|0;a=a+136|0;ah(a,b,d+64|0,0)|0;xf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function $f(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=kf(a,b)|0;if(!b){e=se(c[(zi()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Ei(14865,d)}else{i=e;return b|0}return 0}function ag(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Uh(e)|0,(a[d>>0]|0)!=0):0){e=Bg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function bg(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=se(c[(zi()|0)>>2]|0)|0;c[g+4>>2]=a;Fh(f,14743,g)|0;oi(f,e);i=d;return}function dg(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?(Sf(b,d,1,a)|0)!=1:0){a=se(dh(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Ei(18175,e)}i=f;return}function eg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else re(b,c,d)|0;return b|0}function fg(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=0;f=0;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=f;break}b=b+1|0;d=(e<<24>>24==c<<24>>24&1)+d|0;f=e}return ((b<<24>>24==0?1:b<<24>>24==c<<24>>24)&1^1)+d|0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[7721]|0;if((d|0?(e=sh(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Ei(20568,f);f=lh(a)|0;i=g;return ((f|0)==0?b:f)|0}function hg(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;c[a+20>>2]=b;b=b*24|0;d=a+12|0;f=0;while(1){if((f|0)>=(e[a>>1]|0|0))break;g=Xi(b)|0;c[(c[d>>2]|0)+(f<<2)>>2]=g;f=f+1|0}return}function ig(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(me(a)|0)!=0:0)b=-1;else if((lb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ei(23656,e)}}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=be(c[7687]|0,44)|0;f=eh(c[7691]|0)|0;Ee(f,c[7688]|0,1)|0;Gb(a,b,c[2]|0,c[3]|0,c[7691]|0,f,c[7694]|0,e,d);return}function lg(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 mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=pf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;og(23967,d)}else{i=e;return b|0}return 0}function ng(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((rh(b)|0)<0){c[d>>2]=b;og(23691,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=se(c[(zi()|0)>>2]|0)|0;c[f+4>>2]=a;Fh(e,14743,f)|0;Wi(e,d)}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Ai(b);d=f}c[a>>2]=0;i=e;return}function qg(a,b){a=a|0;b=b|0;a:do if(!a)a=0;else{a=a+12|0;while(1){a=c[a>>2]|0;if(!a){a=0;break a}if(!(wf(c[a+4>>2]|0,b)|0))break a}}while(0);return a|0}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function sg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((rh(b)|0)<0)og(18508,d);else{c[a>>2]=-1;break}while(0);i=e;return}function tg(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;d=e;cb(d|0,0)|0;a=c[7719]|0;b=c[d>>2]|0;if(!a){c[7719]=b;a=b}i=e;return ((b-a|0)*1e3|0)+((c[d+4>>2]|0)/1e3|0)|0}function ug(a){a=a|0;var b=0,d=0,f=0,g=0;f=a+4|0;b=e[a>>1]|0;d=0;a=0;while(1){if((d|0)==(b|0))break;g=e[(c[f>>2]|0)+(d<<1)>>1]|0;d=d+1|0;a=(g|0)>(a|0)?g:a}return a|0}function vg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Oh(b);d=f}c[a>>2]=0;i=e;return}function wg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;ii(b);d=f}c[a>>2]=0;i=e;return}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=kj(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Aa(14809,14831,352,14847)}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=ra(63,e|0)|0}while((d|0)==-16);e=Ni(d)|0;i=f;return e|0}function zg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Mk(a)|0)==0;Ud(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Lk(a)}else{Ud(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=ti(b)|0;c[f+8>>2]=-1;b=Wd(e)|0;c[f+20>>2]=b;c[f+12>>2]=b;a[f+40>>0]=d;c[f+52>>2]=e;return f|0}function Bg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Qj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[a+16>>2]=Vg(h)|0;Wb(a,b,c[h>>2]|0,d,e,f);ng(h);i=g;return}function Dg(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+4>>2]=b;c[f+8>>2]=d;c[7722]=0;qh(a,f,f,1);$g(30888);i=e;return c[7722]|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(jh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function Fg(b,d){b=b|0;d=d|0;a:while(1){if(!(Qb(b,d,0)|0)){b=0;break}switch(a[(Uh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Gg(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=17){b=0;break}if(!(Cf(c[128+(b*36|0)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4)b=128+(b*36|0)|0;return b|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Eg(b)|0;b=md(b,23012)|0;g=oe(f+1|0)|0;c[d>>2]=g;Pe(b,g,f);a[g+f>>0]=0;Be(b)|0;if(e|0)c[e>>2]=f;return}function Ig(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=892;c[a+2852>>2]=a+2440;c[a+2860>>2]=1028;c[a+2864>>2]=a+2684;c[a+2872>>2]=1168;b[a+5816>>1]=0;c[a+5820>>2]=0;Gc(a);return}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;re(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Pg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Lg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ei(23163,c);break}default:{}}if((a&18|0)==16)Ei(23229,b);else{i=c;return}}function Mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Mk(a)|0)==0;b=Ud(a,b,d)|0;if(!e)Lk(a)}else b=Ud(a,b,d)|0;return b|0}function Ng(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ni(ab(4,f|0)|0)|0;i=e;return a|0}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ni(Xa(3,f|0)|0)|0;i=e;return a|0}function Qg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=ti(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=le(65537)|0;return f|0}function Rg(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;ba(8);return 0}function Sg(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;Yb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Ff(g,b,d,e)|0;i=f;return e|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=wd(g,b,d,e)|0;i=f;return e|0}function Vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Yh(b)|0)<0)og(23328,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Wg(b){b=b|0;var c=0,d=0;c=Wd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Qj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[185]|0)>=(a|0)){a=c[7718]|0;if(!a){a=c[2463]|0;c[7718]=a}Kc(a,b,d)|0;vd(c[7718]|0)|0}return}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;b=Bf(a,b,c)|0;if(b)if((b|0)<(c|0)){Of(a,c,b);b=1}else b=1;else b=0;return b|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function $g(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ce(b,d,e)|0}function bh(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=Yf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function ch(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(wf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function dh(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Mk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Lk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function eh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;a=ti(a)|0;c[d>>2]=a;a=Nb(Ag(16810,1,a)|0)|0;Ui(d);i=b;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=(b|0)){e=5;break}if(!a){a=0;break}d=d+1|0;a=c[a>>2]|0}return a|0}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=le(20)|0;c[e>>2]=Xi(a<<5)|0;c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=d;return e|0}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=le(28)|0;c[e+4>>2]=0;c[e+12>>2]=a;c[e+20>>2]=b;c[e+16>>2]=d;c[e+8>>2]=0;return e|0}function ih(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ni(Sa(57,e|0)|0)|0;i=d;return a|0}function jh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ni(Ha(195,e|0)|0)|0;i=d;return a|0}function kh(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=11704;c[a+4>>2]=4;c[a+8>>2]=d;c[a+12>>2]=b;Ei(11708,a)}function lh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[7720]|0;if(!b)Ei(20536,d);else{a=qi(b,a)|0;i=d;return a|0}return 0}function mh(a){a=a|0;var b=0;b=le(36)|0;c[b+28>>2]=128;c[b+20>>2]=le(128)|0;c[b+8>>2]=a;c[b+16>>2]=31568;c[b+12>>2]=31568;return b|0}function nh(a,b){a=a|0;b=b|0;a=a+12|0;do{a=c[a>>2]|0;if(!a){a=0;break}}while((Cf(c[a+4>>2]|0,b)|0)!=0);return a|0}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Jf(a,b,d,g)|0;i=f;return e|0}function ph(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if(!a){d=-1;break}if((a|0)==(b|0))break;d=d+1|0;a=c[a>>2]|0}return d|0}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[7714]=e;c[7715]=b;c[7716]=d;c[7717]=c[a+12>>2];Fe(c[a+4>>2]|0);return}function rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=La(6,d|0)|0;a=Ni((a|0)==-4?-115:a)|0;i=b;return a|0}function sh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(wf(d,a)|0))break;b=b+8|0}return b|0}function th(a,b,d){a=a|0;b=b|0;d=d|0;d=Tg(Re(a)|0,33,d,2)|0;b=Qg(a,b,lk(d)|0)|0;c[b+56>>2]=d;return b|0}function uh(a){a=a|0;var b=0;b=le(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Se(b,a)|0;return b|0}function vh(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=Ni(La(6,d|0)|0)|0;i=b;return a|0}function wh(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]}function xh(a){a=a|0;var b=0;b=i;i=i+16|0;a=cc(a)|0;if(!a)Ei(24269,b);else{i=b;return a|0}return 0}function yh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ob[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function zh(a,b){a=a|0;b=b|0;while(1){if(!a){a=0;break}if(!(Cf(c[a+4>>2]|0,b)|0))break;a=c[a>>2]|0}return a|0}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=le(d+1|0)|0;c=(c|0)<(d|0)?c:d;re(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Ch(a){a=a|0;while(1){if(!a)break;Ch(c[a>>2]|0);kb[c[7714]&3](c[a+12>>2]|0);a=c[a+4>>2]|0}return}function Dh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Aa(22965,22976,40,22992);else{b=c[b+4>>2]|0;Ui(a);return b|0}return 0}function Eh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Cj(c<<24>>24)|0;d=d+1|0}return b|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oj(a,b,f)|0;i=e;return d|0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Kc(a,b,f)|0;i=e;return d|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;b=b+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Ih(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;Fd(a,b,f);i=e;return}function Jh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=kj(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gf(a,b,f)|0;i=e;return d|0}function Lh(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;rf(a,b,f);i=e;return}function Mh(a,b){a=a|0;b=b|0;var c=0;c=Wd(a)|0;c=c-(Wd(b)|0)|0;if((c|0)<0)c=0;else c=(wf(a+c|0,b)|0)==0&1;return c|0}function Nh(a,b){a=a|0;b=b|0;dg(a,b,8);dg(a,b+8|0,8);dg(a,b+16|0,8);dg(a,b+24|0,8);dg(a,b+32|0,8);return}function Oh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);$j(c[b+8>>2]|0);wg(b+12|0);Ui(a)}return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Qh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Rh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;$j(b);b=d}c[a>>2]=0;return}function Sh(){var a=0,b=0;a=Ya(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;rh(b)|0;b=b+1|0}return}function Th(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Uh(b){b=b|0;if(!b)b=0;else while(1)if(!(Qj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Vh(a,b){a=a|0;b=b|0;if((c[a+8>>2]|0)>(c[b+4>>2]|0))a=(c[b+8>>2]|0)<=(c[a+4>>2]|0)&1;else a=-1;return a|0}function Wh(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Mk(a)|0)==0;a=If(a)|0}else a=If(a)|0;return a|0}function Xh(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;Yg(a,b,f);i=e;return}function Yh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ni(ua(42,d|0)|0)|0;i=b;return a|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,c)|0;if(c>>>0>b>>>0)Te(a+b|0,0,c-b|0)|0;return a|0}function _h(){}function $h(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 (C=d,a-c>>>0|0)|0}function ai(a){a=a|0;var b=0;if(!a)a=le(8)|0;else{b=le((Wd(a)|0)+8|0)|0;Tj(b+4|0,a)|0;a=b}return a|0}function bi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[185]=a;c[d>>2]=0;i=b;return}function ci(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;dg(a,d,4);i=c;return}function di(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Ei(23111,d);return 0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;Id(b,a)|0;c=c+-1|0}return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;a=df(a,b)|0;if(a)d=Ik(c[a+8>>2]|0)|0;return d|0}function gi(a){a=a|0;var b=0;b=le(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=le(a+1|0)|0;c[b+8>>2]=a;return b|0}function hi(){var a=0,b=0;b=i;i=i+16|0;a=Sc(2,1,0)|0;if((a|0)<0)ji(20876,b);i=b;return a|0}function ii(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);$j(c[b+8>>2]|0);Ui(a)}return}function ji(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;oi(a,e);i=d;return}function ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ic(b)|0;He(a)}return b|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[7720]|0)){Ti(Jb(a,b,0,d,0)|0);c[7721]=d}return}function mi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){qe(b);$j(c[b>>2]|0);Ui(a)}return}function ni(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+20>>2]|0);Jd(b+8|0);Ui(a)}return}function oi(a,b){a=a|0;b=b|0;var d=0;d=hd()|0;nb[c[d+8+(c[d+88>>2]<<2)>>2]&7](a,b);return}function pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function qi(a,b){a=a|0;b=b|0;a=df(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function si(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ti(a){a=a|0;var b=0;if(!a)a=0;else{b=Wd(a)|0;a=Bh(a,b,b)|0}return a|0}function ui(a){a=a|0;var b=0;b=i;i=i+16|0;a=xe(a,0,b)|0;i=b;return a|0}function vi(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wj(a,b);return Ac(a,b,c,d)|0}function xi(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function yi(a){a=a|0;switch(a|0){case 8:case 6:case 4:{a=1;break}default:a=0}return a|0}function zi(){var a=0;if(!(c[7723]|0))a=30936;else a=c[(Qk()|0)+64>>2]|0;return a|0}function Ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);Ui(a)}return}function Bi(a){a=a|0;if(!a)a=0;else{a=Uh(a)|0;Wg(a)}return a|0}function Ci(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Rh(b);$j(b);c[a>>2]=0}return}function Di(a){a=a|0;a=Wc(a)|0;if(!a)Ki();else return a|0;return 0}function Ei(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Wi(a,d)}function Fi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lb[a&7](b|0,c|0,d|0)|0}function Gi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);Ui(a)}return}function Hi(a){a=a|0;if((c[a+76>>2]|0)>-1?Mk(a)|0:0)Lk(a);return c[a+60>>2]|0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;a=Hf(a,c)|0;re(a|0,b|0,c|0)|0;return a|0}function Ji(b,c){b=b|0;c=c|0;b=fd(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ki(){var a=0;a=hd()|0;rb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Oa(-1)}function Li(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function Mi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){sg(b+52|0);Ui(a)}return}function Ni(a){a=a|0;if(a>>>0>4294963200){c[(zi()|0)>>2]=0-a;a=-1}return a|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gc(a,b,8,15,8,0,c,d)|0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&3](b|0,c|0,d|0)}function Qi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ci(b+20|0);Ui(a)}return}function Ri(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Si(a,b){a=a|0;b=b|0;if(!a)a=0;else a=xd(a,b,0)|0;return a|0}function Ti(a){a=a|0;c[7720]=a;if(lh(20028)|0)bi(Qe(20028,0)|0);return}function Ui(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)yk(b);return}function Vi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Wi(a,b){a=a|0;b=b|0;c[(hd()|0)+4>>2]=1;oi(a,b);Ki()}function Xi(a){a=a|0;var b=0;b=oe(a)|0;Te(b|0,0,a|0)|0;return b|0}function Yi(a,b){a=a|0;b=b|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb(a,b,c,d,0)|0}function _i(a){a=a|0;var b=0;b=uh(0)|0;return hh(a,b,Hf(b,512)|0)|0}function $i(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,0,-2147483648)|0;return a|0}function bj(a,b){a=a|0;b=b|0;return wf(c[a>>2]|0,c[b>>2]|0)|0}function cj(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,-2147483648,0)|0;return a|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return lc(a,b,21736,21745,c)|0}function ej(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function fj(a,b){a=a|0;b=b|0;return wf(c[a+4>>2]|0,c[b+4>>2]|0)|0}function gj(a,b){a=a|0;b=b|0;sj(b,c[a>>2]|0,c[7692]|0)|0;return}function hj(a,b,c){a=a|0;b=b|0;c=c|0;return mb[a&15](b|0,c|0)|0}function ij(a,b){a=a|0;b=b|0;c[7714]=b;Ch(c[a+4>>2]|0);return}function jj(a){a=a|0;c[7722]=0;ij(a,1);$g(30888);return c[7722]|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;return Zh(a,b,c)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,Wd(b)|0,c)|0}function mj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function nj(a){a=a|0;if(!(Oe(a)|0))Ki();else return}function oj(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,2147483647,b,c)|0}function pj(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;nb[a&7](b|0,c|0)}function rj(){if((Qa(14724)|0)==0?(Qa(14734)|0)==0:0)Oa(-1);Na()}function sj(a,b,c){a=a|0;b=b|0;c=c|0;Nc(a,b,c)|0;return a|0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,0+c|0)|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;return tb(_(c,b)|0)|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;return Kf(a,b,c)|0}function wj(a,b){a=a|0;b=b|0;lf(a,b,Wd(b)|0);return}function xj(a,b){a=a|0;b=b|0;qf(a,b,Wd(b)|0);return}function yj(a,b){a=a|0;b=b|0;return Bh(a,Wd(a)|0,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,0,c)|0}function Aj(a,b){a=a|0;b=b|0;Tj(b,c[a+4>>2]|0)|0;return}function Bj(a){a=a|0;var b=0;b=(jk(a)|0)==0;return (b?a:a&95)|0}function Cj(a){a=a|0;var b=0;b=(ik(a)|0)==0;return (b?a:a|32)|0}function Dj(a,b){a=a|0;b=b|0;return _g(a,b,(Wd(a)|0)+1|0)|0}function Ej(a){a=a|0;return Qg(18102,a,Hi(c[2492]|0)|0)|0}function Fj(a){a=a|0;if(!(c[a+68>>2]|0))Lk(a);return}function Gj(a){a=a|0;if(!(c[a+68>>2]|0))Lk(a);return}function Hj(a,b){a=a|0;b=b|0;return (Sf(a,Wd(a)|0,1,b)|0)+-1|0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,1,c)|0}function Jj(a){a=a|0;return ((a+-48|0)>>>0<10|(ak(a)|0)!=0)&1|0}function Kj(a){a=a|0;Hd(a,0,0);c[a+28>>2]=0;return}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return Mg(a,b,c)|0}function Mj(a,b){a=a|0;b=b|0;return pb[a&7](b|0)|0}function Nj(a){a=a|0;c[a>>2]=c[7722];c[7722]=a;return}function Oj(a){a=a|0;$j(c[a+4>>2]|0);$j(a);return}function Pj(a,b){a=a|0;b=b|0;i=a;j=b}function Qj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Rj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Sj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Tj(a,b){a=a|0;b=b|0;id(a,b)|0;return a|0}function Uj(a,b){a=a|0;b=b|0;kb[a&3](b|0)}function Vj(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Wj(a,b){a=a|0;b=b|0;return pe(a,b)|0}function Xj(a,b){a=a|0;b=b|0;return +(+je(a,b,1))}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function Zj(a){a=a|0;ei(a,0,240);return}function _j(a){a=a|0;ei(a,0,64);return}function $j(a){a=a|0;if(a|0)yk(a);return}function ak(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function bk(a,b){a=+a;b=+b;return +(+bg(a,b))}function ck(a,b){a=+a;b=b|0;return +(+Sd(a,b))}function dk(a,b){a=+a;b=b|0;return +(+Xd(a,b))}function ek(a){a=a|0;return (a+-3|0)>>>0<7|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function gk(a){a=a|0;return (lh(a)|0)!=0|0}function hk(b){b=b|0;a[b+48>>0]=1;return}function ik(a){a=a|0;return (a+-65|0)>>>0<26|0}function jk(a){a=a|0;return (a+-97|0)>>>0<26|0}function kk(a,b){a=a|0;b=b|0;Bb(b);return}function lk(a){a=a|0;return c[a+16>>2]|0}function mk(a,b){a=+a;b=+b;return +(+ec(a,b))}function nk(a){a=a|0;return a>>>0<2|0}function ok(a){a=a|0;return ej(a|0)|0}function pk(a){a=a|0;return ej(a|0)|0}function qk(a,b){a=a|0;b=b|0;ba(2);return 0}function rk(){c[186]=tg()|0;return}function sk(a){a=a|0;return a+8|0}function tk(a){a=a|0;rb[a&1]()}function uk(a){a=a|0;return tb(a)|0}function vk(a){a=a|0;return a+8|0}function wk(a){a=a|0;Bb(a);return}function xk(a){a=a|0;return Wh(a)|0}function yk(a){a=a|0;Bb(a);return}function zk(a){a=a|0;return +(+Xj(a,0))}function Ak(a){a=a|0;return 0}function Bk(a,b){a=a|0;b=b|0;ba(3)}function Ck(a){a=a|0;return 0}function Dk(a){a=a|0;i=a}function Ek(a){a=a|0;return 0+a|0}function Fk(a){a=a|0;C=a}function Gk(a){a=a|0;ba(5);return 0}function Hk(){return _i(8)|0}function Ik(a){a=a|0;return a|0}function Jk(){_d(30880);return}function Kk(){return c[185]|0}function Lk(a){a=a|0;return}function Mk(a){a=a|0;return 0}function Nk(){return C|0}function Ok(){return i|0}function Pk(a){a=a|0;ba(0)}function Qk(){return 0}function Rk(){ba(7)}
+function tb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[7736]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=30984+(b<<1<<2)|0;e=d+8|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[7740]|0)>>>0)Na();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Na()}else c[7736]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[7738]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=30984+(b<<1<<2)|0;e=d+8|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[7740]|0)>>>0)Na();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[7738]|0;break}else Na()}else{c[7736]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[7741]|0;b=l>>>3;d=30984+(b<<1<<2)|0;a=c[7736]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{m=a;n=b}}else{c[7736]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[7738]=h;c[7741]=e;N=j;i=O;return N|0}a=c[7737]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[31248+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[7740]|0;if(k>>>0<g>>>0)Na();j=k+q|0;if(k>>>0>=j>>>0)Na();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Na();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Na();a=f+12|0;if((c[a>>2]|0)!=(k|0))Na();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Na()}while(0);do if(h|0){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[7737]=c[7737]&~(1<<a);break}}else{if(h>>>0<(c[7740]|0)>>>0)Na();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[7740]|0;if(o>>>0<b>>>0)Na();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[7738]|0;if(a|0){f=c[7741]|0;b=a>>>3;e=30984+(b<<1<<2)|0;a=c[7736]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{r=a;s=b}}else{c[7736]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[7738]=d;c[7741]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[7737]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[31248+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[31248+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[7738]|0)-q|0)>>>0:0){f=c[7740]|0;if(k>>>0<f>>>0)Na();h=k+q|0;if(k>>>0>=h>>>0)Na();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Na();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Na();a=e+12|0;if((c[a>>2]|0)!=(k|0))Na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Na()}while(0);do if(g|0){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[7737]=c[7737]&~(1<<a);break}}else{if(g>>>0<(c[7740]|0)>>>0)Na();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[7740]|0;if(u>>>0<b>>>0)Na();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{w=a;x=b}}else{c[7736]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=31248+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Na()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[7738]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[7741]|0;if(a>>>0>15){N=b+q|0;c[7741]=N;c[7738]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[7738]=0;c[7741]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[7739]|0;if(a>>>0>q>>>0){L=a-q|0;c[7739]=L;N=c[7742]|0;M=N+q|0;c[7742]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[7854]|0)){c[7856]=4096;c[7855]=4096;c[7857]=-1;c[7858]=-1;c[7859]=0;c[7847]=0;x=p&-16^1431655768;c[p>>2]=x;c[7854]=x}h=q+48|0;g=c[7856]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[7846]|0;if(a|0?(w=c[7844]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[7847]&4)){a=c[7742]|0;c:do if(a){d=31392;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[7739]|0)&g;if(a>>>0<2147483647){b=Ga(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ga(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[7855]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[7844]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[7846]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ga(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[7856]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ga(y|0)|0)==(-1|0)){Ga(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[7847]=c[7847]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ga(k|0)|0,A=Ga(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[7844]|0)+f|0;c[7844]=a;if(a>>>0>(c[7845]|0)>>>0)c[7845]=a;j=c[7742]|0;do if(j){e=31392;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[7739]|0)|0;c[7742]=M;c[7739]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[7743]=c[7858];break}a=c[7740]|0;if(h>>>0<a>>>0){c[7740]=h;k=h}else k=a;d=h+f|0;a=31392;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=31392;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[7741]|0)){N=(c[7738]|0)+g|0;c[7738]=N;c[7741]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Na();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Na();b=f+12|0;if((c[b>>2]|0)!=(a|0))Na();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Na()}while(0);if(!h)break;b=c[a+28>>2]|0;d=31248+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[7740]|0)>>>0)Na();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[7737]=c[7737]&~(1<<b);break e}while(0);e=c[7740]|0;if(L>>>0<e>>>0)Na();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Na();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[7740]|0)>>>0)Na();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=30984+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Na();if((c[d+12>>2]|0)==(a|0))break;Na()}while(0);if((e|0)==(d|0)){c[7736]=c[7736]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Na();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Na()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;do if(!(b&a)){c[7736]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[7740]|0)>>>0){M=a;N=b;break}Na()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=31248+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Na()}}else{N=(c[7739]|0)+g|0;c[7739]=N;c[7742]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=31392;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[7742]=N;c[7739]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[7743]=c[7858];e=d+4|0;c[e>>2]=27;c[a>>2]=c[7848];c[a+4>>2]=c[7849];c[a+8>>2]=c[7850];c[a+12>>2]=c[7851];c[7848]=h;c[7849]=f;c[7851]=0;c[7850]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{J=a;K=b}}else{c[7736]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=31248+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Na()}}}else{N=c[7740]|0;if((N|0)==0|h>>>0<N>>>0)c[7740]=h;c[7848]=h;c[7849]=f;c[7851]=0;c[7745]=c[7854];c[7744]=-1;a=0;do{N=30984+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[7742]=M;c[7739]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[7743]=c[7858]}while(0);a=c[7739]|0;if(a>>>0>q>>>0){L=a-q|0;c[7739]=L;N=c[7742]|0;M=N+q|0;c[7742]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(zi()|0)>>2]=12;N=0;i=O;return N|0}function ub(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[382];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=fc(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=jc(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=jc(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=jc(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,re(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=jc(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=jc(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,re(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=jc(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=jc(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,re(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=jc(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,Ad(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,re(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=jc(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[382];e=-5;return e|0}}else{j=c[N>>2]|0;Ad(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;re(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[382];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?($b(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Cb(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,re(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Cb(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,re(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Cb(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,re(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){$b(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[27652+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[27140]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Cb(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,re(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Cb(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,re(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Cb(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,re(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=mb[c[772+((c[O+132>>2]|0)*12|0)+8>>2]&15](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{Ec(O);break}case 5:break;default:{xc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,Te(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;Ad(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;re(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;Ad(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,re(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[379];e=-2;return e|0}function vb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0}while((Qj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=jd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[30735+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=jd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[30744+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=jd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=jd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(zi()|0)>>2]=22;rg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=jd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=jd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;k=pi(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=pi(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=jd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else rg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=pi(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=rc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){rg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ph(o|0,n|0,2)|0;H=pi(H|0,C|0,-32,-1)|0;e=pi(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=pi(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=$h(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=pi(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+bk(+Sd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(zi()|0)>>2]=34;g=+ck(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=jd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=pi(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=pi(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=rc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){rg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=pi(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(zi()|0)>>2]=22;rg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[10400+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[10400+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[10400+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ph(c[p>>2]|0,0,29)|0;o=pi(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Zi(o|0,n|0,1e9,0)|0;o=Sg(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+bk(+Sd(1.0,105-o|0),j);m=+mk(j,+Sd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+mk(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(zi()|0)>>2]=34}while(0);g=+ck(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(zi()|0)>>2]=22;rg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function wb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(zi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)cd(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[28043+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}nc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Th(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=28523;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=28523;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=$h(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=28523;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?28523:28525;L=76}else{p=1;r=28524;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=28523;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=28523;o=N;break}case 109:{o=se(c[(zi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:30425;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Dd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?30433:30438}else{G=1;H=30435}else{q=-q;G=1;H=30432}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+dk(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ke(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[28507+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Dd(e,32,K,r,I);if(!(c[e>>2]&32))cd(y,w,e)|0;Dd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))cd(ea,o,e)|0;f=ba-p|0;Dd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))cd(t,f,e)|0;Dd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ph(c[r>>2]|0,0,t|0)|0;B=pi(B|0,C|0,o|0,0)|0;o=C;A=Sg(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Zi(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ke(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Dd(e,32,K,w,I);if(!(c[e>>2]&32))cd(H,G,e)|0;Dd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ke(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Te(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))cd(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;cd(30463,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ke(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Te(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))cd(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Dd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ke(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))cd(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}cd(30463,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Te(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))cd(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Dd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;cd(u,ba-u|0,e)|0}while(0);Dd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Dd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){cd(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))cd(s?(t?30744:30459):t?30451:30455,3,e)|0;Dd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=28523;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[28507+(o&15)>>0]|r;o=Th(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=28523;L=77}else{o=t;t=2;r=28523+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=28523;L=77}}else if((L|0)==76){f=ke(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Rc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=28523;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Si(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Dd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Si(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))cd(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Dd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Dd(e,32,o,s,p);if(!(c[e>>2]&32))cd(v,w,e)|0;Dd(e,48,o,s,p^65536);Dd(e,48,r,t,0);if(!(c[e>>2]&32))cd(f,t,e)|0;Dd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;nc(j+(m<<3)|0,n,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=ia;return m|0}function xb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Lk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Qj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{rg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=jd(e)|0}while((Qj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}rg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((jd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Te(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Te(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=tb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=jd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Dc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=pe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!($i(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=tb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=pe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+vb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Hb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;rg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=jd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Qj(d[m>>0]|0)|0))break;else n=m}rg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=jd(e)|0}while((Qj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Bb(l);Bb(f)}}else k=0;while(0);if(O|0)Kk(e);i=P;return k|0}function yb(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+272|0;Y=_+248|0;X=_+240|0;W=_+232|0;V=_+224|0;U=_+208|0;T=_+192|0;N=_+184|0;M=_+176|0;L=_+168|0;K=_+160|0;J=_+152|0;I=_+144|0;H=_+136|0;E=_+128|0;D=_+120|0;C=_+112|0;B=_+104|0;A=_+96|0;z=_+72|0;w=_+64|0;v=_+56|0;u=_+48|0;t=_+40|0;r=_+32|0;p=_+24|0;o=_+16|0;n=_;S=_+268|0;R=_+264|0;O=_+260|0;l=c[b>>2]|0;m=h+4|0;c[m>>2]=l;if((Wd(l)|0)>>>0>31){c[n>>2]=l;c[n+4>>2]=31;Lh(g,25509,n);l=c[m>>2]|0}if(!(a[l>>0]|0))Lh(g,25564,_+8|0);F=h+8|0;de(g,b,1,F,0,4,25595,0);G=h+12|0;de(g,b,2,G,0,4,25595,0);l=c[G>>2]|0;m=c[F>>2]|0;if(l>>>0<m>>>0){c[o>>2]=m;c[o+4>>2]=l;Lh(g,25603,o)}do if((e|0)>3){l=c[b+12>>2]|0;o=h+16|0;c[o>>2]=l;if((Wd(l)|0)>>>0>255){c[p>>2]=l;Lh(g,25639,p)}p=(k|0)==0;if(!p)c[o>>2]=ti(c[o>>2]|0)|0;if((e|0)>4){l=h+20|0;de(g,b,4,l,1,4,25595,0);if(p?(q=c[l>>2]|0,q>>>0>1e3):0){c[r>>2]=q;Lh(g,25694,r)}if((e|0)>5){l=b+20|0;if(p?(s=c[l>>2]|0,(Wd(s)|0)>>>0>1):0){c[t>>2]=s;Lh(g,25732,t)}t=a[c[l>>2]>>0]|0;a[h+24>>0]=t;a[h+25>>0]=0;switch(t<<24>>24){case 46:case 45:case 43:break;default:{c[u>>2]=c[l>>2];Lh(g,25732,u)}}if((e|0)>6){n=h+28|0;de(g,b,6,n,0,4,25595,0);if((e|0)>7){m=h+32|0;de(g,b,7,m,0,4,25595,0);l=c[n>>2]|0;if((c[m>>2]|0)>>>0<l>>>0){Lh(g,25776,v);l=c[n>>2]|0}do if(l|0){if(l>>>0>=(c[F>>2]|0)>>>0?l>>>0<=(c[G>>2]|0)>>>0:0)break;Lh(g,25802,w)}while(0);l=c[m>>2]|0;if(l|0?(y=c[F>>2]|0,x=c[G>>2]|0,l>>>0<y>>>0|l>>>0>x>>>0):0){w=c[n>>2]|0;c[z>>2]=c[o>>2];c[z+4>>2]=y;c[z+8>>2]=x;c[z+12>>2]=w;c[z+16>>2]=l;Lh(g,25867,z)}if((e|0)>8){l=c[b+32>>2]|0;if(!(Ji(l,44)|0))de(g,b,8,h+36|0,0,4,25595,0);else{l=ti(l)|0;if((_c(g,b,8,R,4,0,1,25595,0)|0)==3)c[h+36>>2]=d[R+1>>0]<<8|d[R>>0]<<16|d[R+2>>0];else{c[A>>2]=l;Lh(g,25956,A)}$j(l)}if((e|0)>9){r=h+40|0;de(g,b,9,r,0,4,25595,0);l=c[r>>2]|0;if(!l){c[B>>2]=0;Lh(g,26023,B);t=c[r>>2]|0}else t=l;l=i;i=i+((1*(t<<2)|0)+15&-16)|0;n=i;i=i+((1*(t<<2)|0)+15&-16)|0;s=i;i=i+((1*(t<<2)|0)+15&-16)|0;u=i;i=i+((1*(t<<2)|0)+15&-16)|0;if((e|0)<=10)break;if(p){m=_c(g,b,10,l,t,1,4,25595,1)|0;c[S>>2]=m;q=l}else{m=Xi((t<<2)+4|0)|0;q=h+44|0;c[q>>2]=m;m=_c(g,b,10,m,(c[r>>2]|0)+1|0,1,4,25595,1)|0;c[S>>2]=m;q=c[q>>2]|0}l=c[r>>2]|0;if((m|0)!=(l|0)){c[C>>2]=l;c[C+4>>2]=m;Lh(g,26066,C)}if((e|0)<=11)break;if(p){m=_c(g,b,11,n,t,1,4,25595,1)|0;c[S>>2]=m;p=n}else{m=Xi((c[r>>2]<<2)+4|0)|0;p=h+48|0;c[p>>2]=m;m=_c(g,b,11,m,(c[r>>2]|0)+1|0,1,4,25595,1)|0;c[S>>2]=m;p=c[p>>2]|0}l=c[r>>2]|0;if((m|0)!=(l|0)){c[D>>2]=l;c[D+4>>2]=m;Lh(g,26126,D)}l=c[p>>2]|0;if(!l)o=1;else{c[E>>2]=l;Lh(g,26187,E);o=1}while(1){l=c[r>>2]|0;if(o>>>0>=l>>>0)break;n=p+(o<<2)|0;l=c[n>>2]|0;m=c[F>>2]|0;do if((m+l|0)>>>0>=(c[G>>2]|0)>>>0)if(l>>>0<m>>>0){Lh(g,26456,I);break}else{Lh(g,26325,H);break}while(0);l=o+-1|0;if((c[n>>2]|0)<((c[q+(l<<2)>>2]|0)+(c[p+(l<<2)>>2]|0)|0)){c[J>>2]=l;c[J+4>>2]=o;Lh(g,26514,J)}o=o+1|0}J=l+-1|0;if(((c[p+(J<<2)>>2]|0)+(c[F>>2]|0)+(c[q+(J<<2)>>2]|0)|0)!=(c[G>>2]|0))Lh(g,26595,K);if((e|0)<=12)break;o=h+52|0;de(g,b,12,o,1,4,25595,1);l=c[o>>2]|0;if((l|0)<=0){c[L>>2]=l;Lh(g,26714,L)}n=(k|0)!=0;if(n){m=Xi((c[o>>2]<<2)+4|0)|0;c[h+56>>2]=m;m=_c(g,b,13,m,(c[o>>2]|0)+1|0,1,4,25595,1)|0}else m=_c(g,b,13,s,t,1,4,25595,1)|0;c[S>>2]=m;l=c[o>>2]|0;if((m|0)!=(l|0)){c[M>>2]=l;Lh(g,26755,M)}if((e|0)!=15)break;l=c[b+56>>2]|0;if(n){Bd(l,h+60|0,S);m=c[S>>2]|0}else{m=Ef(l,u,t)|0;c[S>>2]=m}l=c[o>>2]|0;if((m|0)==(l|0))break;c[N>>2]=l;Lh(g,26807,N)}}}else Z=34}else Z=23}else Z=23}else Z=23}else Z=23;while(0);if((Z|0)==23){c[h+28>>2]=c[F>>2];Z=34}if((Z|0)==34)c[h+32>>2]=c[G>>2];if(j|0){c[R>>2]=0;n=j+12|0;l=n;o=0;while(1){l=c[l>>2]|0;if((o|0)>=(f|0))break;m=c[c[l+12>>2]>>2]|0;if((((a[l+37>>0]|0)==0?(a[l+38>>0]|0)==0:0)?ek(m)|0:0)?a[l+36>>0]|0:0){c[O>>2]=0;de(g,b,o,O,1,4,25595,1);m=c[R>>2]|0;if(!m){m=ye(4,1)|0;c[R>>2]=m}tj(m,c[l+4>>2]|0,c[O>>2]|0)|0}o=o+1|0}p=fh(c[n>>2]|0,e)|0;o=e;while(1){if((o|0)>=(f|0))break;l=c[c[p+12>>2]>>2]|0;do if(!(a[p+37>>0]|0)){if(!(a[p+38>>0]|0)){if(ek(l)|0){O=(yi(l)|0)==0&1;e=Rf(l)|0;de(g,b,o,0,O,e,Af(l)|0,0);break}if(nk(l)|0){+Ie(g,b,o);break}if((l|0)==10?(P=c[b+(o<<2)>>2]|0,Q=Wd(P)|0,Q>>>0>255):0){e=c[p+4>>2]|0;O=T;c[O>>2]=Q;c[O+4>>2]=0;c[T+8>>2]=P;c[T+12>>2]=e;Lh(g,26862,T)}}}else if(ek(l)|0){e=(yi(l)|0)==0&1;m=Rf(l)|0;l=_c(g,b,o,0,10240,e,m,Af(l)|0,0)|0;c[S>>2]=l;m=c[p+24>>2]|0;if((m|0)>0){if((m|0)==(l|0))break;e=c[p+4>>2]|0;c[U>>2]=m;c[U+4>>2]=e;c[U+8>>2]=l;Lh(g,26931,U);break}l=c[R>>2]|0;m=p+28|0;if(!l){l=c[p+4>>2]|0;c[V>>2]=c[m>>2];c[V+4>>2]=l;Lh(g,26974,V);l=c[R>>2]|0}n=fi(l,c[m>>2]|0,-1)|0;if((n|0)!=-1){if((n|0)<=0){l=p+4|0;Z=115}}else{l=p+4|0;Z=c[l>>2]|0;c[W>>2]=c[m>>2];c[W+4>>2]=Z;Lh(g,26974,W);Z=115}if((Z|0)==115){Z=0;e=c[l>>2]|0;c[X>>2]=n;c[X+4>>2]=e;Lh(g,27051,X)}l=c[S>>2]|0;if((n|0)!=(l|0)){e=c[p+4>>2]|0;c[Y>>2]=n;c[Y+4>>2]=e;c[Y+8>>2]=l;Lh(g,26931,Y)}}while(0);p=c[p>>2]|0;o=o+1|0}_d(R)}i=_;return}function zb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function Ab(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=pi(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(23952==0?(wf(c[a+8>>2]|0,23966)|0)!=0:0){ba=a+32|0;T=ba;T=ob[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=pi(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=pi(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=pi(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=pi(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=$h(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=pi(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=$h((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=$h(k|0,j|0,f|0,d|0)|0;re(b|0,B+f|0,o|0)|0;e=pi(o|0,E|0,e|0,n|0)|0;f=C;d=$h(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=pi(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;ah(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=le(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=pi(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=$h(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(23952){y=pi(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=pi(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Zi(k|0,j|0,w|0,0)|0;t=pi(A|0,B|0,-1,-1)|0;t=pi(t|0,C|0,w|0,0)|0;w=Zi(t|0,C|0,w|0,0)|0;t=m+52|0;_f(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((zj(u,d,s)|0)<(s|0))f=0;else{$j(u);j=B;k=A;continue}while(1){o=zj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Ij(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=bh(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=bh(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=pi(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=$h(f|0,j|0,p|0,q|0)|0;k=C;f=oe(j)|0;c[W>>2]=f;m=ob[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}ah(Z,c[K>>2]|0,p,0)|0;uf(Z,c[K>>2]|0,f,j);Ui(W)}ce(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;ah(P,c[t>>2]|0,da+64|0,0)|0;uf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}$j(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);ah(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}xf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ei(23978,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Xh(4,24034,$);Xh(4,24080,aa);S=0;T=0;break}else if((n|0)==36){xf(Z,j,f,h);S=ba;S=pi(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=pi(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Bb(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;if(!a)return;d=a+-8|0;h=c[7740]|0;if(d>>>0<h>>>0)Na();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Na();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Na();if((k|0)==(c[7741]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[7738]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=30984+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Na();if((c[b+12>>2]|0)!=(k|0))Na()}if((d|0)==(b|0)){c[7736]=c[7736]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Na();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Na()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Na();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Na();a=e+12|0;if((c[a>>2]|0)!=(k|0))Na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Na()}while(0);if(f){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[7737]=c[7737]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[7740]|0;if(i>>>0<d>>>0)Na();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Na();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Na();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Na();if(!(b&2)){if((m|0)==(c[7742]|0)){p=(c[7739]|0)+g|0;c[7739]=p;c[7742]=q;c[q+4>>2]=p|1;if((q|0)!=(c[7741]|0))return;c[7741]=0;c[7738]=0;return}if((m|0)==(c[7741]|0)){p=(c[7738]|0)+g|0;c[7738]=p;c[7741]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();d=b+12|0;if((c[d>>2]|0)!=(m|0))Na();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Na()}while(0);if(f|0){a=c[m+28>>2]|0;b=31248+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[7737]=c[7737]&~(1<<a);break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[7740]|0;if(n>>>0<d>>>0)Na();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Na();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=30984+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[7740]|0)>>>0)Na();if((c[b+12>>2]|0)!=(m|0))Na()}if((d|0)==(b|0)){c[7736]=c[7736]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[7740]|0)>>>0)Na();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Na()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[7741]|0)){c[7738]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{o=a;p=b}}else{c[7736]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=31248+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[7737]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[7740]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Na()}}else{c[7737]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[7744]|0)+-1|0;c[7744]=q;if(!q)a=31400;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[7744]=-1;return}function Cb(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}zb(f,f+2840|0);zb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}zb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)xc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Tb(f,10432,11584);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[27908+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Kb(f,g,q);h=f+2440|0;Kb(f,h,r);Tb(f,g,h)}while(0);Gc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Db(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[7740]|0;if(l>>>0<i>>>0)Na();if((l|0)==(c[7741]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[7738]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=30984+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Na();if((c[a+12>>2]|0)!=(l|0))Na()}if((b|0)==(a|0)){c[7736]=c[7736]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Na();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Na()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Na();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Na();d=e+12|0;if((c[d>>2]|0)!=(l|0))Na();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Na()}while(0);if(f){d=c[l+28>>2]|0;a=31248+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[7737]=c[7737]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[7740]|0;if(j>>>0<b>>>0)Na();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[7740]|0;if(o>>>0<h>>>0)Na();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[7742]|0)){q=(c[7739]|0)+g|0;c[7739]=q;c[7742]=r;c[r+4>>2]=q|1;if((r|0)!=(c[7741]|0))return;c[7741]=0;c[7738]=0;return}if((o|0)==(c[7741]|0)){q=(c[7738]|0)+g|0;c[7738]=q;c[7741]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Na();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Na();d=e+12|0;if((c[d>>2]|0)!=(o|0))Na();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Na()}while(0);if(f|0){d=c[o+28>>2]|0;a=31248+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[7737]=c[7737]&~(1<<d);break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[7740]|0;if(n>>>0<b>>>0)Na();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=30984+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Na();if((c[a+12>>2]|0)!=(o|0))Na()}if((b|0)==(a|0)){c[7736]=c[7736]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Na();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Na()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[7741]|0)){c[7738]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=30984+(d<<1<<2)|0;a=c[7736]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[7740]|0)>>>0)Na();else{p=d;q=a}}else{c[7736]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=31248+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[7737]|0;a=1<<b;if(!(d&a)){c[7737]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[7740]|0)>>>0)Na();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[7740]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Na();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Eb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){$b(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=mc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,re(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[27652+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[27140+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,re(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,re(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,re(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Fb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Ji(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Xe(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Rc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Gb(a,d,f,g,j,k,l,m,n){a=a|0;d=d|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0;ba=i;i=i+512|0;$=ba+360|0;I=ba+352|0;v=ba+312|0;H=ba+296|0;S=ba+256|0;aa=ba+240|0;J=ba+232|0;p=ba+224|0;T=ba+476|0;Y=ba+480|0;D=ba+498|0;V=ba+496|0;U=ba+472|0;r=ba+216|0;y=ba+208|0;G=ba+468|0;_=ba+464|0;R=ba+200|0;O=ba+192|0;P=ba+494|0;Q=ba+184|0;z=ba+176|0;t=ba+424|0;u=ba+384|0;A=ba+168|0;E=ba+376|0;s=ba+372|0;w=ba+88|0;x=ba+8|0;Z=ba+368|0;K=ba+492|0;F=ba+490|0;M=ba+364|0;N=ba;B=ba+488|0;X=ba+486|0;W=ba+484|0;c[T>>2]=k;rk();o=$f(a,1)|0;c[Y>>2]=o;b[D>>1]=vi(c[k+12>>2]|0)|0;b[V>>1]=vi(m)|0;q=(m|0)!=0;if(q)L=Yc(m,k)|0;else L=0;m=We(d)|0;c[U>>2]=m;c[p>>2]=c[m+24>>2];c[p+4>>2]=d;Xh(2,13683,p);c[p>>2]=0;h[r>>3]=0.0;k=y;c[k>>2]=0;c[k+4>>2]=0;c[G>>2]=0;m=bc(o,m,L,p,r,y,c[7693]|0)|0;c[_>>2]=m;c[J>>2]=vi(m)|0;ff(1,13722,J);m=vi(m)|0;ca=+h[r>>3];c[aa>>2]=m;c[aa+4>>2]=a;h[aa+8>>3]=ca;Xh(2,13759,aa);m=md(n,13801)|0;c[aa>>2]=m;_j(m);Zj(c[aa>>2]|0);m=xk(c[aa>>2]|0)|0;k=J;c[k>>2]=m;c[k+4>>2]=((m|0)<0)<<31>>31;k=c[aa>>2]|0;dg(k,j,(Wd(j)|0)+1|0);c[S>>2]=e[D>>1];Xh(2,13804,S);k=S;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));p=xk(c[aa>>2]|0)|0;n=R;c[n>>2]=p;c[n+4>>2]=((p|0)<0)<<31>>31;Nh(c[aa>>2]|0,S);n=xk(c[aa>>2]|0)|0;p=O;c[p>>2]=n;c[p+4>>2]=((n|0)<0)<<31>>31;b[P>>1]=64;ei(c[aa>>2]|0,0,64);p=Q;c[p>>2]=0;c[p+4>>2]=0;if(q){n=xk(c[aa>>2]|0)|0;p=Q;c[p>>2]=n;c[p+4>>2]=((n|0)<0)<<31>>31;ei(c[aa>>2]|0,0,(e[V>>1]|0)*20|0);p=xk(c[aa>>2]|0)|0;n=p;p=((p|0)<0)<<31>>31}else{n=0;p=0}q=xk(c[aa>>2]|0)|0;a=z;c[a>>2]=q;c[a+4>>2]=((q|0)<0)<<31>>31;Gd(c[_>>2]|0,f,c[aa>>2]|0);a=Je(~~+h[r>>3],t,u)|0;q=xk(c[aa>>2]|0)|0;r=A;c[r>>2]=q;c[r+4>>2]=((q|0)<0)<<31>>31;c[E>>2]=0;c[s>>2]=0;dg(c[aa>>2]|0,y,8);r=y;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){d=s;m=0;o=0;k=0;j=0}else{k=Le(c[_>>2]|0,g)|0;c[s>>2]=Xi(k*24|0)|0;Kj(c[Y>>2]|0);if(L|0)hg(L,c[y>>2]|0);Ob(c[_>>2]|0,c[Y>>2]|0,c[T>>2]|0,g,c[s>>2]|0,k,l,c[aa>>2]|0,a,t,u,L,b[D>>1]|0,E);o=y;d=s;m=c[o>>2]|0;o=c[o+4>>2]|0;j=0}r=e[D>>1]|0;q=H;c[q>>2]=m;c[q+4>>2]=o;c[H+8>>2]=r;ff(1,13834,H);m=xk(c[aa>>2]|0)|0;o=((m|0)<0)<<31>>31;r=H;c[r>>2]=m;c[r+4>>2]=o;Lb(c[d>>2]|0,24,k,j,f,1,0,1,4,m,o,c[aa>>2]|0);Ui(s);ff(2,13902,v);s=y;if(!((c[s>>2]|0)==0&(c[s+4>>2]|0)==0)){d=c[Y>>2]|0;q=c[aa>>2]|0;r=e[D>>1]|0;s=A;s=$h(m|0,o|0,c[s>>2]|0,c[s+4>>2]|0)|0;vc(d,q,f,g,1,r,l,s,C,c[_>>2]|0,a,t,u,v,w,x,S)|0}a:do if(L|0){k=L+16|0;m=L+8|0;o=L+12|0;j=0;while(1){if((j|0)>=(e[L>>1]|0))break a;w=xk(c[aa>>2]|0)|0;x=(c[k>>2]|0)+(j<<3)|0;c[x>>2]=w;c[x+4>>2]=((w|0)<0)<<31>>31;c[7692]=c[(c[m>>2]|0)+(j<<2)>>2];Zb(c[(c[o>>2]|0)+(j<<2)>>2]|0,c[y>>2]|0,24,5);x=y;Bc(c[(c[o>>2]|0)+(j<<2)>>2]|0,24,c[x>>2]|0,c[x+4>>2]|0,f,1,c[7692]|0,2,16,c[aa>>2]|0);c[I>>2]=j;ff(1,13914,I);j=j+1|0}}while(0);if(l|0){I=g<<5;E=c[E>>2]|0;c[G>>2]=E>>>0>I>>>0?E:I}zg(c[aa>>2]|0);c[Z>>2]=-2021002517;b[K>>1]=4;b[F>>1]=0;c[M>>2]=0;I=N;c[I>>2]=0;c[I+4>>2]=0;b[B>>1]=c[7688];dg(c[aa>>2]|0,Z,4);dg(c[aa>>2]|0,K,2);dg(c[aa>>2]|0,F,2);dg(c[aa>>2]|0,z,8);dg(c[aa>>2]|0,A,8);dg(c[aa>>2]|0,H,8);dg(c[aa>>2]|0,D,2);dg(c[aa>>2]|0,B,2);dg(c[aa>>2]|0,J,8);dg(c[aa>>2]|0,R,8);dg(c[aa>>2]|0,G,4);dg(c[aa>>2]|0,O,8);if((xk(c[aa>>2]|0)|0)!=64)Aa(13949,13964,716,13978);c[$>>2]=0;Xh(2,13991,$);m=0;while(1){k=c[aa>>2]|0;if((m|0)==10)break;dg(k,M,4);dg(c[aa>>2]|0,M,4);dg(c[aa>>2]|0,N,8);dg(c[aa>>2]|0,N,8);m=m+1|0}Lj(k,c[R>>2]|0,0)|0;Nh(c[aa>>2]|0,S);Lj(c[aa>>2]|0,c[O>>2]|0,0)|0;dg(c[aa>>2]|0,P,2);dg(c[aa>>2]|0,V,2);dg(c[aa>>2]|0,Q,8);ei(c[aa>>2]|0,0,52);R=xk(c[aa>>2]|0)|0;S=O;S=$h(R|0,((R|0)<0)<<31>>31|0,c[S>>2]|0,c[S+4>>2]|0)|0;if(!((C|0)==0?(S|0)==(e[P>>1]|0):0))Aa(14018,13964,748,13978);if(b[V>>1]|0){Lj(c[aa>>2]|0,c[Q>>2]|0,0)|0;o=L+16|0;k=L+4|0;m=0;while(1){if((m|0)>=(e[V>>1]|0))break;b[$>>1]=0;b[X>>1]=1;dg(c[aa>>2]|0,$,2);dg(c[aa>>2]|0,X,2);dg(c[aa>>2]|0,(c[o>>2]|0)+(m<<3)|0,8);ei(c[aa>>2]|0,0,4);b[W>>1]=b[(c[k>>2]|0)+(m<<1)>>1]|0;dg(c[aa>>2]|0,W,2);ei(c[aa>>2]|0,0,2);m=m+1|0}$=xk(c[aa>>2]|0)|0;if(!(($|0)==(n|0)&((($|0)<0)<<31>>31|0)==(p|0)))Aa(14062,13964,770,13978)}Lj(c[aa>>2]|0,0,2)|0;dg(c[aa>>2]|0,Z,4);Jd(Y);nj(aa);_d(U);pg(_);vg(T);i=ba;return}function Hb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(zi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0}while((Qj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=jd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=jd(b)|0;if((d[30470+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){rg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[30470+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;rg(b,0);c[(zi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=jd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=bh(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=pi(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[30726+((e*23|0)>>>5&7)>>0]|0;j=a[30470+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Th(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ph(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[30470+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Zi(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=bh(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=pi(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[30470+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0}while((d[30470+i>>0]|0)>>>0<e>>>0);c[(zi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(zi()|0)>>2]=34;g=pi(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(zi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=$h(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Ib(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){$b(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=mc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[27652+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[27140+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,re(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,re(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,re(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Jb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ye(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(wf(r,19383)|0)){j=g;h=k;N=4;break}s=Ji(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Qj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Wd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Jj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)lj(Q,o,(m|0)==0?19805:m)|0;else{l=sh(o,f)|0;if(!l){l=sh(o,96)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}cj(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}aj(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Xj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Xj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?19805:m;l=sh(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=qi(Q,o)|0;l=ai(m)|0;if(!n){lj(Q,o,l)|0;break}else{Qh(n,l);break}}lj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ei(19394,z);break}case 34:{c[A>>2]=o;Ei(19420,A);break}case 36:{c[K>>2]=o;Ei(19459,K);break}case 38:{c[L>>2]=o;Ei(19495,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ei(19528,B);break}case 43:{c[C>>2]=o;Ei(19495,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ei(19570,D);break}case 48:{c[E>>2]=o;Ei(19614,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ei(19649,F);break}case 53:{c[G>>2]=o;Ei(19689,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ei(19725,H);break}case 57:{c[I>>2]=c[l>>2];Ei(19766,I);break}case 65:{Ei(19808,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Kb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Lb(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=uh(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=mb[k&15](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=Hf(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=bh(z|0,y|0,b|0,v|0)|0;p=a+p|0;qb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=pi(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=mb[k&15](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=pi(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=bh(q|0,C|0,b|0,v|0)|0;qb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=pi(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}$g(Q);c[H>>2]=vi(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Xh(2,18707,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}Hf(I,48)|0;y=Ii(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}$g(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;$g(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;dg(n,P,4);dg(n,M,4);dg(n,L,8);dg(n,g+12|0,4);dg(n,g+16|0,4);dg(n,g+20|0,4);dg(n,g+24|0,4);dg(n,O,8);dg(n,N,4);dg(n,K,4);if((g|0)!=(Q|0))qc(g,c[M>>2]|0,o,n);Ci(R);i=S;return}function Mb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Fb(d,16314)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Ve(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Pg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(zi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Ng(16815,f)|0))m=c[F>>2]|0;else{ag(F)|0;f=ag(F)|0;if(!f){O=20;break a}if((((Ng(17418,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(wf(f,17421)|0)if(wf(f,17425)|0){if(I?(g=wf(f,17429)|0,!((H|g|0)==0&G)):0)if(!(wf(f,17433)|0)){f=o;break}else{O=30;break a}if(!(wf(f,17520)|0)){O=34;break a}if(!(wf(f,17429)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Ji(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Uh(f+1|0)|0}if(!(Cf(m,17572)|0)){if(o|0)c[e>>2]=ti(f)|0;if(k)h=ti(f)|0}}while(!(I&(Cf(m,17581)|0)==0));if((Ng(17595,f)|0)!=0?(q=(Ji(f,32)|0)+1|0,r=Ji(q,45)|0,(r|0)!=0):0){l=r+1|0;m=rd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=rd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=se(f)|0;c[z+4>>2]=d;ji(17229,z);f=0;break}case 10:{c[v>>2]=d;ji(17266,v);f=0;break}case 11:{c[x>>2]=d;ji(17322,x);f=0;break}case 15:{c[y>>2]=2e3;ji(17354,y);f=0;break}case 20:{c[u>>2]=d;ji(17392,u);f=0;break}case 30:{if(!g)ji(17437,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ji(17480,E);f=0;break}case 34:{c[w>>2]=d;ji(17524,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ji(17549,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;oh(N,256,21498,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ji(17602,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?31568:17696;c[K+8>>2]=f?17421:17425;c[K+12>>2]=h|0?h:17712;ji(17722,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;oh(N,256,21498,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ji(17763,M);f=0}break}}i=P;return f|0}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;x=A+64|0;q=A+56|0;u=A+48|0;t=A+40|0;s=A+32|0;r=A+24|0;v=A+16|0;p=A+8|0;o=A;w=A+84|0;z=A+80|0;g=mh(b)|0;c[z>>2]=g;c[w>>2]=0;h=g+20|0;a:while(1){if(!(cc(g)|0)){b=w;e=47;break}n=le(20)|0;do if(Cf(c[h>>2]|0,21620)|0){if(!(Cf(c[h>>2]|0,21626)|0)){a[n+17>>0]=1;break}if(Cf(c[h>>2]|0,21606)|0){c[o>>2]=c[h>>2];Qf(g,21907,o)}}else a[n+16>>0]=1;while(0);xh(g)|0;j=n+4|0;c[j>>2]=ti(c[h>>2]|0)|0;xh(g)|0;c[n+8>>2]=ti(c[h>>2]|0)|0;xh(g)|0;Tf(g,21946);k=n+12|0;while(1){if((a[c[h>>2]>>0]|0)==41)break;l=le(48)|0;b=Gg(c[h>>2]|0)|0;if(!b){c[p>>2]=c[h>>2];Qf(g,21948,p)}m=l+12|0;c[m>>2]=b;xh(g)|0;if((c[c[m>>2]>>2]&-2|0)==12){c[l+16>>2]=ti(c[h>>2]|0)|0;xh(g)|0}switch(a[c[h>>2]>>0]|0){case 91:{if((c[c[m>>2]>>2]|0)==13)a[l+38>>0]=1;else a[l+37>>0]=1;xh(g)|0;b=c[h>>2]|0;d=a[b>>0]|0;do if((d+-48|0)>>>0<10){c[l+24>>2]=Td(b)|0;xh(g)|0}else{if(!(ak(d)|0)){Qf(g,21990,r);break}d=ti(c[h>>2]|0)|0;c[l+28>>2]=d;b=nh(n,d)|0;if(!b){e=23;break a}c[l+32>>2]=b;a[b+36>>0]=1;xh(g)|0}while(0);Tf(g,21701);break}case 40:{xh(g)|0;e=l+40|0;while(1){b=c[h>>2]|0;if((a[b>>0]|0)==41)break;d=ai(b)|0;c[d>>2]=c[e>>2];c[e>>2]=d;xh(g)|0;d=c[h>>2]|0;b=a[d>>0]|0;switch(b<<24>>24){case 41:case 44:break;default:{c[s>>2]=d;Qf(g,22036,s);b=a[c[h>>2]>>0]|0}}if(b<<24>>24==41)continue;xh(g)|0}Tf(g,21640);$g(e);break}default:{}}b=ti(c[h>>2]|0)|0;d=l+4|0;c[d>>2]=b;f=nh(n,b)|0;if(f|0){e=35;break a}xh(g)|0;c[l+44>>2]=De(g,0)|0;if(!(wf(c[h>>2]|0,22102)|0)){a[l+39>>0]=1;if(((c[c[m>>2]>>2]|0)+-3|0)>>>0>=7){e=38;break a}xh(g)|0}Tf(g,22155);c[l+8>>2]=ti(c[h>>2]|0)|0;xh(g)|0;if((c[c[m>>2]>>2]|0)==2?c[l+24>>2]|0:0)a[l+37>>0]=0;c[l>>2]=c[k>>2];c[k>>2]=l}$g(k);if(zh(c[w>>2]|0,c[j>>2]|0)|0){c[q>>2]=c[j>>2];Qf(g,22157,q)}Qh(w,n)}if((e|0)==23){c[v>>2]=d;Ei(21966,v)}else if((e|0)==35){c[t>>2]=c[f+4>>2];c[t+4>>2]=b;Ei(22065,t)}else if((e|0)==38){c[u>>2]=c[d>>2];Ei(22107,u)}else if((e|0)==47){b:while(1){h=c[b>>2]|0;b=c[w>>2]|0;if(!h){e=58;break}f=h+17|0;j=h+4|0;d=h+12|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;e=c[g>>2]|0;if(e|0){v=zh(b,e)|0;e=d+20|0;c[e>>2]=v;if(!v){e=52;break b}if(a[f>>0]|0?(a[(c[e>>2]|0)+17>>0]|0)==0:0){e=55;break b}}}b=h;e=47}if((e|0)==52){c[x>>2]=c[g>>2];Ei(22184,x)}else if((e|0)==55){A=c[d+4>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=A;Ei(22208,y)}else if((e|0)==58){ni(z);i=A;return b|0}}return 0}function Ob(b,d,e,f,g,h,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,_=0,$=0,aa=0;aa=i;i=i+32|0;Y=aa+16|0;W=aa+12|0;Z=aa+8|0;X=aa+4|0;_=aa;R=p&65535;S=R+1|0;T=i;i=i+((1*(S<<2)|0)+15&-16)|0;c[W>>2]=0;U=gi(0)|0;V=i;i=i+((1*(l<<2)|0)+15&-16)|0;r=0;while(1){if((r|0)>=(l|0))break;c[V+(r<<2)>>2]=0;r=r+1|0}Q=R+-1|0;c[Z>>2]=0;c[X>>2]=0;c[_>>2]=le(64)|0;P=U+12|0;M=(j|0)==0;N=U+4|0;O=(o|0)==0;K=(p&65535)>3;L=T+(Q<<2)|0;z=0;A=0;v=0;t=0;y=0;u=0;r=0;s=0;B=0;j=0;x=0;D=0;E=b;a:while(1){if(Fg(d,Y)|0){p=c[Y>>2]|0;if(!(c[7693]|0))p=Od(p,T,S)|0;else p=Nd(p,9,T,S)|0;Of(d,R,p);yb(T,c[7688]|0,R,d,c[_>>2]|0,e,0);J=c[_>>2]|0;b=c[J+4>>2]|0;c[Z>>2]=c[J+8>>2];c[X>>2]=c[J+12>>2];J=wf(b,c[E+4>>2]|0)|0;p=(J|0)==0;s=p&1;if((u|0)<(f|0)&(J|v|0)==0){J=v;H=b;I=u;G=s;F=x}else{u=(v|0)==0;t=b;w=s;$=12}}else{p=(s|0)!=0;u=0;v=1;w=s;$=12}if(($|0)==12){$=0;b=c[P>>2]|0;r=(b|0)>(r|0)?b:r;if(M)dg(k,c[N>>2]|0,b);else{b=Vj(b)|0;if((c[7695]|0)>>>0<b>>>0){Ui(30784);c[7695]=b;s=oe(b)|0;c[7696]=s}else s=c[7696]|0;J=jf(c[N>>2]|0,c[P>>2]|0,s,b)|0;dg(k,c[7696]|0,J)}c[P>>2]=0;a[c[N>>2]>>0]=0;if(O)b=x;else{b=xk(k)|0;b=$h(b|0,((b|0)<0)<<31>>31|0,z|0,A|0)|0;Yd(o,z,A,b,C,x,B);b=B}J=g+(j*24|0)|0;c[J>>2]=z;c[J+4>>2]=A;c[g+(j*24|0)+8>>2]=c[W>>2];c[g+(j*24|0)+12>>2]=D;c[g+(j*24|0)+16>>2]=y;j=j+1|0;if(u){J=v;H=t;I=0;G=w;F=b}else{$=46;break}}b:do if(p)p=E;else{p=c[E>>2]|0;if(!p){$=23;break a}if(!(wf(H,c[p+4>>2]|0)|0))b=0;else{$=25;break a}while(1){if((b|0)>=(l|0))break b;c[V+(b<<2)>>2]=0;b=b+1|0}}while(0);c[W>>2]=c[p+12>>2];if(!I){A=xk(k)|0;b=c[X>>2]|0;z=A;A=((A|0)<0)<<31>>31;s=b;D=c[Z>>2]|0}else{s=c[X>>2]|0;b=y}y=b>>>0<s>>>0?s:b;if(!O){of(o,T,B);B=B+1|0}qf(U,W,4);qf(U,Z,4);qf(U,X,4);if(K){b=3;while(1){if((b|0)==(Q|0))break;xj(U,c[T+(b<<2)>>2]|0);Wf(U,9)|0;b=b+1|0}xj(U,c[L>>2]|0)}Wf(U,0)|0;v=c[Z>>2]|0;w=c[X>>2]|0;x=0;while(1){if((x|0)>=(l|0))break;u=V+(x<<2)|0;b=c[u>>2]|0;t=n+(x<<2)|0;if(v>>>0<b>>>0)s=m+(x<<2)|0;else{c[t>>2]=(c[t>>2]|0)+1;s=m+(x<<2)|0;b=(c[s>>2]|0)+v|0;c[u>>2]=b}while(1){if(w>>>0<=b>>>0)break;c[t>>2]=(c[t>>2]|0)+1;E=(c[s>>2]|0)+b|0;c[u>>2]=E;b=E}x=x+1|0}v=J;t=H;u=I+1|0;s=G;x=F;E=p}if(($|0)==23)Aa(14428,13964,258,14442);else if(($|0)==25)Aa(14454,13964,259,14442);else if(($|0)==46)if((j|0)==(h|0)){Ui(_);c[q>>2]=r;i=aa;return}else Aa(14485,13964,324,14442)}function Pb(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,D=0.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.0;da=i;i=i+96|0;Y=da+48|0;$=da+76|0;ca=da+80|0;aa=da+72|0;ba=da+68|0;X=da+64|0;V=da;W=da+60|0;c[$>>2]=f;c[ca>>2]=0;T=_(j,e)|0;U=Xi(f*24|0)|0;c[aa>>2]=U;c[ba>>2]=U;U=U+(f*24|0)|0;I=xk(o)|0;H=p;c[H>>2]=I;c[H+4>>2]=((I|0)<0)<<31>>31;dg(o,$,4);c[X>>2]=gh(l,o,m)|0;H=r+8|0;I=r+16|0;J=r+24|0;K=r+32|0;L=V+4|0;M=V+8|0;N=V+12|0;O=V+24|0;P=V+20|0;Q=V+32|0;R=V+28|0;S=V+16|0;j=1;a:while(1){if(!a)break;E=$d(d,c[a+4>>2]|0)|0;c[W>>2]=E;F=a+12|0;G=a+16|0;E=jj(E)|0;b=0;while(1){if(!E)break;D=+(Ik(c[E+12>>2]|0)|0);m=c[E+4>>2]|0;B=c[E+8>>2]|0;p=B-m|0;if(!j){y=r;y=pi(c[y>>2]|0,c[y+4>>2]|0,p|0,0)|0;z=r;c[z>>2]=y;c[z+4>>2]=C;if(D<+h[H>>3])h[H>>3]=D;if(D>+h[I>>3])h[I>>3]=D;s=+(p>>>0);h[J>>3]=D*s+ +h[J>>3];s=D*D*s+ +h[K>>3]}else{z=r;c[z>>2]=p;c[z+4>>2]=0;h[I>>3]=D;h[H>>3]=D;s=+(p>>>0);h[J>>3]=D*s;s=D*D*s}h[K>>3]=s;do if(b){j=c[b+12>>2]|0;if(j>>>0>m>>>0){A=D;break}else{Hc(b,ca,T,ba,U,n,c[X>>2]|0);Z=16;break}}else Z=16;while(0);if((Z|0)==16){Z=0;c[L>>2]=c[F>>2];c[M>>2]=m;j=m+e|0;c[N>>2]=j;b=c[G>>2]|0;j=j>>>0>b>>>0?b:j;c[N>>2]=j;A=D;g[O>>2]=A;g[P>>2]=A;g[Q>>2]=0.0;g[R>>2]=0.0;c[S>>2]=0;b=V}t=b+12|0;u=b+8|0;v=b+16|0;w=b+20|0;x=b+24|0;y=b+28|0;s=D*D;z=b+32|0;while(1){if(B>>>0<=j>>>0){j=p;break}f=ri(m,B,c[u>>2]|0,j)|0;if((f|0)<=0){Z=20;break a}j=c[t>>2]|0;c[Y>>2]=B-m;c[Y+4>>2]=j;c[Y+8>>2]=f;Xh(3,14561,Y);c[v>>2]=(c[v>>2]|0)+f;if(+g[w>>2]>D)g[w>>2]=A;if(+g[x>>2]<D)g[x>>2]=A;fa=+(f|0);g[y>>2]=D*fa+ +g[y>>2];g[z>>2]=s*fa+ +g[z>>2];Hc(b,ca,T,ba,U,n,c[X>>2]|0);m=c[t>>2]|0;c[u>>2]=m;j=m+e|0;c[t>>2]=j;ea=c[G>>2]|0;j=j>>>0>ea>>>0?ea:j;c[t>>2]=j;g[x>>2]=A;g[w>>2]=A;g[z>>2]=0.0;g[y>>2]=0.0;c[v>>2]=0;p=p-f|0}c[v>>2]=(c[v>>2]|0)+j;if(+g[w>>2]>D)g[w>>2]=A;if(+g[x>>2]<D)g[x>>2]=A;fa=+(j>>>0);g[y>>2]=D*fa+ +g[y>>2];g[z>>2]=s*fa+ +g[z>>2];j=0;E=c[E>>2]|0}if(b|0)Hc(b,ca,T,ba,U,n,c[X>>2]|0);Qi(W);a=c[a>>2]|0}if((Z|0)==20)Aa(14511,13964,434,14523);mi(X);b=xk(o)|0;j=((b|0)<0)<<31>>31;ea=q;c[ea>>2]=b;c[ea+4>>2]=j;if((c[ba>>2]|0)==(U|0)){Lb(c[aa>>2]|0,24,c[$>>2]|0,0,k,l,0,1,4,b,j,o);Ui(aa);$g(ca);i=da;return c[ca>>2]|0}else Aa(14598,13964,472,14523);return 0}function Qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=lb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=pj(h)|0;c[b+16>>2]=e;f=zd(c[f>>2]|0)|0;if(!f){s=0;break}s=Wd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;$j(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}we(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)eg(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Kg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;we(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;xg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Zd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ei(23233,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Zd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Zd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Rb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[7740]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Na();f=c[k+4>>2]|0;if(!(f&1))Na();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[7856]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Db(m,d);return a|0}if((k|0)==(c[7742]|0)){d=(c[7739]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[7742]=l;c[7739]=m;return a|0}if((k|0)==(c[7741]|0)){e=(c[7738]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[7738]=d;c[7741]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Na();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Na();d=g+12|0;if((c[d>>2]|0)!=(k|0))Na();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Na()}while(0);if(h|0){d=c[k+28>>2]|0;e=31248+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[7737]=c[7737]&~(1<<d);break}}else{if(h>>>0<(c[7740]|0)>>>0)Na();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[7740]|0;if(j>>>0<f>>>0)Na();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Na();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=30984+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Na();if((c[e+12>>2]|0)!=(k|0))Na()}if((f|0)==(e|0)){c[7736]=c[7736]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Na();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Na()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Db(l,m);return a|0}return 0}function Sb(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+240|0;G=H+232|0;F=H+224|0;t=H+208|0;A=H+184|0;z=H+160|0;y=H+136|0;x=H+112|0;w=H+88|0;v=H+64|0;u=H+40|0;q=H+32|0;r=H+16|0;p=H;m=d+12|0;n=f+12|0;C=(j|0)!=0;B=C?1:2;j=b[d+16>>1]|0;l=j&255;d=b[f+16>>1]|0;f=d&255;j=(j&65535)>>>8&255;d=(d&65535)>>>8&255;do if(l<<24>>24==f<<24>>24){if(j<<24>>24!=d<<24>>24){c[r>>2]=a;c[r+4>>2]=j<<24>>24;c[r+8>>2]=e;c[r+12>>2]=d<<24>>24;Xh(B,22306,r);k=0;f=25;break}if(!(l<<24>>24))Ei(22348,q);else{k=0;s=m;o=n}while(1){o=c[o>>2]|0;s=c[s>>2]|0;j=(k|0)<(g|0);if(!(j&((o|0)!=0&(s|0)!=0))){f=23;break}d=s+4|0;j=o+4|0;if(ch(c[d>>2]|0,c[j>>2]|0)|0){f=9;break}d=c[s+36>>2]|0;j=c[o+36>>2]|0;f=(d&65535)>>>8&255;m=(j&65535)>>>8&255;l=d>>>16;n=j>>>16;if((d&255)<<24>>24!=(j&255)<<24>>24){f=11;break}if(f<<24>>24!=m<<24>>24){d=f;j=m;f=13;break}if((l&255)<<24>>24!=(n&255)<<24>>24){d=l;j=n;f=15;break}d=s+12|0;j=o+12|0;if(ch(c[(c[d>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0){f=17;break}d=c[s+24>>2]|0;j=c[o+24>>2]|0;if((d|0)!=(j|0)){f=19;break}d=s+28|0;j=o+28|0;if(ch(c[d>>2]|0,c[j>>2]|0)|0){f=21;break}k=k+1|0}if((f|0)==9){z=c[d>>2]|0;A=c[j>>2]|0;c[u>>2]=k+1;c[u+4>>2]=a;c[u+8>>2]=z;c[u+12>>2]=e;c[u+16>>2]=A;Xh(B,22412,u);f=25;break}else if((f|0)==11){c[v>>2]=k+1;c[v+4>>2]=a;c[v+8>>2]=d<<24>>24;c[v+12>>2]=e;c[v+16>>2]=j<<24>>24;Xh(B,22461,v);f=25;break}else if((f|0)==13){c[w>>2]=k+1;c[w+4>>2]=a;c[w+8>>2]=d<<24>>24;c[w+12>>2]=e;c[w+16>>2]=j<<24>>24;Xh(B,22515,w);f=25;break}else if((f|0)==15){c[x>>2]=k+1;c[x+4>>2]=a;c[x+8>>2]=d<<24>>24;c[x+12>>2]=e;c[x+16>>2]=j<<24>>24;Xh(B,22565,x);f=25;break}else if((f|0)==17){z=c[(c[d>>2]|0)+4>>2]|0;A=c[(c[j>>2]|0)+4>>2]|0;c[y>>2]=k+1;c[y+4>>2]=a;c[y+8>>2]=z;c[y+12>>2]=e;c[y+16>>2]=A;Xh(B,22616,y);f=25;break}else if((f|0)==19){c[z>>2]=k+1;c[z+4>>2]=a;c[z+8>>2]=d;c[z+12>>2]=e;c[z+16>>2]=j;Xh(B,22670,z);f=25;break}else if((f|0)==21){y=c[d>>2]|0;z=c[j>>2]|0;c[A>>2]=k+1;c[A+4>>2]=a;c[A+8>>2]=y;c[A+12>>2]=e;c[A+16>>2]=z;Xh(B,22723,A);f=25;break}else if((f|0)==23){if(!j){D=1;E=k;break}c[t>>2]=g;c[t+4>>2]=a;c[t+8>>2]=e;c[t+12>>2]=k;Ei(22781,t)}}else{c[p>>2]=a;c[p+4>>2]=l<<24>>24;c[p+8>>2]=e;c[p+12>>2]=f<<24>>24;Xh(B,22265,p);k=0;f=25}while(0);do if((f|0)==25)if(C)Ei(22906,F);else{c[G>>2]=k;Xh(B,22924,G);D=0;E=k;break}while(0);if(h|0)c[h>>2]=E;i=H;return D|0}function Tb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[27652+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[912+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[1264+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[27140+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[1048+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[1380+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Ub(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){$b(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,re(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,re(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,re(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Cb(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,re(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Vb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Gh(0,24103,b)|0}b=d+112|0;if(c[b>>2]|0)sg(b);b=d+128|0;if(c[b>>2]|0)sg(b);$j(c[d+4>>2]|0);$j(c[d+8>>2]|0);Ui(d+12|0);$j(c[d+40>>2]|0);$j(c[d+44>>2]|0);$j(c[d+48>>2]|0);$j(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)sg(b);Mi(d+80|0)}Ui(a);i=e;return}function Wb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Aa(14810,14830,448,14846);h=wa()|0;c[s>>2]=h;if((h|0)<0)og(14859,l);if(h|0)if(!(ih(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;og(15397,k)}r=Li()|0;c[s>>2]=r;if(ih(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;og(14870,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Vg(m)|0;j=wa()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}jg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))ng(t);if(c[k>>2]|0)ng(m);g=0;f=0;j=h;h=k}if((b|0)==14)og(14859,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){qd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;ta(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];og(15104,o)}qd(k,0,h,e);h=Og(1,f,g)|0;if((h|0)<0)og(15015,p);if((h|0)==(g|0)){rh(1)|0;Oa(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ei(15050,q)}}else if((b|0)==28){rh(0)|0;rh(1)|0;Sh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=ib(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;jg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)og(15177,u);else if((b|0)==35){c[v>>2]=h;Ei(15192,v)}else if((b|0)==39){v=Ze(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ei(15222,w)}else if((b|0)==41)Aa(15277,14830,242,15301);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2463]|0;v=Ze(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Gh(h,15320,x)|0;h=c[k>>2]|0}Oa(h>>>8&255|0)}else if((b|0)==47)Aa(15367,14830,396,15387);else if((b|0)==49)Oa(0)}}function Xb(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;z=A+72|0;y=A+64|0;v=A+40|0;u=A+32|0;w=A+24|0;o=A+16|0;n=A+8|0;m=A;switch(g|0){case 1:case 2:case 4:case 8:break;default:{c[m>>2]=g;Ei(23444,m)}}m=Th(-1,-1,8-g<<3|0)|0;x=(f|0)!=0;m=Th(m|0,C|0,x&1|0)|0;f=C;do if((a[d>>0]|0)==45){if(!x){c[o>>2]=h;oh(k,l,23586,o)|0;f=3;break}if(!j){p=pi(m|0,f|0,1,0)|0;q=C;s=1;r=d+1|0;t=9;break}else{oh(k,l,23559,n)|0;f=4;break}}else{q=f;p=m;s=0;r=d;t=9}while(0);a:do if((t|0)==9){j=0;m=0;f=r;while(1){n=a[f>>0]|0;if((n+-48&255)>=10){t=18;break}o=bh(j|0,m|0,10,0)|0;d=C;if(d>>>0<m>>>0|(d|0)==(m|0)&o>>>0<j>>>0){t=12;break}j=(n<<24>>24)+-48|0;j=pi(j|0,((j|0)<0)<<31>>31|0,o|0,d|0)|0;m=C;if(m>>>0<d>>>0|(m|0)==(d|0)&j>>>0<o>>>0){t=14;break}if(m>>>0>q>>>0|(m|0)==(q|0)&j>>>0>p>>>0){t=16;break}f=f+1|0}if((t|0)==12){c[w>>2]=x?23632:31568;c[w+4>>2]=h;oh(k,l,23640,w)|0;f=2;break}else if((t|0)==14){c[u>>2]=x?23632:31568;c[u+4>>2]=h;oh(k,l,23640,u)|0;f=2;break}else if((t|0)==16){c[v>>2]=x?23632:31568;c[v+4>>2]=h;c[v+8>>2]=s|0?23656:31568;f=v+16|0;c[f>>2]=p;c[f+4>>2]=q;oh(k,l,23658,v)|0;f=2;break}else if((t|0)==18){if(n<<24>>24){c[y>>2]=x?23632:31568;c[y+4>>2]=h;oh(k,l,23688,y)|0;f=1;break}if((f|0)==(r|0)){c[z>>2]=x?23632:31568;c[z+4>>2]=h;oh(k,l,23721,z)|0;f=1;break}if(!e){f=0;break}switch(g|0){case 1:{if(!x){a[e>>0]=j;f=0;break a}if(!s){a[e>>0]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;a[e>>0]=f;f=0;break a}}case 2:{if(!x){b[e>>1]=j;f=0;break a}if(!s){b[e>>1]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;b[e>>1]=f;f=0;break a}}case 4:{if(!x){c[e>>2]=j;f=0;break a}if(!s){c[e>>2]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;c[e>>2]=f;f=0;break a}}case 8:{if(!x){f=e;c[f>>2]=j;c[f+4>>2]=m;f=0;break a}if(!s){f=e;c[f>>2]=j;c[f+4>>2]=m;f=0;break a}else{z=$h(0,0,j|0,m|0)|0;f=e;c[f>>2]=z;c[f+4>>2]=C;f=0;break a}}default:{f=0;break a}}}}while(0);i=A;return f|0}function Yb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=lg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((lg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=pi(m|0,l|0,-1,-1)|0;d=C;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;$h(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=$h(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){kd(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)kd(a,d,e,f,o);else oc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}oc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;oc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;oc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Ue(a,b,d)|0){b=hi()|0;if((b|0)>=0){if((ae(b,1)|0)<0){rh(b)|0;b=-1;break}b:do if((sf(b,d,16)|0)<0){n=zi()|0;d=c[n>>2]|0;if((d|0)!=115){w=se(d)|0;c[e>>2]=d;c[e+4>>2]=w;ji(16245,e);rh(b)|0;b=-1;break a}db(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Xf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}db(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=se(d)|0;c[t>>2]=d;c[t+4>>2]=C;ji(16021,t);rh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ji(16153,u);rh(b)|0;e=23;break}c[r>>2]=4;do if((_e(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=se(d)|0;c[w>>2]=d;c[w+4>>2]=C;ji(16109,w);rh(b)|0;break}}else{B=c[n>>2]|0;C=se(B)|0;c[v>>2]=B;c[v+4>>2]=C;ji(16079,v);rh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((ae(b,0)|0)<0){rh(b)|0;b=-1;break}if((yf(b,120)|0)<0){rh(b)|0;b=-1}}}else b=-1;else{ji(15901,x+24|0);b=-1}while(0);i=x;return b|0}function $b(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;re(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;re(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=fc(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=jc(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;Te((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;Te((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function ac(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,eg(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Te(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ac(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(zi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function bc(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.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+80|0;F=K+56|0;E=K+32|0;H=K+24|0;G=K+16|0;D=K;J=K+64|0;z=(d|0)==0;if(z)A=3;else A=(ug(d)|0)+1|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;c[J>>2]=0;ve(a);w=(j|0)==0;x=a+28|0;y=a+4|0;o=0;n=0;j=0;m=0;p=0;q=-1;l=1073741823;r=0;a:while(1){u=p;while(1){if(w)p=Bf(a,B,A)|0;else p=nf(a,9,B,A)|0;if(!p){I=26;break a}Nf(a,A,p);s=c[B>>2]|0;v=Ke(a,B,1)|0;t=Ke(a,B,2)|0;if(!z)df(d,B);if((t|0)<(v|0)){I=12;break a}o=pi(o|0,n|0,1,0)|0;n=C;p=t-v|0;j=pi(p|0,((p|0)<0)<<31>>31|0,j|0,m|0)|0;m=C;if(r){p=wf(c[r+4>>2]|0,s)|0;if(p)if((p|0)>0){I=16;break a}else I=17}else I=17;if((I|0)==17){I=0;p=cf(b,s)|0;if(!p){I=18;break a}q=Ik(c[p+8>>2]|0)|0;r=le(20)|0;c[r+4>>2]=ti(s)|0;c[r+12>>2]=u;c[r+16>>2]=q;c[r>>2]=c[J>>2];c[J>>2]=r;u=u+1|0;q=-1}p=c[r+16>>2]|0;if(t>>>0>p>>>0){I=21;break a}t=r+8|0;c[t>>2]=(c[t>>2]|0)+1;if((q|0)<=-1){q=v;continue}p=v-q|0;if((p|0)<(l|0)){q=v;l=p;p=u;break}else q=v}if((l|0)<0){I=25;break}}if((I|0)==12){J=c[x>>2]|0;K=c[y>>2]|0;c[D>>2]=t;c[D+4>>2]=v;c[D+8>>2]=J;c[D+12>>2]=K;Ei(20023,D)}else if((I|0)==16){K=c[x>>2]|0;c[G>>2]=c[y>>2];c[G+4>>2]=K;Ei(20064,G)}else if((I|0)==18){c[H>>2]=s;Ei(20186,H)}else if((I|0)==21){e=c[r+4>>2]|0;J=c[x>>2]|0;K=c[y>>2]|0;c[E>>2]=t;c[E+4>>2]=e;c[E+8>>2]=p;c[E+12>>2]=J;c[E+16>>2]=K;Ei(20227,E)}else if((I|0)==25){K=c[x>>2]|0;c[F>>2]=c[y>>2];c[F+4>>2]=K;Ei(20285,F)}else if((I|0)==26){$g(J);if((o|0)==0&(n|0)==0)k=0.0;else k=(+(j>>>0)+4294967296.0*+(m>>>0))/(+(o>>>0)+4294967296.0*+(n>>>0));c[e>>2]=l;h[f>>3]=k;e=g;c[e>>2]=o;c[e+4>>2]=n;i=K;return c[J>>2]|0}return 0}function cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;n=q;m=q+4|0;do if(!(a[b>>0]|0)){f=b+4|0;c[f>>2]=0;p=b+16|0;h=b+8|0;j=b+12|0;k=b+33|0;l=b+34|0;d=c[p>>2]|0;a:while(1){g=Uh(d)|0;c[f>>2]=g-(c[p>>2]|0)+(c[f>>2]|0);d=a[g>>0]|0;b:do if(!(d<<24>>24))o=14;else{if(!(d<<24>>24==47&(a[k>>0]|0)!=0))if(d<<24>>24==35&(a[l>>0]|0)!=0){o=14;break}else{j=d;o=18;break a}switch(a[g+1>>0]|0){case 47:{o=14;break b}case 42:break;default:{j=47;o=18;break a}}d=g+2|0;while(1){d=Fb(d,21045)|0;if(d|0)break;if(!(Qb(c[h>>2]|0,j,m)|0)){o=10;break a}d=c[j>>2]|0}d=d+2|0;c[p>>2]=d}while(0);if((o|0)==14){o=0;if(!(Qb(c[h>>2]|0,j,m)|0)){o=17;break}c[f>>2]=(c[f>>2]|0)+1;d=c[j>>2]|0;c[p>>2]=d}}if((o|0)==10){c[n>>2]=c[(c[h>>2]|0)+4>>2];Ei(21048,n)}else if((o|0)==17){a[b+1>>0]=1;e=0;break}else if((o|0)==18){c:do if(j<<24>>24==95|(Jj(j<<24>>24)|0)!=0){d=g;while(1){d=d+1|0;if(Jj(a[d>>0]|0)|0)continue;if((a[d>>0]|0)!=95){e=d;break}}}else{switch(j<<24>>24){case 39:case 34:break;default:{d=g+1|0;e=d;break c}}k=(a[b+32>>0]|0)==0;f=g+1|0;g=k?f:g;d=g+2|0;while(1){e=a[f>>0]|0;if(e<<24>>24==j<<24>>24){if((a[f+-1>>0]|0)!=92){o=29;break}if(f>>>0>=d>>>0?(a[f+-2>>0]|0)==92:0){o=29;break}}else if(!(e<<24>>24)){o=30;break}f=f+1|0}if((o|0)==29){d=f+1|0;e=d;h=f;d=j<<24>>24==0?f:d}else if((o|0)==30){e=f+1|0;h=f;d=f}e=k?h:e}while(0);c[p>>2]=d;f=e-g|0;d=b+28|0;if((f|0)<(c[d>>2]|0)){e=b+20|0;d=e;e=c[e>>2]|0}else{e=f+128|0;c[d>>2]=e;d=b+20|0;e=kj(c[d>>2]|0,0,e)|0;c[d>>2]=e}re(e|0,g|0,f|0)|0;a[(c[d>>2]|0)+f>>0]=0;e=c[d>>2]|0;break}}else{a[b>>0]=0;e=c[b+20>>2]|0}while(0);i=q;return e|0}function dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Fb(b,16305)|0))e=pf(b,0,r)|0;else{if((Ng(23007,b)|0)==0?(Ng(23015,b)|0)==0:0){if(!(Ng(23024,b)|0)){c[g>>2]=b;Ei(17162,g)}ic(b,o);if(wf(o,16338)|0){c[f>>2]=b;Ei(16825,f)}b=o+4112|0;g=sd(b,Td(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(wi(g,16872,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,oh(m,256,16879,j)|0,(wi(g,m,0,0)|0)==0):0){rh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Wd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?16891:16896;c[k+4>>2]=j;oh(m,256,16901,k)|0;wj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Ji(j,40)|0;a[(Ji(j,41)|0)>>0]=0;if((Ne(s+1|0,16909,k,7)|0)!=6)Ei(16911,h);f=(Td(c[k+16>>2]|0)|0)<<8;f=_b(b,(Td(c[k+20>>2]|0)|0)+f|0)|0;Gi(l);if((f|0)<0){rh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((td(f,1e6)|0)>0){b=26;break}if((td(g,0)|0)>0?(Ac(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ji(16947,n);rh(g)|0;rh(f)|0;e=-1;break}else if((b|0)==24){rh(g)|0;rh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}vd(c[2492]|0)|0;vd(c[2433]|0)|0;vd(c[2463]|0)|0;b=le(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;re(b+20|0,o|0,10280)|0;f=b+4|0;if(Yh(f)|0){c[p>>2]=se(c[(zi()|0)>>2]|0)|0;Ei(17012,p)}b=Va(b|0,0,3,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=se(b)|0;c[q>>2]=b;c[q+4>>2]=s;Ei(17116,q)}}}else{rh(g)|0;e=-1}while(0)}break}e=dj(b,16821,0)|0}while(0);i=r;return e|0}function ec(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Th(d|0,m|0,52)|0;e=e&2047;j=Th(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ph(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ph(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ph(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ph(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ph(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ph(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ph(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ph(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=$h(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ph(d|0,f|0,1)|0;f=C;e=e+-1|0;l=$h(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ph(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=pi(d|0,f|0,0,-1048576)|0;d=C;e=Ph(e|0,0,52)|0;d=d|C;e=o|e}else{e=Th(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function fc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function gc(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=4;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=lb[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=lb[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=lb[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=lb[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=lb[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Lc(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[381];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}nb[c[o>>2]&7](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function hc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=vi(b)|0;c[t>>2]=q;c[v>>2]=Xi(q<<2)|0;dg(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=Vj(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=xk(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}dg(g,r,jf(p,h-s|0,r,q)|0);u=u-o|0}x=xk(g)|0;u=((x|0)<0)<<31>>31;Lb(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,2,7,x,u,g);Ui(v);C=u;i=w;return x|0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Wd(b)|0)>>>0>4095){c[e>>2]=b;Ei(16286,e)}Tj(f,b)|0;Bi(f)|0;b=Fb(f,16305)|0;if(!b){a[d>>0]=a[16309]|0;a[d+1>>0]=a[16310]|0;a[d+2>>0]=a[16311]|0;a[d+3>>0]=a[16312]|0;a[d+4>>0]=a[16313]|0}else{a[b>>0]=0;Eh(f)|0;Lf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Ji(f,47)|0;if(g){Ve(g,b,e,1);if(!((Cf(d,16309)|0)!=0?(Cf(d,16326)|0)!=0:0)){e=Pd(g,16332,16334)|0;Lf(d+6176|0,4096,e);$j(e)}a[g>>0]=0;if(!(Cf(d,16338)|0)){g=g+1|0;Vd(g,d+6176|0,Wd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Ji(f,64)|0;if(!g){if(!((Cf(d,16309)|0)!=0?(Cf(d,16326)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Cf(d,16338)|0)){b=d+16|0;e=16342;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=16352;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Ji(f,58)|0;if(!b){e=d+16|0;Lf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Lf(e,2048,f);f=d+2064|0;Lf(f,2048,b+1|0);b=f}Cd(e,e,Wd(e)|0);Cd(b,b,Wd(b)|0);f=g+1|0}b=Ji(f,58)|0;do if(!b){if(!(Cf(d,16309)|0)){h=d+6160|0;a[h>>0]=a[16370]|0;a[h+1>>0]=a[16371]|0;a[h+2>>0]=a[16372]|0}if(!(Cf(d,16326)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Cf(d,16338)|0)){h=d+6160|0;a[h>>0]=a[16373]|0;a[h+1>>0]=a[16374]|0;a[h+2>>0]=a[16375]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Lf(d+6160|0,16,e);break}else{c[h>>2]=e;Ei(16376,h)}}while(0);Lf(d+4112|0,2048,f);i=j;return}function jc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[1540+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+4>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+8>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+12>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+16>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+20>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+24>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+28>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[1540+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function kc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ni(na(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=na(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=na(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ni(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=na(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;na(221,l|0)|0}d=Ni(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=na(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=na(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;na(221,r|0)|0}d=Ni(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;La(6,p|0)|0}d=Ni(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ni(na(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ni(na(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function lc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=gi(512)|0;ic(b,s);h=Qa(16623)|0;p=(h|0)!=0;if(p){ic(h,q);re(r|0,q|0,10280)|0;h=bf(r,b)|0}else{re(r|0,s|0,10280)|0;h=bf(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ti(b)|0;j=Dj(b,59)|0;if((j|0)!=0?(Ng(16314,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Ih(k,16634,l);$j(b);c[m>>2]=f;Ih(k,16645,m);if((wf(s,16309)|0)==0?(wf(16370,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((wf(s,16326)|0)==0?(wf(16405,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Ih(k,16673,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Ih(k,16662,n)}b=c[t>>2]|0;re(r|0,s|0,10280)|0;Ae(r,16687,b);if(p){re(r|0,q|0,10280)|0;Ae(r,16701,b);k=c[t>>2]|0}else k=b;xj(k,16721);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Ih(k,16760,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Ih(k,16735,u);break}}while(0);if(g|0)xj(c[t>>2]|0,g);v=c[t>>2]|0;xj(v,16781);lf(h,c[v+4>>2]|0,c[v+12>>2]|0);Gi(t)}i=w;return h|0}function mc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function nc(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 oc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(mb[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((mb[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((mb[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((mb[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){Kd(b,p,e);kd(a,b,d,g,h)}i=r;return}function pc(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;d=a+4|0;e=c[d>>2]|0;do if(e){i=c[a+12>>2]|0;k=c[a+16>>2]|0;j=0;while(1){g=j+1|0;h=k+(j<<2)|0;c[h>>2]=e;d=e+12|0;f=mb[i&15](b,c[d>>2]|0)|0;if((f|0)<0){e=c[e>>2]|0;if(!e){d=h;f=j;g=5;break}else{j=g;continue}}if((f|0)<=0){g=9;break}e=c[e+4>>2]|0;if(!e){d=h;f=j;g=8;break}else j=g}if((g|0)==5){e=c[d>>2]|0;d=e;i=0;h=f;g=10;break}else if((g|0)==8){e=c[d>>2]|0;d=e+4|0;i=0;h=f;g=10;break}else if((g|0)==9){d=c[d>>2]|0;break}}else{i=1;e=0;k=0;h=0;g=10}while(0);a:do if((g|0)==10){f=a+24|0;g=c[f>>2]|0;if(!g)g=Hf(c[a+20>>2]|0,16)|0;else c[f>>2]=c[g+4>>2];c[g+4>>2]=0;c[g>>2]=0;c[g+12>>2]=b;c[g+8>>2]=i;c[d>>2]=g;b=a+8|0;c[b>>2]=(c[b>>2]|0)+1;if((h|0)>0){j=h;d=g;while(1){i=e+8|0;if(c[i>>2]|0){d=0;break a}g=j+-1|0;f=c[k+(g<<2)>>2]|0;h=c[f>>2]|0;if((e|0)==(h|0))h=c[f+4>>2]|0;if(!h)break;h=h+8|0;if((c[h>>2]|0)==1)break;c[i>>2]=1;c[h>>2]=1;if(!g){d=0;break a}c[f+8>>2]=0;d=j+-2|0;e=c[k+(d<<2)>>2]|0;j=d;d=f}d=dd(a,g,f,e,d)|0;c[d+8>>2]=1;c[(c[d+4>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+8>>2]=0;d=0}else d=0}while(0);return d|0}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}Zf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=xk(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=bh(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=pi(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Xh(2,18754,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Xh(2,18786,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Xh(2,18814,o);f=f+1|0}Xh(2,18818,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;Cc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=xk(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=xk(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=18882;Ei(18820,s)}else if((f|0)==14){Qc(b,a,0,d+-2|0,e);i=t;return}}function rc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=bh(f|0,b|0,10,0)|0;f=C;e=pi(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=pi(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=$h(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function sc(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;j=k;c[j+4>>2]=b;c[j+8>>2]=d;j=$e(a,j)|0;do if(j){e=j+4|0;f=c[e>>2]|0;if((f|0)<=(b|0)?(h=j+8|0,g=c[h>>2]|0,(g|0)>=(d|0)):0){if((f|0)<(b|0)){g=Hf(c[a+20>>2]|0,16)|0;c[g+4>>2]=c[e>>2];c[g+8>>2]=b;c[g+12>>2]=c[j+12>>2];c[e>>2]=b;pc(a,g)|0;b=c[h>>2]|0}else b=g;if((b|0)>(d|0)){g=Hf(c[a+20>>2]|0,16)|0;c[g+4>>2]=d;c[g+8>>2]=c[h>>2];b=j+12|0;c[g+12>>2]=c[b>>2];c[h>>2]=d;pc(a,g)|0}else b=j+12|0;c[b>>2]=(c[b>>2]|0)+1;break}h=a+20|0;g=Dg(a,b,d)|0;while(1){if(!g)break;e=g+4|0;f=c[e>>2]|0;if((b|0)>=(f|0)){if((b|0)>(f|0)){j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=c[e>>2];c[j+8>>2]=b;c[j+12>>2]=c[g+12>>2];c[e>>2]=b;pc(a,j)|0}}else{j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=c[e>>2];c[j+12>>2]=Ek(1)|0;pc(a,j)|0}b=g+12|0;c[b>>2]=(c[b>>2]|0)+1;b=c[g+8>>2]|0;g=c[g>>2]|0}if((b|0)<(d|0)){j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=Ek(1)|0;pc(a,j)|0}}else{j=Hf(c[a+20>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=Ek(1)|0;pc(a,j)|0}while(0);i=k;return}function tc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=pi(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;dg(o,z,1);dg(o,B,1);dg(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;Te(r|0,0,m|0)|0;nb[l&7](G,r);dg(o,r,m);dg(o,A,8);G=A;G=pi(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;ei(o,0,x);p=p+1|0}k=t}if((d|0)==9)Aa(19288,19271,491,19315);else if((d|0)==13){i=E;return w|0}return 0}function uc(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;o=i;i=i+64|0;n=o+40|0;l=o+32|0;e=o+24|0;j=o+16|0;h=o+8|0;g=o;p=o+48|0;m=o+52|0;k=o+44|0;c[p>>2]=b;li(p,d,16);c[2]=Re(14098,c[2]|0)|0;c[3]=Re(14108,c[3]|0)|0;c[7690]=gg(14121,c[7690]|0)|0;c[7694]=(gk(14124)|0)==0&1;c[7687]=gg(14128,0)|0;c[7693]=gk(14139)|0;if((c[p>>2]|0)!=4)kh();if(!(gk(14143)|0)){if(c[7691]|0)Ei(14249,e)}else{b=ti(gg(14143,31568)|0)|0;e=Ji(b,43)|0;if(e|0?(f=e+1|0,a[e>>0]=0,((a[f>>0]|0)+-48|0)>>>0<10):0)c[7689]=ui(f)|0;if(!(Ng(14148,b)|0))Ei(14152,g);b=ui(b+3|0)|0;c[7688]=b;if((b|0)<3){c[h>>2]=b;Ei(14179,h)}if((b|0)>15){c[j>>2]=b;Ei(14214,j)}}f=c[d+4>>2]|0;b=c[7688]|0;if(!b){b=$f(f,1)|0;c[m>>2]=b;if(!(Fg(b,k)|0)){c[l>>2]=c[b+4>>2];Ei(14366,l)}b=c[k>>2]|0;if(!(c[7693]|0))b=Od(b,0,0)|0;else b=Nd(b,9,0,0)|0;if((b|0)>256){c[n>>2]=c[(c[m>>2]|0)+4>>2];Ei(14378,n)}Jd(m);c[7688]=b;if((b|0)>15){c[7689]=b+-15;c[7688]=15;b=15}}e=c[7690]|0;if(!e)c[7691]=$c(b,(c[7689]|0)+b|0)|0;else Hg(e,30764,0);kg(f,c[d+8>>2]|0,c[d+12>>2]|0);Jk();if((Mk()|0)>1)yd();i=o;return 0}function vc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;A=B+24|0;y=B+16|0;x=B+8|0;w=B;z=B+28|0;if((m|0)<=0)Aa(20407,20423,304,20439);v=(h|0)==0;t=Ph(j|0,k|0,31)|0;t=Ah(t|0,C|0,32)|0;u=C;j=0;while(1){if((j|0)>=(m|0)){t=5;break}k=c[o+(j<<2)>>2]|0;if(!(0>u>>>0|(0==(u|0)?(v?k<<5:k<<4&2147483632)>>>0>t>>>0:0))){t=8;break}j=j+1|0}if((t|0)==5){c[w>>2]=0;c[w+4>>2]=0;Xh(2,20458,w);t=9}else if((t|0)==8){j=c[n+(j<<2)>>2]|0;c[x>>2]=j;c[x+4>>2]=k;Xh(2,20458,x);if(!j)t=9}if((t|0)==9){k=c[o>>2]|0;j=c[n>>2]|0}v=uh(0)|0;c[z>>2]=v;Kj(a);u=sb[f&1](l,g,a,j,k,4,d,e,h,v,b,q,r,s)|0;ff(2,20505,y);c[p>>2]=j;t=j<<2;j=1;do{f=k;k=vi(u)|0;if((k|0)>=(f|0))break;f=xk(b)|0;y=q+(j<<3)|0;c[y>>2]=f;c[y+4>>2]=((f|0)<0)<<31>>31;y=Vc(u,d,e,h,b)|0;f=r+(j<<3)|0;c[f>>2]=y;c[f+4>>2]=C;c[p+(j<<2)>>2]=t;j=j+1|0;t=t<<2;u=Jc(u,t,v)|0}while((j|0)<10);Ci(z);ff(2,20586,A);i=B;return j|0}function wc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;dg(n,B,1);dg(n,D,1);dg(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=pi(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=bh(o|0,p|0,f|0,x|0)|0;p=d+p|0;Te(v|0,0,k|0)|0;nb[j&7](p,v);dg(n,v,k);dg(n,pb[l&7](p)|0,m);p=pi(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;ei(n,0,y);r=pi(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=$h(u|0,t|0,p|0,0)|0;q=C;p=pi(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)Aa(19352,19271,529,19368);else if((o|0)==11){i=E;return}}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[7723]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ni(hb(146,n|0)|0)|0}else{va(2,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ni(hb(146,m|0)|0)|0;ma(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 zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Rc(30465,f<<24>>24,4)|0){e=tb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Ji(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Ji(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;na(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=na(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;na(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Ta(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[7724]|0))c[e+76>>2]=-1;_a(30920);f=c[7729]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[7729]=e;Ua(30920)}}else{c[(zi()|0)>>2]=22;e=0}i=o;return e|0}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=gi(4096)|0;while(1){if((td(b,1e6)|0)<=0){j=3;break}g=Pg(b,m,4096)|0;if(g){qf(c[o>>2]|0,m,g);if(!(Mh(c[(c[o>>2]|0)+4>>2]|0,18818)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Wd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Wd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ji(16444,n);g=0}else if((j|0)==18){g=Td(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ji(16488,p);g=0;break}if(!e)Gi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Bc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;dg(l,n,4);dg(l,p,4);dg(l,r,4);dg(l,s,4);dg(l,o,8);dg(l,m,4);dg(l,m,4);f=xk(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=tc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=xk(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=19271;c[q+4>>2]=572;Ei(19331,q)}else if((f|0)==8){wc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function Cc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=vi(c[k>>2]|0)|0;dg(m,n,1);dg(m,o,1);dg(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;dg(m,k+12|0,4);dg(m,k+16|0,4);dg(m,k+20|0,4);dg(m,k+24|0,4);dg(m,q,8);j=q;j=pi(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;ei(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=Cc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function Dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?30940:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[10084+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(zi()|0)>>2]=84;f=-1}i=l;return f|0}function Ec(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Xa(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Pg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=$h(1,0,g|0,e|0)|0;b=pi(b|0,C|0,d|0,h|0)|0}r=(Og(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)cg(17060,l);if((b|0)==-1)cg(17091,o);rh(c[m>>2]|0)|0;rh(c[a+12>>2]|0)|0;rh(c[n>>2]|0)|0;i=q;return 0}function Gc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function Hc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=c[e>>2]|0;if(k>>>0>=f>>>0)Aa(20629,20423,682,20648);c[e>>2]=k+24;f=xk(c[i+12>>2]|0)|0;m=k;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=a+4|0;c[k+8>>2]=c[m>>2];c[k+12>>2]=c[a+8>>2];f=a+12|0;c[k+16>>2]=c[f>>2];Qd(i,a);e=c[b>>2]|0;if(((e|0)!=0?(c[e+4>>2]|0)==(c[m>>2]|0):0)?(l=c[f>>2]|0,((c[e+8>>2]|0)+d|0)>>>0>=l>>>0):0){c[e+12>>2]=l;f=e+16|0;c[f>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);j=+g[a+20>>2];f=e+20|0;if(j<+g[f>>2])g[f>>2]=j;j=+g[a+24>>2];f=e+24|0;if(j>+g[f>>2])g[f>>2]=j;m=e+28|0;g[m>>2]=+g[a+28>>2]+ +g[m>>2];m=e+32|0;g[m>>2]=+g[a+32>>2]+ +g[m>>2]}else{k=Hf(h,48)|0;i=k;f=a;e=i+48|0;do{c[i>>2]=c[f>>2];i=i+4|0;f=f+4|0}while((i|0)<(e|0));c[k>>2]=c[b>>2];c[b>>2]=k}return}function Ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Jd(b);break}if((rh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Ei(15555,k)}}else{if(!(c[a+20>>2]&2)){if(dh(d)|0){c[f>>2]=c[a+12>>2];Ei(15524,f)}}else{vd(d)|0;if(dh(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Ei(15494,e)}}if((Be(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Ei(15555,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((ib(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)og(15177,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Ei(15585,l)}if(b|0)Aa(15626,14830,435,15644);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Ei(15660,m)}i=n;return d>>>8&255|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;c[n>>2]=0;h=0;j=0;while(1){if(!a){a=15;break}if(((j|0)!=0?(c[j+4>>2]|0)==(c[a+4>>2]|0):0)?(m=c[a+12>>2]|0,m>>>0<=((c[j+8>>2]|0)+b|0)>>>0):0){e=j+12|0;if((c[e>>2]|0)>>>0>=m>>>0){a=8;break}c[e>>2]=m;e=j+16|0;c[e>>2]=(c[e>>2]|0)+(c[a+16>>2]|0);e=j+20|0;f=+g[a+20>>2];if(+g[e>>2]>f)g[e>>2]=f;e=j+24|0;f=+g[a+24>>2];if(+g[e>>2]<f)g[e>>2]=f;e=j+28|0;g[e>>2]=+g[a+28>>2]+ +g[e>>2];e=j+32|0;g[e>>2]=+g[a+32>>2]+ +g[e>>2];e=j}else{l=Hf(d,48)|0;e=l;j=a;k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[l>>2]=h;c[n>>2]=l;h=l;e=l}j=e;a=c[a>>2]|0}if((a|0)==8)Aa(20540,20423,729,20563);else if((a|0)==15){$g(n);i=o;return c[n>>2]|0}return 0}function Kc(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+120|0;r=s+80|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((wb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Lk(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=wb(b,d,o,q,r)|0;if(h){lb[c[b+36>>2]&7](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=wb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Lc(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=jc(0,0,0)|0;else d=fc(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Ig(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;Te(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[772+(h*12|0)+2>>1];c[a+140>>2]=e[772+(h*12|0)>>1];c[a+144>>2]=e[772+(h*12|0)+4>>1];c[a+124>>2]=e[772+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Mc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ti(31568)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Jj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=le(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Jj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;oh(h,4,14624,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Te(b|0,0,e|0)|0;return b|0}function Oc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=gi(512)|0;c[h>>2]=f;xj(f,b);xj(f,16305);d=b+16|0;if(a[d>>0]|0){d=Mc(d)|0;xj(f,d);$j(d);d=b+2064|0;if(a[d>>0]|0){xj(f,16401);d=Mc(d)|0;xj(f,d);$j(d)}xj(f,16403)}xj(f,b+4112|0);if(!((wf(b,16338)|0)==0?!(wf(16373,b+6160|0)|0):0))e=7;do if((e|0)==7){if((wf(b,16309)|0)==0?(wf(16370,b+6160|0)|0)==0:0)break;d=b+6160|0;if((wf(b,16326)|0)==0?(wf(16405,d)|0)==0:0)break;xj(f,16401);xj(f,d)}while(0);xj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Ih(f,16409,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Ih(f,21498,k)}k=Dh(h)|0;i=l;return k|0}function Pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Mb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}rh(a)|0;if((h|0)>0)$j(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Ng(23007,f)|0)==0?(Ng(23015,f)|0)==0:0){g=11;break}f=te(g,f)|0;c[j>>2]=f;a=dc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ji(17811,k);g=14}else if((g|0)==11){c[l>>2]=f;ji(17865,l);g=14}else if((g|0)==13){c[m>>2]=f;ji(17895,m);g=14}if((g|0)==14)if((b|0)>0){$j(f);b=0}else b=0;i=n;return b|0}function Qc(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=vi(c[g>>2]|0)|0;dg(j,k,1);dg(j,l,1);dg(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;dg(j,g+12|0,4);dg(j,g+16|0,4);dg(j,g+20|0,4);dg(j,g+24|0,4);f=g+32|0;dg(j,f,8);h=g+40|0;f=$h(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;dg(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;ei(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Qc(d,g,k,h,j)}}while(0);i=o;return}function Rc(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|0)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?b:0)|0}function Sc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ni(qa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(zi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ni(qa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;kc(e,2,j)|0}if(b&2048){c[h>>2]=kc(e,3,k)|0|2048;kc(e,4,h)|0}}}}while(0);i=l;return e|0}function Tc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[7723]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ni(gb(145,h|0)|0)|0}else{va(3,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ni(gb(145,g|0)|0)|0;ma(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=vi(a)|0;c[j>>2]=h;c[k>>2]=Xi(h<<2)|0;dg(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=xk(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;dg(f,e+4|0,4);dg(f,e+8|0,4);dg(f,e+12|0,4);dg(f,e+16|0,4);ci(f,+g[e+20>>2]);ci(f,+g[e+24>>2]);ci(f,+g[e+28>>2]);ci(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=xk(f)|0;e=((h|0)<0)<<31>>31;Lb(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,2,7,h,e,f);Ui(k)}else{h=hc(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=dc(a,0)|0;if((d|0)<0){c[e>>2]=a;ji(17895,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Ng(23007,a)|0)==0?(Ng(23015,a)|0)==0:0){e=0;g=7}else if(!(Pc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=ti(a)|0;Cd(a,b,Wd(a)|0);do if(!(Mh(b,23031)|0)){if(Mh(b,23035)|0){$j(b);g=12;break}f=(Mh(b,23038)|0)==0;$j(b);if(f)b=Qg(a,1,d)|0;else g=12}else{$j(b);g=12}while(0);if((g|0)==12)b=th(a,1,d)|0;if(e)$j(e)}}i=h;return b|0}function Xc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Aa(18621,18673,388,18685);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Xi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)$g(b);d=d+1|0}$j(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Yc(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o+8|0;m=o;l=le(24)|0;f=vi(a)|0;b[l>>1]=f;f=f&65535;a:do if(f|0){k=l+4|0;c[k>>2]=Xi(f<<1)|0;c[l+8>>2]=Xi((e[l>>1]|0)<<2)|0;c[l+12>>2]=Xi((e[l>>1]|0)<<2)|0;c[l+16>>2]=Xi((e[l>>1]|0)<<3)|0;g=d+12|0;j=0;while(1){if(!a)break a;h=a+4|0;f=qg(d,h)|0;if(!f){f=5;break}if(wf(c[(c[f+12>>2]|0)+4>>2]|0,21519)|0){f=7;break}h=(ph(c[g>>2]|0,f)|0)&65535;b[(c[k>>2]|0)+(j<<1)>>1]=h;j=j+1|0;a=c[a>>2]|0}if((f|0)==5){c[m>>2]=h;Ei(13571,m)}else if((f|0)==7)Ei(13639,n)}while(0);i=o;return l|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;nb[c[b>>2]&7](c[e>>2]|0,d);d=b;b=c[f>>2]|0}nb[c[d>>2]&7](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function _c(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+288|0;r=s;q=s+24|0;o=e+1|0;p=b+28|0;n=b+4|0;b=0;e=c[d+(e<<2)>>2]|0;while(1){if(!e){f=10;break}if((b|0)==(g|0)|(a[e>>0]|0)==0){f=10;break}m=Ji(e,44)|0;d=(m|0)!=0;if(d)a[m>>0]=0;if((Xb(e,f,h,j,k,l,q,256)|0)>0){f=7;break}f=(f|0)==0?0:f+j|0;b=b+1|0;if(!d){e=0;continue}a[m>>0]=44;e=m+1|0}if((f|0)==7){p=c[p>>2]|0;s=c[n>>2]|0;c[r>>2]=q;c[r+4>>2]=b;c[r+8>>2]=o;c[r+12>>2]=p;c[r+16>>2]=s;c[r+20>>2]=e;Ei(23784,r)}else if((f|0)==10){i=s;return b|0}return 0}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+16|0;d=h;f=h+20|0;if((a+-3|0)>>>0>12){c[d>>2]=a;c[d+4>>2]=3;c[d+8>>2]=15;Ei(24312,d)}e=gi(0)|0;c[f>>2]=e;xj(e,24375);if((((((((((((a|0)>3?(xj(e,24590),(a|0)>4):0)?(xj(e,24630),(a|0)>5):0)?(xj(e,24672),(a|0)>6):0)?(xj(e,24716),(a|0)>7):0)?(xj(e,24794),(a|0)>8):0)?(xj(e,24869),(a|0)>9):0)?(xj(e,24927),(a|0)>10):0)?(xj(e,24969),(a|0)>11):0)?(xj(e,25039),(a|0)>12):0)?(xj(e,25113),(a|0)>13):0)?(xj(e,25150),(a|0)>14):0)xj(e,25237);d=a+1|0;while(1){if((d|0)>(b|0))break;a=d+1|0;c[g>>2]=a;Ih(e,25313,g);d=a}xj(e,25352);g=Dh(f)|0;i=h;return g|0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=le(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=gi(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){xj(e,14758);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){xj(e,16332);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}xj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Dh(j)|0;if(!(c[a>>2]|0))Ei(14762,k);if(!(b&8))e=0;else{Qh(l,Me(80,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Qh(l,Me(d,l)|0);e=e+1|0}i=m;return l|0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Lk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;re(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(me(f)|0){e=h;break}g=lb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Kk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Kk(f);return e|0}function cd(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(!(tf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=lb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((lb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);re(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 dd(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;g=c[e>>2]|0;h=(g|0)==(f|0);do if((c[d>>2]|0)==(e|0))if(h){c[e>>2]=f;f=e+4|0;c[d>>2]=c[f>>2];c[f>>2]=d;break}else{c[e+4>>2]=c[f>>2];c[f>>2]=e;e=f+4|0;c[d>>2]=c[e>>2];c[e>>2]=d;e=f;break}else if(h){c[d+4>>2]=c[f>>2];c[f>>2]=d;h=f+4|0;c[e>>2]=c[h>>2];c[h>>2]=e;e=f;break}else{c[d+4>>2]=g;c[e>>2]=d;c[e+4>>2]=f;break}while(0);do if(b){g=c[(c[a+16>>2]|0)+(b+-1<<2)>>2]|0;if((c[g>>2]|0)==(d|0)){c[g>>2]=e;break}else{c[g+4>>2]=e;break}}else c[a+4>>2]=e;while(0);return e|0}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(fd(b,e<<24>>24)|0)-b|0;i=g;return e|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Wd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function gd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=le(16)|0;else l=Hf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=yj(d,e)|0;else{k=Hf(h,e+1|0)|0;c[l+4>>2]=k;re(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Xc(b,si(m)|0);return l|0}function hd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Qk()|0;Ck(30788)|0;if((c[7704]|0)!=0&(a|0)==(c[7705]|0)){Og(2,15684,61)|0;Oa(1)}Ak(30788)|0;Ck(30824)|0;Ck(30788)|0;c[7705]=a;c[7704]=1;Ak(30788)|0;if(!(c[7713]|0))c[7713]=ye(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;oh(d,64,21498,b)|0;a=cf(c[7713]|0,d)|0;if(!a){a=le(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=2;c[a+140>>2]=0;c[a+92>>2]=1;a=lj(c[7713]|0,d,a)|0}Ck(30788)|0;c[7704]=0;Ak(30788)|0;Ak(30824)|0;i=e;return c[a+8>>2]|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function jd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=ig(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function kd(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((mb[d&15](k,j)|0)>-1?(mb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((mb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Kd(b,o,e);i=p;return}function ld(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=10288;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(zi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Kc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(wf(b,23119)|0){if(!(wf(b,18143)|0)){f=c[2433]|0;break}e=ee(b,d)|0;if(!e){a:do if(!d)e=31568;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=18171;break a}case 119:{e=18161;break a}default:{e=e<<24>>24==97?18150:31568;break a}}}while(0);d=se(c[(zi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ei(18180,g)}else f=e}else f=c[2492]|0;while(0);i=h;return f|0}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(gf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=cb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ok(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;wk(f);break}else{b=Wa(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ji(18002,f);b=0;break}}else{vf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function od(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=le(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[24247+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[24247+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[24247+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[24247+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function pd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[20969+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[20969+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Da(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))og(14903,k);l=Li()|0;if(ih(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Li()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;og(14926,f)}if(b|0?(yg(b,0)|0)<0:0)og(14953,g);if((d|0)!=1?(yg(d,1)|0)<0:0)og(14973,h);if((e|0)!=2?(yg(e,2)|0)<0:0)og(14994,j);Sh();i=k;return}function rd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Qj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=bh(c|0,d|0,10,0)|0;b=b+1|0;c=$h(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=$h(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function sd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=_b(a,b)|0;if((a|0)<0)a=-1;else{if((td(a,1e6)|0)>0)wi(a,31568,0,0)|0;c[g>>2]=0;c[h>>2]=d;oh(f,256,16531,h)|0;do if(wi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,oh(f,256,16541,j)|0,(wi(a,f,0,0)|0)==0):0){rh(a)|0;a=-1;break}if(!(wi(a,16551,0,0)|0)){rh(a)|0;a=-1}}else{rh(a)|0;a=-1}while(0)}i=k;return a|0}function td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Xf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(zi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=se(a)|0;ji(16426,m)}i=n;return a|0}function ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=pf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=le(5)|0;c[g>>2]=f;if((Pg(e,f,4)|0)<4)Ui(g);else a[f+4>>0]=0;rh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=he(e)|0,Ui(h),(g|0)!=0):0){h=Ug(Qe(b)|0,33,b,0)|0;e=Qg(b,d,lk(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function vd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ge(a)|0;break}d=(Lk(a)|0)==0;b=ge(a)|0;if(!d)Kk(a)}else{if(!(c[2462]|0))b=0;else b=vd(c[2462]|0)|0;_a(30920);a=c[7729]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Lk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ge(a)|0|b;if(d|0)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);Ua(30920)}while(0);return b|0}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=mg(e,0)|0;c[n>>2]=g;Lg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=mg(d,e)|0;else if(!f){e=pf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;og(15463,k)}else j=e}else j=0;c[m>>2]=j;e=Ff(a,b,j,g)|0;ng(m);if(!l)ng(n);i=o;return e|0}function xd(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[(zi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function yd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Li()|0;c[g>>2]=f;oh(a,256,20731,g)|0;d=kf(a,1)|0;c[g>>2]=d;if(!d){j=c[2463]|0;c[b>>2]=a;Gh(j,20768,b)|0;a=j}else{while(1){if(!(Fg(d,e)|0))break;a=c[e>>2]|0;if(Fb(a,20747)|0){j=5;break}}if((j|0)==5){j=c[2463]|0;c[h>>2]=f;c[h+4>>2]=a;Gh(j,20754,h)|0}Jd(g);a=c[2463]|0}vd(a)|0;i=k;return}function zd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=oe(k)|0;re(j|0,d|0,e|0)|0;$j(c);d=j;e=k;c=j}k=Ab(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ti(d)|0;$j(c);c=l}i=h;return c|0}function Ad(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function Bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;c[j>>2]=b;a:do if(b){b=fg(b,44)|0;if((b|0)>0){h=Xi(b<<2)|0;f=0;while(1){b=f+1|0;g[h+(f<<2)>>2]=+ue(j);l=c[j>>2]|0;f=l+1|0;c[j>>2]=f;if(!(a[l>>0]|0)){f=h;break a}if(!(a[f>>0]|0)){f=h;break}else f=b}}else f=0}else{f=0;b=0}while(0);c[d>>2]=f;c[e>>2]=b;i=k;return}function Cd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Kh(f,14620,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Dd(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;Te(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){cd(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;cd(h,f,a)|0}while(0);i=j;return}function Ed(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(!(tf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((lb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Fd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Jh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=ld((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Jh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}
+function Gd(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;h=vi(a)|0;if((h|0)>0){f=Xi(h<<4)|0;g=0;e=0;while(1){if((g|0)==(h|0))break;j=c[a+4>>2]|0;i=Wd(j)|0;c[f+(g<<4)+4>>2]=j;c[f+(g<<4)+8>>2]=c[a+12>>2];c[f+(g<<4)+12>>2]=c[a+16>>2];g=g+1|0;e=(i|0)>(e|0)?i:e;a=c[a>>2]|0}Zb(f,h,16,6)}else{f=0;e=0}Bc(f,16,h,((h|0)<0)<<31>>31,(h|0)>(b|0)?b:h,3,e,4,8,d);$j(f);return}function Hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;f=c[b+92>>2]|0;if(f|0)nb[f&7](b,23147);if(c[b+56>>2]|0){c[g>>2]=c[b+4>>2];og(23160,g)}a[b+48>>0]=0;f=c[b+72>>2]|0;if(!f){c[b+20>>2]=0;c[b+36>>2]=0;c[b+32>>2]=0;e=Pf(c[b+8>>2]|0,d,e)|0;c[b+16>>2]=e;if((e|0)==-1){c[h>>2]=c[b+4>>2];og(23204,h)}}else Uf(f,d,((d|0)<0)<<31>>31);i=j;return}function Id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Lk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Ed(d,b)|0;Kk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Ed(d,b)|0}while(0);return e|0}function Jd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Hi(c[2492]|0)|0):0){rh(c[d>>2]|0)|0;$j(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Vb(d)}else ki(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)kb[d&3](f);$j(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)_d(g);Ui(b)}return}function Kd(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;re(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;re(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Ld(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=$h(h^a|0,g^b|0,h|0,g|0)|0;b=C;Yb(a,b,$h(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=$h(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Md(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Pg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;og(18300,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ei(18325,g)}else if((d|0)==8){i=h;return}}function Nd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(Qj(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(Qj(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Wd(b)|0;h=Wd(c)|0;d=0;e=Fb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Fb(e+g|0,b)|0}f=Wd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=le((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Fb(a,b)|0;d=f;while(1){if(!a)break;Tj(d,e)|0;j=a+g|0;i=d+(a-e)|0;Tj(i,c)|0;e=j;a=Fb(j,b)|0;d=i+h|0}Tj(d,e)|0;return f|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;c[f+(e<<5)>>2]=c[b+4>>2];c[f+(e<<5)+4>>2]=c[b+8>>2];c[f+(e<<5)+8>>2]=c[b+12>>2];c[f+(e<<5)+12>>2]=c[b+16>>2];c[f+(e<<5)+16>>2]=c[b+20>>2];c[f+(e<<5)+20>>2]=c[b+24>>2];c[f+(e<<5)+24>>2]=c[b+28>>2];c[f+(e<<5)+28>>2]=c[b+32>>2];b=e+1|0;c[d>>2]=b;if((b|0)>=(c[a+8>>2]|0))qe(a);return}function Rd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Oi(f,-1,27134,56)|0;if(a|0){f=a;i=g;return f|0}a=ub(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Zc(f)|0;i=g;return f|0}else{Zc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Sd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ph(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Td(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Qj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(lb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((lb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Vd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Kh(f,14620,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Wd(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 Xd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Th(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Xd(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 Yd(a,b,d,f,g,h,i){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;m=a+12|0;a=e[a>>1]|0;k=0;while(1){if((k|0)==(a|0))break;j=c[(c[m>>2]|0)+(k<<2)>>2]|0;l=h;while(1){if((l|0)>=(i|0))break;n=j+(l*24|0)+8|0;c[n>>2]=b;c[n+4>>2]=d;n=j+(l*24|0)+16|0;c[n>>2]=f;c[n+4>>2]=g;l=l+1|0}k=k+1|0}return}function Zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(cf(c[e>>2]|0,d)|0)){lj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Gh(g,23229,h)|0}}}while(0);i=j;return}function _d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Oj(d);d=g}e=e+1|0}}else{Ci(b);b=d+8|0}while(0);$j(c[b>>2]|0);Ui(a)}return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k;d=Hk()|0;e=h+4|0;f=h+8|0;while(1){if(!(Fg(a,g)|0))break;if(!(hf(b,c[g>>2]|0)|0)){j=4;break}Od(c[g>>2]|0,h,3)|0;l=ui(c[e>>2]|0)|0;sc(d,l,ui(c[f>>2]|0)|0)}if((j|0)==4)hk(a);i=k;return d|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=kc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((kc(a,4,f)|0)<0){c[g>>2]=se(c[(zi()|0)>>2]|0)|0;ji(15990,g);d=-1}else d=0}else{c[e>>2]=se(c[(zi()|0)>>2]|0)|0;ji(15959,e);d=-1}i=h;return d|0}function be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d<<24>>24;f=b;b=0;while(1){if(!f)break;if(!(a[f>>0]|0))break;d=Ji(f,g)|0;if(!d){d=0;e=ai(f)|0}else{h=d-f|0;e=le(h+8|0)|0;re(e+4|0,f|0,h|0)|0;d=d+1|0}c[e>>2]=b;f=d;b=e}d=0;while(1){if(!b)break;g=c[b>>2]|0;c[b>>2]=d;h=b;b=g;d=h}return d|0}function ce(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[20977+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[20985+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[20985+f>>0]}while(0);return}function de(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0;m=i;i=i+288|0;l=m;k=m+24|0;b=c[b+(d<<2)>>2]|0;if((Xb(b,e,f,g,h,j,k,256)|0)>0){e=c[a+28>>2]|0;m=c[a+4>>2]|0;c[l>>2]=k;c[l+4>>2]=d+1;c[l+8>>2]=e;c[l+12>>2]=m;c[l+16>>2]=b;Ei(23747,l)}else{i=m;return}}function ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Rc(30465,a[d>>0]|0,4)|0){h=Mf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ni(ab(5,e|0)|0)|0;if((e|0)>=0){b=zc(e,d)|0;if(!b){c[f>>2]=e;La(6,f|0)|0;b=0}}else b=0}else{c[(zi()|0)>>2]=22;b=0}i=g;return b|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ei(19021,d)}d=Wj(a,b)|0;if(!d){g=c[(zi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ei(19085,e)}else{i=f;return d|0}return 0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(lb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)lb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Ng(22967,a)|0))if(!(Ng(22970,a)|0))if(!(Ng(22974,a)|0))if(!(Ng(22977,a)|0))a=0;else{a=22982;e=5}else{a=22986;e=5}else{a=22990;e=5}else{a=22992;e=5}if((e|0)==5){c[d>>2]=a;oh(b,20,22995,d)|0;a=ti(b)|0}i=f;return a|0}function ie(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=$h(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return $h((Yb(h,g,$h(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;rg(h,0);e=+vb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ke(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=Sg(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Zi(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 le(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ei(19157,b)}b=uk(a)|0;if(!b){f=c[(zi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ei(19210,d)}else{Te(b|0,0,a|0)|0;i=e;return b|0}return 0}function me(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)lb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ne(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=20919;break}case 2:{a=20898;break}case -1:{a=20887;break}case -2:{a=20871;break}case -3:{a=20871;break}case -4:{a=20856;break}case -5:{a=20841;break}case -6:{a=20822;break}case 0:{a=0;break}default:{c[b>>2]=a;oh(31440,128,20803,b)|0;a=31440}}i=d;return a|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ei(18897,b)}b=uk(a)|0;if(!b){f=c[(zi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ei(18955,d)}else{i=e;return b|0}return 0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=tb(b)|0;return a|0}if(b>>>0>4294967231){c[(zi()|0)>>2]=12;a=0;return a|0}d=Rb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=tb(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;re(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Bb(a);a=d;return a|0}function qe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;d=a+4|0;b=c[d>>2]|0;if(b|0){b=b<<5;if(!(c[a+16>>2]|0))dg(c[a+12>>2]|0,c[a>>2]|0,b);else{h=Vj(b)|0;f=Pa()|0;g=i;i=i+((1*h|0)+15&-16)|0;b=jf(c[a>>2]|0,b,g,h)|0;dg(c[a+12>>2]|0,g,b);za(f|0)}c[d>>2]=0}i=e;return}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ma(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 se(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[28533+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=28621;e=5;break}}if((e|0)==2)if(!c)b=28621;else{b=28621;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 te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;ic(b,g);ic(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Lf(e,2048,d);Lf(f+2064|0,2048,g+2064|0)}g=Oc(f)|0;i=h;return g|0}function ue(b){b=b|0;var d=0,e=0.0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g;d=g+4|0;h=c[b>>2]|0;e=+Xj(h,d);d=c[d>>2]|0;f=d;a:do if((d|0)!=(h|0)){switch(a[d>>0]|0){case 44:case 0:break;default:break a}c[b>>2]=f;i=g;return +e}while(0);d=Ji(h,44)|0;if(d|0)a[d>>0]=0;c[j>>2]=h;Ei(17943,j);return +(0.0)}function ve(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Fg(b,d)|0))break;if((Ng(23888,c[d>>2]|0)|0)==0?(Ng(23896,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Xh(2,23939,f)}if((g|0)==5){c[e>>2]=c[d>>2];Xh(2,23902,e);a[b+48>>0]=1}i=h;return}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function xe(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ei(17912,k)}else{c[j>>2]=e;Wi(d,j)}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Aa(18621,18673,357,18696);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=uh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Xi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function ze(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;rg(j,0);e=Hb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Ae(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;oh(h,256,16602,j)|0;j=od(h,Wd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Ih(e,16608,k);Ui(g)}i=l;return}function Be(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){_a(30920);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[7729]|0)==(a|0))c[7729]=b;Ua(30920)}b=vd(a)|0;b=pb[c[a+12>>2]&7](a)|0|b;d=c[a+92>>2]|0;if(d|0)Bb(d);if(!e)Bb(a);return b|0}function Ce(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=Pf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=18502;else e=(d|0)==2?18461:18470;else e=18493;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;og(18511,g);return 0}function De(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;d=c[e>>2]|0;if(((wf(d,21680)|0)!=0?(wf(d,21688)|0)!=0:0)?(wf(d,21695)|0)!=0:0)d=0;else{d=le(12)|0;c[d+4>>2]=ti(c[e>>2]|0)|0;xh(b)|0;if((a[c[e>>2]>>0]|0)==91){xh(b)|0;c[d+8>>2]=af(b)|0;xh(b)|0;Tf(b,21701)}}return d|0}function Ee(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=g+12|0;c[e>>2]=0;if((b|0)>15){c[f>>2]=b;Ei(25358,f)}if((b|0)<3)Ei(25432,g+8|0);else{h=$c(15,15)|0;f=eh(h)|0;c[e>>2]=f;f=Sb(25490,a,25496,f,b,0,d)|0;$j(h);vg(e);i=g;return f|0}return 0}function Fe(a){a=a|0;var b=0,d=0,e=0;while(1){if(!a)break;b=a+12|0;e=mb[c[7717]&15](c[b>>2]|0,c[7715]|0)|0;d=mb[c[7717]&15](c[b>>2]|0,c[7716]|0)|0;if((e|0)<=-1){if((d|0)>=1)break}else{Fe(c[a>>2]|0);if((d|0)>=1)break;kb[c[7714]&3](c[b>>2]|0)}a=c[a+4>>2]|0}return}function Ge(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2433]|0;if((c[f+76>>2]|0)>-1)g=Lk(f)|0;else g=0;do if((Hj(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=(Ed(f,10)|0)<0}while(0);if(g|0)Kk(f);return d<<31>>31|0}function He(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;$j(e);f=f+1|0}$j(b);$j(i);i=h}Ui(g+12|0);Ui(g+28|0);Ui(a)}return}function Ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Xj(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Ei(23840,g);return +(0.0)}function Je(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+16|0;f=h;e=(a|0)<10?10:a;a=0;while(1){if((a|0)>=10){a=10;break}c[d+(a<<2)>>2]=0;c[b+(a<<2)>>2]=e;if((e|0)>536870911){g=4;break}e=e<<2;a=a+1|0}if((g|0)==4){a=a+1|0;c[f>>2]=a;Xh(2,20372,f)}i=h;return a|0}function Ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Ei(23396,f)}j=Td(d)|0;i=g;return j|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;e=b+-1|0;d=0;while(1){if(!a)break;j=c[a+8>>2]|0;h=((e+j|0)>>>0)/(b>>>0)|0;c[f>>2]=c[a+4>>2];c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=b;Xh(2,20605,f);d=h+d|0;a=c[a>>2]|0}i=g;return d|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=le((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ti(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Uc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(ed(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Oe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2433]|0);if((b|0)==(c[2492]|0)|d)if(d){vd(b)|0;b=1}else b=1;else if(!(Be(b)|0))b=1;else{cg(18556,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(bd(b,d,1,a)|0)!=1:0){b=dh(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Ei(18269,f)}else{f=se(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Ei(18240,e)}}i=g;return}function Qe(a){a=a|0;var b=0;b=ti(a)|0;if(!(((Ng(23007,a)|0)==0?(Ng(23015,a)|0)==0:0)?!(Ng(23024,a)|0):0))Cd(a,b,Wd(a)|0);if(!(Mh(b,23031)|0))if(!(Mh(b,23035)|0))if(!(Mh(b,23038)|0)){a=(Mh(b,23043)|0)==0;a=a?0:724}else a=760;else a=748;else a=736;$j(b);return a|0}function Re(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=lh(b)|0;do if((f|0)!=0?(wf(f,19805)|0)!=0:0){d=cj(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ei(19528,h)}else e=d;while(0);i=j;return e|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Xi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ei(19994,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Te(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 Ue(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Sj(e&65535)|0;if(d){h=pk(nd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Dj(b,59)|0;if((g|0?Ng(16314,g)|0:0)?(i=(Ji(g,61)|0)+1|0,h=Ji(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=rd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=rd(b)|0;c[e>>2]=f}}return}function We(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ye(0,1)|0;b=Di(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(Zg(b,f,2)|0))break;b=c[f>>2]|0;tj(d,b,ui(c[a>>2]|0)|0)|0;b=c[e>>2]|0}Jd(e);i=g;return d|0}function Xe(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 Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ni(qa(102,h|0)|0)|0;i=g;return e|0}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=gi(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){xj(e,16332);b=c[d>>2]|0}xj(e,b);f=f+1|0}g=Dh(g)|0;i=h;return g|0}function _e(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ni(qa(102,h|0)|0)|0;i=g;return e|0}function $e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+12>>2]|0;a=a+4|0;while(1){e=c[a>>2]|0;if(!e){a=0;break}a=e+12|0;d=mb[f&15](b,c[a>>2]|0)|0;if((d|0)<0){a=e;continue}if((d|0)<=0){g=7;break}a=e+4|0}if((g|0)==7)a=c[a>>2]|0;return a|0}function af(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+20>>2]|0;if(((a[d>>0]|0)+-48|0)>>>0<10){e=ui(d)|0;i=f;return e|0}else{f=c[b+8>>2]|0;b=c[f+28>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=b;c[e+8>>2]=f;Ei(21642,e)}return 0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(wf(a,16309)|0)if(!(wf(a,16326)|0)){d=di(a+4112|0,Td(a+6160|0)|0)|0;break}else{c[e>>2]=b;Ei(16560,e)}else d=_b(a+4112|0,Td(a+6160|0)|0)|0;while(0);i=f;return d|0}function cf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((wf(c[e+4>>2]|0,d)|0)!=0);return e|0}function df(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;h=a+4|0;i=a+8|0;f=e[a>>1]|0;g=0;while(1){if((g|0)>=(f|0))break;a=Wd(c[b+((e[(c[h>>2]|0)+(g<<1)>>1]|0)<<2)>>2]|0)|0;d=(c[i>>2]|0)+(g<<2)|0;if((a|0)>(c[d>>2]|0))c[d>>2]=a;g=g+1|0}return}function ef(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((Ni(eb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function ff(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+32|0;f=g;e=g+8|0;if(!b)Aa(18042,18056,55,18071);if((c[23]|0)<0)c[23]=tg()|0;h=tg()|0;c[e>>2]=d;Yg(a,b,e);c[f>>2]=h-(c[23]|0);Xh(a,18083,f);c[23]=h;i=g;return}function gf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Ji(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function hf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Wd(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(Qj(d<<24>>24)|0)!=0;d=d&1}return d|0}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=Rd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=ne(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Ei(20935,g)}return 0}function kf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(wf(a,23119)|0){if(Qe(a)|0){c=ud(a,b)|0;break}c=pf(a,0,c)|0;if((c|0)==-1)c=0;else c=Qg(a,b,c)|0}else c=Ej(b)|0;while(0);i=d;return c|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Og(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)og(18367,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ei(18393,e)}}function mf(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;return sb[a&1](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)|0}function nf(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;k=i;i=i+16|0;j=k+4|0;h=k;while(1){if(!(Qb(b,h,j)|0)){g=0;break}g=c[h>>2]|0;if((a[g>>0]|0)==35)continue;g=Nd(g,d,e,f)|0;if(g|0)break}i=k;return g|0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;f=a+4|0;g=a+12|0;h=0;while(1){if((h|0)>=(e[a>>1]|0|0))break;i=ti(c[b+((e[(c[f>>2]|0)+(h<<1)>>1]|0)<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+(h<<2)>>2]|0)+(d*24|0)>>2]=i;h=h+1|0}return}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ni(ab(5,f|0)|0)|0;i=e;return d|0}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Jh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;re(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function rf(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+16|0;e=h+8|0;g=h;f=gi(0)|0;c[h+12>>2]=f;h=c[a+4>>2]|0;c[g>>2]=c[a+28>>2];c[g+4>>2]=h;Ih(f,23282,g);Fd(f,b,d);c[e>>2]=c[f+4>>2];Ei(23304,e)}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ni(qa(102,f|0)|0)|0;i=e;return d|0}function tf(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 uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=pi(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;lf(b,d,e);return}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ac(2,a,d)|0)<0){b=se(c[(zi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ji(17961,e);a=0}else{c[b>>2]=ok(c[d>>2]|0)|0;a=1}i=f;return a|0}function wf(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 xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=pi(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Md(b,d,e);return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Ye(a,1,20,d,8)|0)>=0)if((Ye(a,1,21,d,8)|0)<0){ji(15854,e);a=-1}else a=0;else{ji(15804,f);a=-1}i=f;return a|0}function zf(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,Ta(54,f|0)|0):0)a[b+75>>0]=-1;f=yc(b,d,e)|0;i=g;return f|0}function Af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;a=Rf(a)|0;switch(a|0){case 1:{b=21399;break}case 2:{b=21893;break}case 4:{b=25595;break}case 8:{b=21875;break}default:{c[d>>2]=a;Ei(21773,d)}}i=e;return b|0}function Bf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Qb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=Od(f,d,e)|0;if(f|0)break}i=j;return f|0}function Cf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Bj(a[e>>0]|0)|0;c=c<<24>>24;b=(Bj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Df(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 Ef(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b;b=0;while(1){if(!f)break;if((b|0)==(d|0)|(a[f>>0]|0)==0)break;e=Ji(f,44)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}g[c+(b<<2)>>2]=+zk(f);f=e;b=b+1|0}return b|0}function Ff(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;Lg(b);a=ad(a,b)|0;if(!(b&1)){b=Vg(a+16|0)|0;c[f>>2]=b;Wb(a,b,d,e,0,0);ng(f)}else Cg(a,d,e,0,0);i=g;return a|0}function Gf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=xb(e,b,d)|0;i=g;return h|0}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Se(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function If(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=lb[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=ld(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ei(18570,g)}return 0}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Rc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;re(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Wd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Ei(18097,f)}else{Tj(a,d)|0;i=g;return}}function Mf(b){b=b|0;var c=0,d=0,e=0;d=(Ji(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Ji(b,120)|0)==0;d=e?d:d|128;b=(Ji(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((d|0)<(b|0)){g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Ei(23347,e)}else{i=f;return}}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Ei(23307,e)}}function Pf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ni(eb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;f=f+16|0;c[f>>2]=d;oi(b,f);f=c[a+8>>2]|0;b=c[f+4>>2]|0;d=c[a+12>>2]|0;c[e>>2]=c[f+28>>2];c[e+4>>2]=b;c[e+8>>2]=d;Ei(21076,e)}function Rf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;switch(a|0){case 4:case 3:{b=4;break}case 6:case 5:{b=2;break}case 8:case 7:{b=1;break}case 9:{b=8;break}default:{c[d>>2]=a;Ei(21703,d)}}i=e;return b|0}function Sf(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=(Lk(e)|0)==0;a=cd(a,f,e)|0;if(!g)Kk(e)}else a=cd(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a+20|0;if(!(Cf(c[d>>2]|0,b)|0))xh(a)|0;else{d=c[d>>2]|0;c[e>>2]=b;c[e+4>>2]=d;Qf(a,21117,e)}i=f;return}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=pi(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(23952)ah(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Vf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2433]|0;else{Ge(15746)|0;Ge(15771)|0;d=c[2433]|0;Kc(d,a,b)|0;Id(10,d)|0;vd(d)|0}vd(d)|0;d=c[2463]|0;Kc(d,a,b)|0;Id(10,d)|0;vd(d)|0}return}function Wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+12|0;e=c[g>>2]|0;f=c[b+8>>2]|0;if((e|0)>=(f|0)){Jh(b,f+256|0);e=c[g>>2]|0}b=c[b+4>>2]|0;c[g>>2]=e+1;b=b+e|0;a[b>>0]=d;a[b+1>>0]=0;return d|0}function Xf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ni(fb(142,h|0)|0)|0;i=g;return d|0}function Yf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)Zf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function _f(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=oe(h)|0;a=a+136|0;ah(a,b,d+64|0,0)|0;xf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function $f(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=kf(a,b)|0;if(!b){e=se(c[(zi()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Ei(23125,d)}else{i=e;return b|0}return 0}function ag(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Uh(e)|0,(a[d>>0]|0)!=0):0){e=Bg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function bg(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=se(c[(zi()|0)>>2]|0)|0;c[g+4>>2]=a;Fh(f,15798,g)|0;oi(f,e);i=d;return}function dg(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?(Sf(b,d,1,a)|0)!=1:0){a=se(dh(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Ei(18210,e)}i=f;return}function eg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else re(b,c,d)|0;return b|0}function fg(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=0;f=0;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=f;break}b=b+1|0;d=(e<<24>>24==c<<24>>24&1)+d|0;f=e}return ((b<<24>>24==0?1:b<<24>>24==c<<24>>24)&1^1)+d|0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[7720]|0;if((d|0?(e=sh(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Ei(19926,f);f=lh(a)|0;i=g;return ((f|0)==0?b:f)|0}function hg(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;c[a+20>>2]=b;b=b*24|0;d=a+12|0;f=0;while(1){if((f|0)>=(e[a>>1]|0|0))break;g=Xi(b)|0;c[(c[d>>2]|0)+(f<<2)>>2]=g;f=f+1|0}return}function ig(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(me(a)|0)!=0:0)b=-1;else if((lb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ei(15120,e)}}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=be(c[7687]|0,44)|0;f=eh(c[7691]|0)|0;Ee(f,c[7688]|0,1)|0;Gb(a,b,c[2]|0,c[3]|0,c[7691]|0,f,c[7694]|0,e,d);return}function lg(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 mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=pf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;og(15431,d)}else{i=e;return b|0}return 0}function ng(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((rh(b)|0)<0){c[d>>2]=b;og(15155,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=se(c[(zi()|0)>>2]|0)|0;c[f+4>>2]=a;Fh(e,15798,f)|0;Wi(e,d)}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Ai(b);d=f}c[a>>2]=0;i=e;return}function qg(a,b){a=a|0;b=b|0;a:do if(!a)a=0;else{a=a+12|0;while(1){a=c[a>>2]|0;if(!a){a=0;break a}if(!(wf(c[a+4>>2]|0,b)|0))break a}}while(0);return a|0}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function sg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((rh(b)|0)<0)og(18543,d);else{c[a>>2]=-1;break}while(0);i=e;return}function tg(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;d=e;db(d|0,0)|0;a=c[7721]|0;b=c[d>>2]|0;if(!a){c[7721]=b;a=b}i=e;return ((b-a|0)*1e3|0)+((c[d+4>>2]|0)/1e3|0)|0}function ug(a){a=a|0;var b=0,d=0,f=0,g=0;f=a+4|0;b=e[a>>1]|0;d=0;a=0;while(1){if((d|0)==(b|0))break;g=e[(c[f>>2]|0)+(d<<1)>>1]|0;d=d+1|0;a=(g|0)>(a|0)?g:a}return a|0}function vg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Oh(b);d=f}c[a>>2]=0;i=e;return}function wg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;ii(b);d=f}c[a>>2]=0;i=e;return}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=kj(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Aa(23063,23085,352,23101)}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=ra(63,e|0)|0}while((d|0)==-16);e=Ni(d)|0;i=f;return e|0}function zg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Lk(a)|0)==0;Ud(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Kk(a)}else{Ud(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=ti(b)|0;c[f+8>>2]=-1;b=Wd(e)|0;c[f+20>>2]=b;c[f+12>>2]=b;a[f+40>>0]=d;c[f+52>>2]=e;return f|0}function Bg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Qj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[a+16>>2]=Vg(h)|0;Wb(a,b,c[h>>2]|0,d,e,f);ng(h);i=g;return}function Dg(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+4>>2]=b;c[f+8>>2]=d;c[7722]=0;qh(a,f,f,1);$g(30888);i=e;return c[7722]|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(jh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function Fg(b,d){b=b|0;d=d|0;a:while(1){if(!(Qb(b,d,0)|0)){b=0;break}switch(a[(Uh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Gg(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=17){b=0;break}if(!(Cf(c[112+(b*36|0)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4)b=112+(b*36|0)|0;return b|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Eg(b)|0;b=md(b,20728)|0;g=oe(f+1|0)|0;c[d>>2]=g;Pe(b,g,f);a[g+f>>0]=0;Be(b)|0;if(e|0)c[e>>2]=f;return}function Ig(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=892;c[a+2852>>2]=a+2440;c[a+2860>>2]=1028;c[a+2864>>2]=a+2684;c[a+2872>>2]=1168;b[a+5816>>1]=0;c[a+5820>>2]=0;Gc(a);return}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;re(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Pg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Lg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ei(14629,c);break}default:{}}if((a&18|0)==16)Ei(14695,b);else{i=c;return}}function Mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Lk(a)|0)==0;b=Ud(a,b,d)|0;if(!e)Kk(a)}else b=Ud(a,b,d)|0;return b|0}function Ng(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ni(bb(4,f|0)|0)|0;i=e;return a|0}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ni(Ya(3,f|0)|0)|0;i=e;return a|0}function Qg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=ti(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=le(65537)|0;return f|0}function Rg(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;ba(8);return 0}function Sg(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;Yb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Ff(g,b,d,e)|0;i=f;return e|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=wd(g,b,d,e)|0;i=f;return e|0}function Vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Yh(b)|0)<0)og(14792,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Wg(b){b=b|0;var c=0,d=0;c=Wd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Qj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[22]|0)>=(a|0)){a=c[7718]|0;if(!a){a=c[2463]|0;c[7718]=a}Kc(a,b,d)|0;vd(c[7718]|0)|0}return}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;b=Bf(a,b,c)|0;if(b)if((b|0)<(c|0)){Of(a,c,b);b=1}else b=1;else b=0;return b|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function $g(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ce(b,d,e)|0}function bh(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=Yf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function ch(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(wf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function dh(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Lk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Kk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function eh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;a=ti(a)|0;c[d>>2]=a;a=Nb(Ag(22260,1,a)|0)|0;Ui(d);i=b;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=(b|0)){e=5;break}if(!a){a=0;break}d=d+1|0;a=c[a>>2]|0}return a|0}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=le(20)|0;c[e>>2]=Xi(a<<5)|0;c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=d;return e|0}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=le(28)|0;c[e+4>>2]=0;c[e+12>>2]=a;c[e+20>>2]=b;c[e+16>>2]=d;c[e+8>>2]=0;return e|0}function ih(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ni(Sa(57,e|0)|0)|0;i=d;return a|0}function jh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ni(Ha(195,e|0)|0)|0;i=d;return a|0}function kh(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=11704;c[a+4>>2]=4;c[a+8>>2]=d;c[a+12>>2]=b;Ei(11708,a)}function lh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[7719]|0;if(!b)Ei(19894,d);else{a=qi(b,a)|0;i=d;return a|0}return 0}function mh(a){a=a|0;var b=0;b=le(36)|0;c[b+28>>2]=128;c[b+20>>2]=le(128)|0;c[b+8>>2]=a;c[b+16>>2]=31568;c[b+12>>2]=31568;return b|0}function nh(a,b){a=a|0;b=b|0;a=a+12|0;do{a=c[a>>2]|0;if(!a){a=0;break}}while((Cf(c[a+4>>2]|0,b)|0)!=0);return a|0}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Jf(a,b,d,g)|0;i=f;return e|0}function ph(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if(!a){d=-1;break}if((a|0)==(b|0))break;d=d+1|0;a=c[a>>2]|0}return d|0}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[7714]=e;c[7715]=b;c[7716]=d;c[7717]=c[a+12>>2];Fe(c[a+4>>2]|0);return}function rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=La(6,d|0)|0;a=Ni((a|0)==-4?-115:a)|0;i=b;return a|0}function sh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(wf(d,a)|0))break;b=b+8|0}return b|0}function th(a,b,d){a=a|0;b=b|0;d=d|0;d=Tg(Qe(a)|0,33,d,2)|0;b=Qg(a,b,lk(d)|0)|0;c[b+56>>2]=d;return b|0}function uh(a){a=a|0;var b=0;b=le(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Se(b,a)|0;return b|0}function vh(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=Ni(La(6,d|0)|0)|0;i=b;return a|0}function wh(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]}function xh(a){a=a|0;var b=0;b=i;i=i+16|0;a=cc(a)|0;if(!a)Ei(21094,b);else{i=b;return a|0}return 0}function yh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ob[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function zh(a,b){a=a|0;b=b|0;while(1){if(!a){a=0;break}if(!(Cf(c[a+4>>2]|0,b)|0))break;a=c[a>>2]|0}return a|0}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=le(d+1|0)|0;c=(c|0)<(d|0)?c:d;re(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Ch(a){a=a|0;while(1){if(!a)break;Ch(c[a>>2]|0);kb[c[7714]&3](c[a+12>>2]|0);a=c[a+4>>2]|0}return}function Dh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Aa(20681,20692,40,20708);else{b=c[b+4>>2]|0;Ui(a);return b|0}return 0}function Eh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Cj(c<<24>>24)|0;d=d+1|0}return b|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oj(a,b,f)|0;i=e;return d|0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Kc(a,b,f)|0;i=e;return d|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;b=b+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Ih(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;Fd(a,b,f);i=e;return}function Jh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=kj(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gf(a,b,f)|0;i=e;return d|0}function Lh(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;rf(a,b,f);i=e;return}function Mh(a,b){a=a|0;b=b|0;var c=0;c=Wd(a)|0;c=c-(Wd(b)|0)|0;if((c|0)<0)c=0;else c=(wf(a+c|0,b)|0)==0&1;return c|0}function Nh(a,b){a=a|0;b=b|0;dg(a,b,8);dg(a,b+8|0,8);dg(a,b+16|0,8);dg(a,b+24|0,8);dg(a,b+32|0,8);return}function Oh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);$j(c[b+8>>2]|0);wg(b+12|0);Ui(a)}return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Qh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Rh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;$j(b);b=d}c[a>>2]=0;return}function Sh(){var a=0,b=0;a=Ia(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;rh(b)|0;b=b+1|0}return}function Th(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Uh(b){b=b|0;if(!b)b=0;else while(1)if(!(Qj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Vh(a,b){a=a|0;b=b|0;if((c[a+8>>2]|0)>(c[b+4>>2]|0))a=(c[b+8>>2]|0)<=(c[a+4>>2]|0)&1;else a=-1;return a|0}function Wh(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Lk(a)|0)==0;a=If(a)|0}else a=If(a)|0;return a|0}function Xh(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;Yg(a,b,f);i=e;return}function Yh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ni(ua(42,d|0)|0)|0;i=b;return a|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,c)|0;if(c>>>0>b>>>0)Te(a+b|0,0,c-b|0)|0;return a|0}function _h(){}function $h(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 (C=d,a-c>>>0|0)|0}function ai(a){a=a|0;var b=0;if(!a)a=le(8)|0;else{b=le((Wd(a)|0)+8|0)|0;Tj(b+4|0,a)|0;a=b}return a|0}function bi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[22]=a;c[d>>2]=0;i=b;return}function ci(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;dg(a,d,4);i=c;return}function di(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Ei(20993,d);return 0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;Id(b,a)|0;c=c+-1|0}return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;a=cf(a,b)|0;if(a)d=Ik(c[a+8>>2]|0)|0;return d|0}function gi(a){a=a|0;var b=0;b=le(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=le(a+1|0)|0;c[b+8>>2]=a;return b|0}function hi(){var a=0,b=0;b=i;i=i+16|0;a=Sc(2,1,0)|0;if((a|0)<0)ji(15929,b);i=b;return a|0}function ii(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);$j(c[b+8>>2]|0);Ui(a)}return}function ji(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;oi(a,e);i=d;return}function ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ic(b)|0;He(a)}return b|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[7719]|0)){Ti(Jb(a,b,0,d,0)|0);c[7720]=d}return}function mi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){qe(b);$j(c[b>>2]|0);Ui(a)}return}function ni(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+20>>2]|0);Jd(b+8|0);Ui(a)}return}function oi(a,b){a=a|0;b=b|0;var d=0;d=hd()|0;nb[c[d+8+(c[d+88>>2]<<2)>>2]&7](a,b);return}function pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function qi(a,b){a=a|0;b=b|0;a=cf(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function si(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ti(a){a=a|0;var b=0;if(!a)a=0;else{b=Wd(a)|0;a=Bh(a,b,b)|0}return a|0}function ui(a){a=a|0;var b=0;b=i;i=i+16|0;a=xe(a,0,b)|0;i=b;return a|0}function vi(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wj(a,b);return Ac(a,b,c,d)|0}function xi(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function yi(a){a=a|0;switch(a|0){case 8:case 6:case 4:{a=1;break}default:a=0}return a|0}function zi(){var a=0;if(!(c[7723]|0))a=30936;else a=c[(Qk()|0)+64>>2]|0;return a|0}function Ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);Ui(a)}return}function Bi(a){a=a|0;if(!a)a=0;else{a=Uh(a)|0;Wg(a)}return a|0}function Ci(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Rh(b);$j(b);c[a>>2]=0}return}function Di(a){a=a|0;a=Wc(a)|0;if(!a)Ki();else return a|0;return 0}function Ei(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Wi(a,d)}function Fi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lb[a&7](b|0,c|0,d|0)|0}function Gi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);Ui(a)}return}function Hi(a){a=a|0;if((c[a+76>>2]|0)>-1?Lk(a)|0:0)Kk(a);return c[a+60>>2]|0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;a=Hf(a,c)|0;re(a|0,b|0,c|0)|0;return a|0}function Ji(b,c){b=b|0;c=c|0;b=fd(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ki(){var a=0;a=hd()|0;rb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Oa(-1)}function Li(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function Mi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){sg(b+52|0);Ui(a)}return}function Ni(a){a=a|0;if(a>>>0>4294963200){c[(zi()|0)>>2]=0-a;a=-1}return a|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gc(a,b,8,15,8,0,c,d)|0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&3](b|0,c|0,d|0)}function Qi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ci(b+20|0);Ui(a)}return}function Ri(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Si(a,b){a=a|0;b=b|0;if(!a)a=0;else a=xd(a,b,0)|0;return a|0}function Ti(a){a=a|0;c[7719]=a;if(lh(19386)|0)bi(Re(19386,0)|0);return}function Ui(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)yk(b);return}function Vi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Wi(a,b){a=a|0;b=b|0;c[(hd()|0)+4>>2]=1;oi(a,b);Ki()}function Xi(a){a=a|0;var b=0;b=oe(a)|0;Te(b|0,0,a|0)|0;return b|0}function Yi(a,b){a=a|0;b=b|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb(a,b,c,d,0)|0}function _i(a){a=a|0;var b=0;b=uh(0)|0;return hh(a,b,Hf(b,512)|0)|0}function $i(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,0,-2147483648)|0;return a|0}function bj(a,b){a=a|0;b=b|0;return wf(c[a>>2]|0,c[b>>2]|0)|0}function cj(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,-2147483648,0)|0;return a|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return lc(a,b,16784,16793,c)|0}function ej(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function fj(a,b){a=a|0;b=b|0;return wf(c[a+4>>2]|0,c[b+4>>2]|0)|0}function gj(a,b){a=a|0;b=b|0;sj(b,c[a>>2]|0,c[7692]|0)|0;return}function hj(a,b,c){a=a|0;b=b|0;c=c|0;return mb[a&15](b|0,c|0)|0}function ij(a,b){a=a|0;b=b|0;c[7714]=b;Ch(c[a+4>>2]|0);return}function jj(a){a=a|0;c[7722]=0;ij(a,1);$g(30888);return c[7722]|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;return Zh(a,b,c)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,Wd(b)|0,c)|0}function mj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function nj(a){a=a|0;if(!(Oe(a)|0))Ki();else return}function oj(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,2147483647,b,c)|0}function pj(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;nb[a&7](b|0,c|0)}function rj(){if((Qa(15779)|0)==0?(Qa(15789)|0)==0:0)Oa(-1);Na()}function sj(a,b,c){a=a|0;b=b|0;c=c|0;Nc(a,b,c)|0;return a|0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,0+c|0)|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;return tb(_(c,b)|0)|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;return Kf(a,b,c)|0}function wj(a,b){a=a|0;b=b|0;lf(a,b,Wd(b)|0);return}function xj(a,b){a=a|0;b=b|0;qf(a,b,Wd(b)|0);return}function yj(a,b){a=a|0;b=b|0;return Bh(a,Wd(a)|0,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,0,c)|0}function Aj(a,b){a=a|0;b=b|0;Tj(b,c[a+4>>2]|0)|0;return}function Bj(a){a=a|0;var b=0;b=(jk(a)|0)==0;return (b?a:a&95)|0}function Cj(a){a=a|0;var b=0;b=(ik(a)|0)==0;return (b?a:a|32)|0}function Dj(a,b){a=a|0;b=b|0;return _g(a,b,(Wd(a)|0)+1|0)|0}function Ej(a){a=a|0;return Qg(23119,a,Hi(c[2492]|0)|0)|0}function Fj(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function Gj(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function Hj(a,b){a=a|0;b=b|0;return (Sf(a,Wd(a)|0,1,b)|0)+-1|0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,1,c)|0}function Jj(a){a=a|0;return ((a+-48|0)>>>0<10|(ak(a)|0)!=0)&1|0}function Kj(a){a=a|0;Hd(a,0,0);c[a+28>>2]=0;return}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return Mg(a,b,c)|0}function Mj(a,b){a=a|0;b=b|0;return pb[a&7](b|0)|0}function Nj(a){a=a|0;c[a>>2]=c[7722];c[7722]=a;return}function Oj(a){a=a|0;$j(c[a+4>>2]|0);$j(a);return}function Pj(a,b){a=a|0;b=b|0;i=a;j=b}function Qj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Rj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Sj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Tj(a,b){a=a|0;b=b|0;id(a,b)|0;return a|0}function Uj(a,b){a=a|0;b=b|0;kb[a&3](b|0)}function Vj(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Wj(a,b){a=a|0;b=b|0;return pe(a,b)|0}function Xj(a,b){a=a|0;b=b|0;return +(+je(a,b,1))}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function Zj(a){a=a|0;ei(a,0,240);return}function _j(a){a=a|0;ei(a,0,64);return}function $j(a){a=a|0;if(a|0)yk(a);return}function ak(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function bk(a,b){a=+a;b=+b;return +(+bg(a,b))}function ck(a,b){a=+a;b=b|0;return +(+Sd(a,b))}function dk(a,b){a=+a;b=b|0;return +(+Xd(a,b))}function ek(a){a=a|0;return (a+-3|0)>>>0<7|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function gk(a){a=a|0;return (lh(a)|0)!=0|0}function hk(b){b=b|0;a[b+48>>0]=1;return}function ik(a){a=a|0;return (a+-65|0)>>>0<26|0}function jk(a){a=a|0;return (a+-97|0)>>>0<26|0}function kk(a,b){a=a|0;b=b|0;Bb(b);return}function lk(a){a=a|0;return c[a+16>>2]|0}function mk(a,b){a=+a;b=+b;return +(+ec(a,b))}function nk(a){a=a|0;return a>>>0<2|0}function ok(a){a=a|0;return ej(a|0)|0}function pk(a){a=a|0;return ej(a|0)|0}function qk(a,b){a=a|0;b=b|0;ba(2);return 0}function rk(){c[23]=tg()|0;return}function sk(a){a=a|0;return a+8|0}function tk(a){a=a|0;rb[a&1]()}function uk(a){a=a|0;return tb(a)|0}function vk(a){a=a|0;return a+8|0}function wk(a){a=a|0;Bb(a);return}function xk(a){a=a|0;return Wh(a)|0}function yk(a){a=a|0;Bb(a);return}function zk(a){a=a|0;return +(+Xj(a,0))}function Ak(a){a=a|0;return 0}function Bk(a,b){a=a|0;b=b|0;ba(3)}function Ck(a){a=a|0;return 0}function Dk(a){a=a|0;i=a}function Ek(a){a=a|0;return 0+a|0}function Fk(a){a=a|0;C=a}function Gk(a){a=a|0;ba(5);return 0}function Hk(){return _i(8)|0}function Ik(a){a=a|0;return a|0}function Jk(){_d(30876);return}function Kk(a){a=a|0;return}function Lk(a){a=a|0;return 0}function Mk(){return c[22]|0}function Nk(){return C|0}function Ok(){return i|0}function Pk(a){a=a|0;ba(0)}function Qk(){return 0}function Rk(){ba(7)}
 
 // EMSCRIPTEN_END_FUNCS
-var kb=[Pk,Nj,Gj,Fj];var lb=[Yj,zf,ff,yc,Tc,Jg,uj,vj];var mb=[qk,Ub,Ib,Eb,Yi,bj,fj,xi,Vh,qk,qk,qk,qk,qk,qk,qk];var nb=[Bk,gj,Vf,Aj,kk,Bk,Bk,Bk];var ob=[Vi];var pb=[Gk,vh,sk,vk,Fc,Gk,Gk,Gk];var qb=[fk,Hh,Xg,fk];var rb=[Rk,rj];var sb=[Rg,Pb];return{_i64Subtract:$h,_bitshift64Ashr:Ah,_free:Bb,_main:uc,_htonl:pk,_realloc:pe,_i64Add:pi,_memmove:eg,_pthread_self:Qk,_memset:Te,_pthread_mutex_unlock:Ak,_malloc:tb,_pthread_mutex_lock:Ck,_memcpy:re,_llvm_bswap_i32:ej,_bitshift64Lshr:Th,_htons:Sj,_bitshift64Shl:Ph,___errno_location:zi,_ntohs:Rj,runPostSets:_h,stackAlloc:Ri,stackSave:Ok,stackRestore:Dk,establishStackSpace:Pj,setThrew:mj,setTempRet0:Fk,getTempRet0:Nk,dynCall_vi:Uj,dynCall_iiii:Fi,dynCall_iii:hj,dynCall_vii:qj,dynCall_iiiiiii:yh,dynCall_ii:Mj,dynCall_viii:Pi,dynCall_v:tk,dynCall_iiiiiiiiiiiiiii:mf}})
+var kb=[Pk,Nj,Gj,Fj];var lb=[Yj,zf,ef,yc,Tc,Jg,uj,vj];var mb=[qk,Ub,Ib,Eb,Yi,bj,fj,xi,Vh,qk,qk,qk,qk,qk,qk,qk];var nb=[Bk,gj,Vf,Aj,kk,Bk,Bk,Bk];var ob=[Vi];var pb=[Gk,vh,sk,Fc,vk,Gk,Gk,Gk];var qb=[fk,Hh,Xg,fk];var rb=[Rk,rj];var sb=[Rg,Pb];return{_i64Subtract:$h,_bitshift64Ashr:Ah,_free:Bb,_main:uc,_htonl:pk,_realloc:pe,_i64Add:pi,_memmove:eg,_pthread_self:Qk,_memset:Te,_pthread_mutex_unlock:Ak,_malloc:tb,_pthread_mutex_lock:Ck,_memcpy:re,_llvm_bswap_i32:ej,_bitshift64Lshr:Th,_htons:Sj,_bitshift64Shl:Ph,___errno_location:zi,_ntohs:Rj,runPostSets:_h,stackAlloc:Ri,stackSave:Ok,stackRestore:Dk,establishStackSpace:Pj,setThrew:mj,setTempRet0:Fk,getTempRet0:Nk,dynCall_vi:Uj,dynCall_iiii:Fi,dynCall_iii:hj,dynCall_vii:qj,dynCall_iiiiiii:yh,dynCall_ii:Mj,dynCall_viii:Pi,dynCall_v:tk,dynCall_iiiiiiiiiiiiiii:mf}})
 
 
 // EMSCRIPTEN_END_ASM
diff --git a/bedTools/bedToBigBed_static.js.html.mem b/bedTools/bedToBigBed_static.js.html.mem
index b7f1c75127b0c0347fd11d407eddecfb532ade77..b97d481089bb0c24338b31f203aa40b190d593dd 100644
Binary files a/bedTools/bedToBigBed_static.js.html.mem and b/bedTools/bedToBigBed_static.js.html.mem differ
diff --git a/bedTools/bedToBigBed_static.js.js b/bedTools/bedToBigBed_static.js.js
index b121fe3664e4b03dc1e591bdd6e3109de3826bda..78e16cd0f469b902d6efad5cc01ecf1bb764646c 100644
--- a/bedTools/bedToBigBed_static.js.js
+++ b/bedTools/bedToBigBed_static.js.js
@@ -1,12 +1,12 @@
-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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+33648;__ATINIT__.push();memoryInitializer="bedToBigBed_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_gai_strerror":_gai_strerror,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall195":___syscall195,"__exit":__exit,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"__read_sockaddr":__read_sockaddr,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+33648;__ATINIT__.push();memoryInitializer="bedToBigBed_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___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 _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__read_sockaddr":__read_sockaddr,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall195":___syscall195,"_sysconf":_sysconf,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"__exit":__exit,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_vi;var ea=env.invoke_iiii;var fa=env.invoke_iii;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiiiiiiiiiiiii;var ma=env._pthread_cleanup_pop;var na=env.___syscall221;var oa=env.__inet_pton4_raw;var pa=env.__inet_ntop6_raw;var qa=env.___syscall102;var ra=env.___syscall63;var sa=env.__inet_ntop4_raw;var ta=env._execvp;var ua=env.___syscall42;var va=env._pthread_cleanup_push;var wa=env._fork;var xa=env.__inet_pton6_raw;var ya=env.___syscall20;var za=env._llvm_stackrestore;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env._gai_strerror;var Da=env._signal;var Ea=env._wait;var Fa=env.___setErrNo;var Ga=env._sbrk;var Ha=env.___syscall195;var Ia=env.__exit;var Ja=env._execl;var Ka=env.__write_sockaddr;var La=env.___syscall6;var Ma=env._emscripten_memcpy_big;var Na=env._abort;var Oa=env._exit;var Pa=env._llvm_stacksave;var Qa=env._getenv;var Ra=env.___syscall51;var Sa=env.___syscall57;var Ta=env.___syscall54;var Ua=env.___unlock;var Va=env._pthread_create;var Wa=env._pthread_detach;var Xa=env.___syscall3;var Ya=env._sysconf;var Za=env.___lock;var _a=env._llvm_fabs_f64;var $a=env.___syscall5;var ab=env.___syscall4;var bb=env._getaddrinfo;var cb=env._gettimeofday;var db=env.___syscall140;var eb=env.___syscall142;var fb=env.__read_sockaddr;var gb=env.___syscall145;var hb=env.___syscall146;var ib=env._waitpid;var jb=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_vi;var ea=env.invoke_iiii;var fa=env.invoke_iii;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiiiiiiiiiiiii;var ma=env._pthread_cleanup_pop;var na=env.___syscall221;var oa=env.__inet_pton4_raw;var pa=env.__inet_ntop6_raw;var qa=env.___syscall102;var ra=env.___syscall63;var sa=env.__inet_ntop4_raw;var ta=env._execvp;var ua=env.___syscall42;var va=env._pthread_cleanup_push;var wa=env._fork;var xa=env.__inet_pton6_raw;var ya=env.___syscall20;var za=env._llvm_stackrestore;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env.__read_sockaddr;var Da=env._signal;var Ea=env._wait;var Fa=env.___setErrNo;var Ga=env._sbrk;var Ha=env.___syscall195;var Ia=env._sysconf;var Ja=env._execl;var Ka=env.__write_sockaddr;var La=env.___syscall6;var Ma=env._emscripten_memcpy_big;var Na=env._abort;var Oa=env._exit;var Pa=env._llvm_stacksave;var Qa=env._getenv;var Ra=env.___syscall51;var Sa=env.___syscall57;var Ta=env.___syscall54;var Ua=env.___unlock;var Va=env._pthread_create;var Wa=env._gai_strerror;var Xa=env._pthread_detach;var Ya=env.___syscall3;var Za=env.__exit;var _a=env.___lock;var $a=env._llvm_fabs_f64;var ab=env.___syscall5;var bb=env.___syscall4;var cb=env._getaddrinfo;var db=env._gettimeofday;var eb=env.___syscall140;var fb=env.___syscall142;var gb=env.___syscall145;var hb=env.___syscall146;var ib=env._waitpid;var jb=0.0;
 // EMSCRIPTEN_START_FUNCS
-function tb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[7736]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=30984+(b<<1<<2)|0;e=d+8|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[7740]|0)>>>0)Na();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Na()}else c[7736]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[7738]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=30984+(b<<1<<2)|0;e=d+8|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[7740]|0)>>>0)Na();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[7738]|0;break}else Na()}else{c[7736]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[7741]|0;b=l>>>3;d=30984+(b<<1<<2)|0;a=c[7736]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{m=a;n=b}}else{c[7736]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[7738]=h;c[7741]=e;N=j;i=O;return N|0}a=c[7737]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[31248+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[7740]|0;if(k>>>0<g>>>0)Na();j=k+q|0;if(k>>>0>=j>>>0)Na();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Na();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Na();a=f+12|0;if((c[a>>2]|0)!=(k|0))Na();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Na()}while(0);do if(h|0){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[7737]=c[7737]&~(1<<a);break}}else{if(h>>>0<(c[7740]|0)>>>0)Na();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[7740]|0;if(o>>>0<b>>>0)Na();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[7738]|0;if(a|0){f=c[7741]|0;b=a>>>3;e=30984+(b<<1<<2)|0;a=c[7736]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{r=a;s=b}}else{c[7736]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[7738]=d;c[7741]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[7737]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[31248+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[31248+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[7738]|0)-q|0)>>>0:0){f=c[7740]|0;if(k>>>0<f>>>0)Na();h=k+q|0;if(k>>>0>=h>>>0)Na();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Na();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Na();a=e+12|0;if((c[a>>2]|0)!=(k|0))Na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Na()}while(0);do if(g|0){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[7737]=c[7737]&~(1<<a);break}}else{if(g>>>0<(c[7740]|0)>>>0)Na();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[7740]|0;if(u>>>0<b>>>0)Na();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{w=a;x=b}}else{c[7736]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=31248+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Na()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[7738]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[7741]|0;if(a>>>0>15){N=b+q|0;c[7741]=N;c[7738]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[7738]=0;c[7741]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[7739]|0;if(a>>>0>q>>>0){L=a-q|0;c[7739]=L;N=c[7742]|0;M=N+q|0;c[7742]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[7854]|0)){c[7856]=4096;c[7855]=4096;c[7857]=-1;c[7858]=-1;c[7859]=0;c[7847]=0;x=p&-16^1431655768;c[p>>2]=x;c[7854]=x}h=q+48|0;g=c[7856]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[7846]|0;if(a|0?(w=c[7844]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[7847]&4)){a=c[7742]|0;c:do if(a){d=31392;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[7739]|0)&g;if(a>>>0<2147483647){b=Ga(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ga(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[7855]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[7844]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[7846]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ga(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[7856]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ga(y|0)|0)==(-1|0)){Ga(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[7847]=c[7847]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ga(k|0)|0,A=Ga(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[7844]|0)+f|0;c[7844]=a;if(a>>>0>(c[7845]|0)>>>0)c[7845]=a;j=c[7742]|0;do if(j){e=31392;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[7739]|0)|0;c[7742]=M;c[7739]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[7743]=c[7858];break}a=c[7740]|0;if(h>>>0<a>>>0){c[7740]=h;k=h}else k=a;d=h+f|0;a=31392;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=31392;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[7741]|0)){N=(c[7738]|0)+g|0;c[7738]=N;c[7741]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Na();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Na();b=f+12|0;if((c[b>>2]|0)!=(a|0))Na();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Na()}while(0);if(!h)break;b=c[a+28>>2]|0;d=31248+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[7740]|0)>>>0)Na();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[7737]=c[7737]&~(1<<b);break e}while(0);e=c[7740]|0;if(L>>>0<e>>>0)Na();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Na();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[7740]|0)>>>0)Na();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=30984+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Na();if((c[d+12>>2]|0)==(a|0))break;Na()}while(0);if((e|0)==(d|0)){c[7736]=c[7736]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Na();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Na()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;do if(!(b&a)){c[7736]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[7740]|0)>>>0){M=a;N=b;break}Na()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=31248+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Na()}}else{N=(c[7739]|0)+g|0;c[7739]=N;c[7742]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=31392;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[7742]=N;c[7739]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[7743]=c[7858];e=d+4|0;c[e>>2]=27;c[a>>2]=c[7848];c[a+4>>2]=c[7849];c[a+8>>2]=c[7850];c[a+12>>2]=c[7851];c[7848]=h;c[7849]=f;c[7851]=0;c[7850]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{J=a;K=b}}else{c[7736]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=31248+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Na()}}}else{N=c[7740]|0;if((N|0)==0|h>>>0<N>>>0)c[7740]=h;c[7848]=h;c[7849]=f;c[7851]=0;c[7745]=c[7854];c[7744]=-1;a=0;do{N=30984+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[7742]=M;c[7739]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[7743]=c[7858]}while(0);a=c[7739]|0;if(a>>>0>q>>>0){L=a-q|0;c[7739]=L;N=c[7742]|0;M=N+q|0;c[7742]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(zi()|0)>>2]=12;N=0;i=O;return N|0}function ub(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[382];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=fc(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=jc(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=jc(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=jc(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,re(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=jc(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=jc(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,re(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=jc(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=jc(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,re(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=jc(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,Ad(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,re(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=jc(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[382];e=-5;return e|0}}else{j=c[N>>2]|0;Ad(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;re(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[382];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?($b(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Cb(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,re(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Cb(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,re(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Cb(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,re(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){$b(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[27652+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[27140]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Cb(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,re(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Cb(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,re(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Cb(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,re(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=mb[c[772+((c[O+132>>2]|0)*12|0)+8>>2]&15](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{Ec(O);break}case 5:break;default:{xc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,Te(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;Ad(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;re(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;Ad(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,re(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[379];e=-2;return e|0}function vb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0}while((Qj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=jd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[30735+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=jd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[30744+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=jd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=jd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(zi()|0)>>2]=22;rg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=jd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=jd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;k=pi(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=pi(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=jd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else rg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=pi(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=rc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){rg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ph(o|0,n|0,2)|0;H=pi(H|0,C|0,-32,-1)|0;e=pi(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=pi(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=$h(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=pi(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+bk(+Sd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(zi()|0)>>2]=34;g=+ck(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=jd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=pi(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=pi(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=rc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){rg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=pi(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(zi()|0)>>2]=22;rg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[10400+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[10400+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[10400+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ph(c[p>>2]|0,0,29)|0;o=pi(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Zi(o|0,n|0,1e9,0)|0;o=Sg(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+bk(+Sd(1.0,105-o|0),j);m=+mk(j,+Sd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+mk(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(zi()|0)>>2]=34}while(0);g=+ck(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(zi()|0)>>2]=22;rg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function wb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(zi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)cd(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[28043+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}nc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Th(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=28523;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=28523;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=$h(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=28523;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?28523:28525;L=76}else{p=1;r=28524;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=28523;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=28523;o=N;break}case 109:{o=se(c[(zi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:30425;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Dd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?30433:30438}else{G=1;H=30435}else{q=-q;G=1;H=30432}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+dk(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ke(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[28507+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Dd(e,32,K,r,I);if(!(c[e>>2]&32))cd(y,w,e)|0;Dd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))cd(ea,o,e)|0;f=ba-p|0;Dd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))cd(t,f,e)|0;Dd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ph(c[r>>2]|0,0,t|0)|0;B=pi(B|0,C|0,o|0,0)|0;o=C;A=Sg(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Zi(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ke(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Dd(e,32,K,w,I);if(!(c[e>>2]&32))cd(H,G,e)|0;Dd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ke(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Te(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))cd(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;cd(30463,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ke(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Te(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))cd(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Dd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ke(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))cd(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}cd(30463,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Te(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))cd(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Dd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;cd(u,ba-u|0,e)|0}while(0);Dd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Dd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){cd(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))cd(s?(t?30744:30459):t?30451:30455,3,e)|0;Dd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=28523;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[28507+(o&15)>>0]|r;o=Th(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=28523;L=77}else{o=t;t=2;r=28523+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=28523;L=77}}else if((L|0)==76){f=ke(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Rc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=28523;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Si(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Dd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Si(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))cd(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Dd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Dd(e,32,o,s,p);if(!(c[e>>2]&32))cd(v,w,e)|0;Dd(e,48,o,s,p^65536);Dd(e,48,r,t,0);if(!(c[e>>2]&32))cd(f,t,e)|0;Dd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;nc(j+(m<<3)|0,n,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=ia;return m|0}function xb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Mk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Qj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{rg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=jd(e)|0}while((Qj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}rg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((jd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Te(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Te(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=tb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=jd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Dc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=pe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!($i(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=tb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=pe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+vb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Hb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;rg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=jd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Qj(d[m>>0]|0)|0))break;else n=m}rg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=jd(e)|0}while((Qj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Bb(l);Bb(f)}}else k=0;while(0);if(O|0)Lk(e);i=P;return k|0}function yb(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+272|0;Y=_+248|0;X=_+240|0;W=_+232|0;V=_+224|0;U=_+208|0;T=_+192|0;N=_+184|0;M=_+176|0;L=_+168|0;K=_+160|0;J=_+152|0;I=_+144|0;H=_+136|0;E=_+128|0;D=_+120|0;C=_+112|0;B=_+104|0;A=_+96|0;z=_+72|0;w=_+64|0;v=_+56|0;u=_+48|0;t=_+40|0;r=_+32|0;p=_+24|0;o=_+16|0;n=_;S=_+268|0;R=_+264|0;O=_+260|0;l=c[b>>2]|0;m=h+4|0;c[m>>2]=l;if((Wd(l)|0)>>>0>31){c[n>>2]=l;c[n+4>>2]=31;Lh(g,25509,n);l=c[m>>2]|0}if(!(a[l>>0]|0))Lh(g,25564,_+8|0);F=h+8|0;de(g,b,1,F,0,4,25595,0);G=h+12|0;de(g,b,2,G,0,4,25595,0);l=c[G>>2]|0;m=c[F>>2]|0;if(l>>>0<m>>>0){c[o>>2]=m;c[o+4>>2]=l;Lh(g,25603,o)}do if((e|0)>3){l=c[b+12>>2]|0;o=h+16|0;c[o>>2]=l;if((Wd(l)|0)>>>0>255){c[p>>2]=l;Lh(g,25639,p)}p=(k|0)==0;if(!p)c[o>>2]=ti(c[o>>2]|0)|0;if((e|0)>4){l=h+20|0;de(g,b,4,l,1,4,25595,0);if(p?(q=c[l>>2]|0,q>>>0>1e3):0){c[r>>2]=q;Lh(g,25694,r)}if((e|0)>5){l=b+20|0;if(p?(s=c[l>>2]|0,(Wd(s)|0)>>>0>1):0){c[t>>2]=s;Lh(g,25732,t)}t=a[c[l>>2]>>0]|0;a[h+24>>0]=t;a[h+25>>0]=0;switch(t<<24>>24){case 46:case 45:case 43:break;default:{c[u>>2]=c[l>>2];Lh(g,25732,u)}}if((e|0)>6){n=h+28|0;de(g,b,6,n,0,4,25595,0);if((e|0)>7){m=h+32|0;de(g,b,7,m,0,4,25595,0);l=c[n>>2]|0;if((c[m>>2]|0)>>>0<l>>>0){Lh(g,25776,v);l=c[n>>2]|0}do if(l|0){if(l>>>0>=(c[F>>2]|0)>>>0?l>>>0<=(c[G>>2]|0)>>>0:0)break;Lh(g,25802,w)}while(0);l=c[m>>2]|0;if(l|0?(y=c[F>>2]|0,x=c[G>>2]|0,l>>>0<y>>>0|l>>>0>x>>>0):0){w=c[n>>2]|0;c[z>>2]=c[o>>2];c[z+4>>2]=y;c[z+8>>2]=x;c[z+12>>2]=w;c[z+16>>2]=l;Lh(g,25867,z)}if((e|0)>8){l=c[b+32>>2]|0;if(!(Ji(l,44)|0))de(g,b,8,h+36|0,0,4,25595,0);else{l=ti(l)|0;if((_c(g,b,8,R,4,0,1,25595,0)|0)==3)c[h+36>>2]=d[R+1>>0]<<8|d[R>>0]<<16|d[R+2>>0];else{c[A>>2]=l;Lh(g,25956,A)}$j(l)}if((e|0)>9){r=h+40|0;de(g,b,9,r,0,4,25595,0);l=c[r>>2]|0;if(!l){c[B>>2]=0;Lh(g,26023,B);t=c[r>>2]|0}else t=l;l=i;i=i+((1*(t<<2)|0)+15&-16)|0;n=i;i=i+((1*(t<<2)|0)+15&-16)|0;s=i;i=i+((1*(t<<2)|0)+15&-16)|0;u=i;i=i+((1*(t<<2)|0)+15&-16)|0;if((e|0)<=10)break;if(p){m=_c(g,b,10,l,t,1,4,25595,1)|0;c[S>>2]=m;q=l}else{m=Xi((t<<2)+4|0)|0;q=h+44|0;c[q>>2]=m;m=_c(g,b,10,m,(c[r>>2]|0)+1|0,1,4,25595,1)|0;c[S>>2]=m;q=c[q>>2]|0}l=c[r>>2]|0;if((m|0)!=(l|0)){c[C>>2]=l;c[C+4>>2]=m;Lh(g,26066,C)}if((e|0)<=11)break;if(p){m=_c(g,b,11,n,t,1,4,25595,1)|0;c[S>>2]=m;p=n}else{m=Xi((c[r>>2]<<2)+4|0)|0;p=h+48|0;c[p>>2]=m;m=_c(g,b,11,m,(c[r>>2]|0)+1|0,1,4,25595,1)|0;c[S>>2]=m;p=c[p>>2]|0}l=c[r>>2]|0;if((m|0)!=(l|0)){c[D>>2]=l;c[D+4>>2]=m;Lh(g,26126,D)}l=c[p>>2]|0;if(!l)o=1;else{c[E>>2]=l;Lh(g,26187,E);o=1}while(1){l=c[r>>2]|0;if(o>>>0>=l>>>0)break;n=p+(o<<2)|0;l=c[n>>2]|0;m=c[F>>2]|0;do if((m+l|0)>>>0>=(c[G>>2]|0)>>>0)if(l>>>0<m>>>0){Lh(g,26456,I);break}else{Lh(g,26325,H);break}while(0);l=o+-1|0;if((c[n>>2]|0)<((c[q+(l<<2)>>2]|0)+(c[p+(l<<2)>>2]|0)|0)){c[J>>2]=l;c[J+4>>2]=o;Lh(g,26514,J)}o=o+1|0}J=l+-1|0;if(((c[p+(J<<2)>>2]|0)+(c[F>>2]|0)+(c[q+(J<<2)>>2]|0)|0)!=(c[G>>2]|0))Lh(g,26595,K);if((e|0)<=12)break;o=h+52|0;de(g,b,12,o,1,4,25595,1);l=c[o>>2]|0;if((l|0)<=0){c[L>>2]=l;Lh(g,26714,L)}n=(k|0)!=0;if(n){m=Xi((c[o>>2]<<2)+4|0)|0;c[h+56>>2]=m;m=_c(g,b,13,m,(c[o>>2]|0)+1|0,1,4,25595,1)|0}else m=_c(g,b,13,s,t,1,4,25595,1)|0;c[S>>2]=m;l=c[o>>2]|0;if((m|0)!=(l|0)){c[M>>2]=l;Lh(g,26755,M)}if((e|0)!=15)break;l=c[b+56>>2]|0;if(n){Bd(l,h+60|0,S);m=c[S>>2]|0}else{m=Ef(l,u,t)|0;c[S>>2]=m}l=c[o>>2]|0;if((m|0)==(l|0))break;c[N>>2]=l;Lh(g,26807,N)}}}else Z=34}else Z=23}else Z=23}else Z=23}else Z=23;while(0);if((Z|0)==23){c[h+28>>2]=c[F>>2];Z=34}if((Z|0)==34)c[h+32>>2]=c[G>>2];if(j|0){c[R>>2]=0;n=j+12|0;l=n;o=0;while(1){l=c[l>>2]|0;if((o|0)>=(f|0))break;m=c[c[l+12>>2]>>2]|0;if((((a[l+37>>0]|0)==0?(a[l+38>>0]|0)==0:0)?ek(m)|0:0)?a[l+36>>0]|0:0){c[O>>2]=0;de(g,b,o,O,1,4,25595,1);m=c[R>>2]|0;if(!m){m=ye(4,1)|0;c[R>>2]=m}tj(m,c[l+4>>2]|0,c[O>>2]|0)|0}o=o+1|0}p=fh(c[n>>2]|0,e)|0;o=e;while(1){if((o|0)>=(f|0))break;l=c[c[p+12>>2]>>2]|0;do if(!(a[p+37>>0]|0)){if(!(a[p+38>>0]|0)){if(ek(l)|0){O=(yi(l)|0)==0&1;e=Rf(l)|0;de(g,b,o,0,O,e,Af(l)|0,0);break}if(nk(l)|0){+Ie(g,b,o);break}if((l|0)==10?(P=c[b+(o<<2)>>2]|0,Q=Wd(P)|0,Q>>>0>255):0){e=c[p+4>>2]|0;O=T;c[O>>2]=Q;c[O+4>>2]=0;c[T+8>>2]=P;c[T+12>>2]=e;Lh(g,26862,T)}}}else if(ek(l)|0){e=(yi(l)|0)==0&1;m=Rf(l)|0;l=_c(g,b,o,0,10240,e,m,Af(l)|0,0)|0;c[S>>2]=l;m=c[p+24>>2]|0;if((m|0)>0){if((m|0)==(l|0))break;e=c[p+4>>2]|0;c[U>>2]=m;c[U+4>>2]=e;c[U+8>>2]=l;Lh(g,26931,U);break}l=c[R>>2]|0;m=p+28|0;if(!l){l=c[p+4>>2]|0;c[V>>2]=c[m>>2];c[V+4>>2]=l;Lh(g,26974,V);l=c[R>>2]|0}n=fi(l,c[m>>2]|0,-1)|0;if((n|0)!=-1){if((n|0)<=0){l=p+4|0;Z=115}}else{l=p+4|0;Z=c[l>>2]|0;c[W>>2]=c[m>>2];c[W+4>>2]=Z;Lh(g,26974,W);Z=115}if((Z|0)==115){Z=0;e=c[l>>2]|0;c[X>>2]=n;c[X+4>>2]=e;Lh(g,27051,X)}l=c[S>>2]|0;if((n|0)!=(l|0)){e=c[p+4>>2]|0;c[Y>>2]=n;c[Y+4>>2]=e;c[Y+8>>2]=l;Lh(g,26931,Y)}}while(0);p=c[p>>2]|0;o=o+1|0}_d(R)}i=_;return}function zb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function Ab(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=pi(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(18586==0?(wf(c[a+8>>2]|0,18600)|0)!=0:0){ba=a+32|0;T=ba;T=ob[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=pi(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=pi(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=pi(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=pi(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=$h(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=pi(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=$h((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=$h(k|0,j|0,f|0,d|0)|0;re(b|0,B+f|0,o|0)|0;e=pi(o|0,E|0,e|0,n|0)|0;f=C;d=$h(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=pi(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;ah(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=le(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=pi(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=$h(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(18586){y=pi(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=pi(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Zi(k|0,j|0,w|0,0)|0;t=pi(A|0,B|0,-1,-1)|0;t=pi(t|0,C|0,w|0,0)|0;w=Zi(t|0,C|0,w|0,0)|0;t=m+52|0;_f(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((zj(u,d,s)|0)<(s|0))f=0;else{$j(u);j=B;k=A;continue}while(1){o=zj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Ij(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=bh(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=bh(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=pi(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=$h(f|0,j|0,p|0,q|0)|0;k=C;f=oe(j)|0;c[W>>2]=f;m=ob[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}ah(Z,c[K>>2]|0,p,0)|0;uf(Z,c[K>>2]|0,f,j);Ui(W)}ce(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;ah(P,c[t>>2]|0,da+64|0,0)|0;uf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}$j(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);ah(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}xf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ei(18612,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Xh(4,18668,$);Xh(4,18714,aa);S=0;T=0;break}else if((n|0)==36){xf(Z,j,f,h);S=ba;S=pi(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=pi(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Bb(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;if(!a)return;d=a+-8|0;h=c[7740]|0;if(d>>>0<h>>>0)Na();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Na();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Na();if((k|0)==(c[7741]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[7738]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=30984+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Na();if((c[b+12>>2]|0)!=(k|0))Na()}if((d|0)==(b|0)){c[7736]=c[7736]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Na();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Na()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Na();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Na();a=e+12|0;if((c[a>>2]|0)!=(k|0))Na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Na()}while(0);if(f){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[7737]=c[7737]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[7740]|0;if(i>>>0<d>>>0)Na();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Na();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Na();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Na();if(!(b&2)){if((m|0)==(c[7742]|0)){p=(c[7739]|0)+g|0;c[7739]=p;c[7742]=q;c[q+4>>2]=p|1;if((q|0)!=(c[7741]|0))return;c[7741]=0;c[7738]=0;return}if((m|0)==(c[7741]|0)){p=(c[7738]|0)+g|0;c[7738]=p;c[7741]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();d=b+12|0;if((c[d>>2]|0)!=(m|0))Na();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Na()}while(0);if(f|0){a=c[m+28>>2]|0;b=31248+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[7737]=c[7737]&~(1<<a);break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[7740]|0;if(n>>>0<d>>>0)Na();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Na();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=30984+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[7740]|0)>>>0)Na();if((c[b+12>>2]|0)!=(m|0))Na()}if((d|0)==(b|0)){c[7736]=c[7736]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[7740]|0)>>>0)Na();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Na()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[7741]|0)){c[7738]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{o=a;p=b}}else{c[7736]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=31248+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[7737]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[7740]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Na()}}else{c[7737]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[7744]|0)+-1|0;c[7744]=q;if(!q)a=31400;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[7744]=-1;return}function Cb(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}zb(f,f+2840|0);zb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}zb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)xc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Tb(f,10432,11584);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[27908+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Kb(f,g,q);h=f+2440|0;Kb(f,h,r);Tb(f,g,h)}while(0);Gc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Db(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[7740]|0;if(l>>>0<i>>>0)Na();if((l|0)==(c[7741]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[7738]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=30984+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Na();if((c[a+12>>2]|0)!=(l|0))Na()}if((b|0)==(a|0)){c[7736]=c[7736]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Na();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Na()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Na();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Na();d=e+12|0;if((c[d>>2]|0)!=(l|0))Na();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Na()}while(0);if(f){d=c[l+28>>2]|0;a=31248+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[7737]=c[7737]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[7740]|0;if(j>>>0<b>>>0)Na();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[7740]|0;if(o>>>0<h>>>0)Na();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[7742]|0)){q=(c[7739]|0)+g|0;c[7739]=q;c[7742]=r;c[r+4>>2]=q|1;if((r|0)!=(c[7741]|0))return;c[7741]=0;c[7738]=0;return}if((o|0)==(c[7741]|0)){q=(c[7738]|0)+g|0;c[7738]=q;c[7741]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Na();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Na();d=e+12|0;if((c[d>>2]|0)!=(o|0))Na();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Na()}while(0);if(f|0){d=c[o+28>>2]|0;a=31248+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[7737]=c[7737]&~(1<<d);break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[7740]|0;if(n>>>0<b>>>0)Na();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=30984+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Na();if((c[a+12>>2]|0)!=(o|0))Na()}if((b|0)==(a|0)){c[7736]=c[7736]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Na();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Na()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[7741]|0)){c[7738]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=30984+(d<<1<<2)|0;a=c[7736]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[7740]|0)>>>0)Na();else{p=d;q=a}}else{c[7736]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=31248+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[7737]|0;a=1<<b;if(!(d&a)){c[7737]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[7740]|0)>>>0)Na();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[7740]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Na();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Eb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){$b(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=mc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,re(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[27652+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[27140+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,re(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,re(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,re(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Fb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Ji(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Xe(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Rc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Gb(a,d,f,g,j,k,l,m,n){a=a|0;d=d|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0;ba=i;i=i+512|0;$=ba+360|0;I=ba+352|0;v=ba+312|0;H=ba+296|0;S=ba+256|0;aa=ba+240|0;J=ba+232|0;p=ba+224|0;T=ba+476|0;Y=ba+480|0;D=ba+498|0;V=ba+496|0;U=ba+472|0;r=ba+216|0;y=ba+208|0;G=ba+468|0;_=ba+464|0;R=ba+200|0;O=ba+192|0;P=ba+494|0;Q=ba+184|0;z=ba+176|0;t=ba+424|0;u=ba+384|0;A=ba+168|0;E=ba+376|0;s=ba+372|0;w=ba+88|0;x=ba+8|0;Z=ba+368|0;K=ba+492|0;F=ba+490|0;M=ba+364|0;N=ba;B=ba+488|0;X=ba+486|0;W=ba+484|0;c[T>>2]=k;rk();o=$f(a,1)|0;c[Y>>2]=o;b[D>>1]=vi(c[k+12>>2]|0)|0;b[V>>1]=vi(m)|0;q=(m|0)!=0;if(q)L=Yc(m,k)|0;else L=0;m=We(d)|0;c[U>>2]=m;c[p>>2]=c[m+24>>2];c[p+4>>2]=d;Xh(2,13683,p);c[p>>2]=0;h[r>>3]=0.0;k=y;c[k>>2]=0;c[k+4>>2]=0;c[G>>2]=0;m=bc(o,m,L,p,r,y,c[7693]|0)|0;c[_>>2]=m;c[J>>2]=vi(m)|0;$e(1,13722,J);m=vi(m)|0;ca=+h[r>>3];c[aa>>2]=m;c[aa+4>>2]=a;h[aa+8>>3]=ca;Xh(2,13759,aa);m=md(n,13801)|0;c[aa>>2]=m;_j(m);Zj(c[aa>>2]|0);m=xk(c[aa>>2]|0)|0;k=J;c[k>>2]=m;c[k+4>>2]=((m|0)<0)<<31>>31;k=c[aa>>2]|0;dg(k,j,(Wd(j)|0)+1|0);c[S>>2]=e[D>>1];Xh(2,13804,S);k=S;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));p=xk(c[aa>>2]|0)|0;n=R;c[n>>2]=p;c[n+4>>2]=((p|0)<0)<<31>>31;Nh(c[aa>>2]|0,S);n=xk(c[aa>>2]|0)|0;p=O;c[p>>2]=n;c[p+4>>2]=((n|0)<0)<<31>>31;b[P>>1]=64;ei(c[aa>>2]|0,0,64);p=Q;c[p>>2]=0;c[p+4>>2]=0;if(q){n=xk(c[aa>>2]|0)|0;p=Q;c[p>>2]=n;c[p+4>>2]=((n|0)<0)<<31>>31;ei(c[aa>>2]|0,0,(e[V>>1]|0)*20|0);p=xk(c[aa>>2]|0)|0;n=p;p=((p|0)<0)<<31>>31}else{n=0;p=0}q=xk(c[aa>>2]|0)|0;a=z;c[a>>2]=q;c[a+4>>2]=((q|0)<0)<<31>>31;Gd(c[_>>2]|0,f,c[aa>>2]|0);a=Je(~~+h[r>>3],t,u)|0;q=xk(c[aa>>2]|0)|0;r=A;c[r>>2]=q;c[r+4>>2]=((q|0)<0)<<31>>31;c[E>>2]=0;c[s>>2]=0;dg(c[aa>>2]|0,y,8);r=y;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){d=s;m=0;o=0;k=0;j=0}else{k=Le(c[_>>2]|0,g)|0;c[s>>2]=Xi(k*24|0)|0;Kj(c[Y>>2]|0);if(L|0)hg(L,c[y>>2]|0);Ob(c[_>>2]|0,c[Y>>2]|0,c[T>>2]|0,g,c[s>>2]|0,k,l,c[aa>>2]|0,a,t,u,L,b[D>>1]|0,E);o=y;d=s;m=c[o>>2]|0;o=c[o+4>>2]|0;j=0}r=e[D>>1]|0;q=H;c[q>>2]=m;c[q+4>>2]=o;c[H+8>>2]=r;$e(1,13834,H);m=xk(c[aa>>2]|0)|0;o=((m|0)<0)<<31>>31;r=H;c[r>>2]=m;c[r+4>>2]=o;Lb(c[d>>2]|0,24,k,j,f,1,0,1,4,m,o,c[aa>>2]|0);Ui(s);$e(2,13902,v);s=y;if(!((c[s>>2]|0)==0&(c[s+4>>2]|0)==0)){d=c[Y>>2]|0;q=c[aa>>2]|0;r=e[D>>1]|0;s=A;s=$h(m|0,o|0,c[s>>2]|0,c[s+4>>2]|0)|0;vc(d,q,f,g,1,r,l,s,C,c[_>>2]|0,a,t,u,v,w,x,S)|0}a:do if(L|0){k=L+16|0;m=L+8|0;o=L+12|0;j=0;while(1){if((j|0)>=(e[L>>1]|0))break a;w=xk(c[aa>>2]|0)|0;x=(c[k>>2]|0)+(j<<3)|0;c[x>>2]=w;c[x+4>>2]=((w|0)<0)<<31>>31;c[7692]=c[(c[m>>2]|0)+(j<<2)>>2];Zb(c[(c[o>>2]|0)+(j<<2)>>2]|0,c[y>>2]|0,24,5);x=y;Bc(c[(c[o>>2]|0)+(j<<2)>>2]|0,24,c[x>>2]|0,c[x+4>>2]|0,f,1,c[7692]|0,2,16,c[aa>>2]|0);c[I>>2]=j;$e(1,13914,I);j=j+1|0}}while(0);if(l|0){I=g<<5;E=c[E>>2]|0;c[G>>2]=E>>>0>I>>>0?E:I}zg(c[aa>>2]|0);c[Z>>2]=-2021002517;b[K>>1]=4;b[F>>1]=0;c[M>>2]=0;I=N;c[I>>2]=0;c[I+4>>2]=0;b[B>>1]=c[7688];dg(c[aa>>2]|0,Z,4);dg(c[aa>>2]|0,K,2);dg(c[aa>>2]|0,F,2);dg(c[aa>>2]|0,z,8);dg(c[aa>>2]|0,A,8);dg(c[aa>>2]|0,H,8);dg(c[aa>>2]|0,D,2);dg(c[aa>>2]|0,B,2);dg(c[aa>>2]|0,J,8);dg(c[aa>>2]|0,R,8);dg(c[aa>>2]|0,G,4);dg(c[aa>>2]|0,O,8);if((xk(c[aa>>2]|0)|0)!=64)Aa(13949,13964,716,13978);c[$>>2]=0;Xh(2,13991,$);m=0;while(1){k=c[aa>>2]|0;if((m|0)==10)break;dg(k,M,4);dg(c[aa>>2]|0,M,4);dg(c[aa>>2]|0,N,8);dg(c[aa>>2]|0,N,8);m=m+1|0}Lj(k,c[R>>2]|0,0)|0;Nh(c[aa>>2]|0,S);Lj(c[aa>>2]|0,c[O>>2]|0,0)|0;dg(c[aa>>2]|0,P,2);dg(c[aa>>2]|0,V,2);dg(c[aa>>2]|0,Q,8);ei(c[aa>>2]|0,0,52);R=xk(c[aa>>2]|0)|0;S=O;S=$h(R|0,((R|0)<0)<<31>>31|0,c[S>>2]|0,c[S+4>>2]|0)|0;if(!((C|0)==0?(S|0)==(e[P>>1]|0):0))Aa(14018,13964,748,13978);if(b[V>>1]|0){Lj(c[aa>>2]|0,c[Q>>2]|0,0)|0;o=L+16|0;k=L+4|0;m=0;while(1){if((m|0)>=(e[V>>1]|0))break;b[$>>1]=0;b[X>>1]=1;dg(c[aa>>2]|0,$,2);dg(c[aa>>2]|0,X,2);dg(c[aa>>2]|0,(c[o>>2]|0)+(m<<3)|0,8);ei(c[aa>>2]|0,0,4);b[W>>1]=b[(c[k>>2]|0)+(m<<1)>>1]|0;dg(c[aa>>2]|0,W,2);ei(c[aa>>2]|0,0,2);m=m+1|0}$=xk(c[aa>>2]|0)|0;if(!(($|0)==(n|0)&((($|0)<0)<<31>>31|0)==(p|0)))Aa(14062,13964,770,13978)}Lj(c[aa>>2]|0,0,2)|0;dg(c[aa>>2]|0,Z,4);Jd(Y);nj(aa);_d(U);pg(_);vg(T);i=ba;return}function Hb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(zi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0}while((Qj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=jd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=jd(b)|0;if((d[30470+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){rg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[30470+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;rg(b,0);c[(zi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=jd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=bh(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=pi(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[30726+((e*23|0)>>>5&7)>>0]|0;j=a[30470+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Th(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ph(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[30470+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Zi(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=bh(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=pi(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[30470+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0}while((d[30470+i>>0]|0)>>>0<e>>>0);c[(zi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(zi()|0)>>2]=34;g=pi(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(zi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=$h(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Ib(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){$b(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=mc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[27652+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[27140+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,re(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,re(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,re(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Jb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ye(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(wf(r,20025)|0)){j=g;h=k;N=4;break}s=Ji(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Qj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Wd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Jj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)lj(Q,o,(m|0)==0?20447:m)|0;else{l=sh(o,f)|0;if(!l){l=sh(o,748)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}cj(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}aj(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Xj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Xj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?20447:m;l=sh(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=qi(Q,o)|0;l=ai(m)|0;if(!n){lj(Q,o,l)|0;break}else{Qh(n,l);break}}lj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ei(20036,z);break}case 34:{c[A>>2]=o;Ei(20062,A);break}case 36:{c[K>>2]=o;Ei(20101,K);break}case 38:{c[L>>2]=o;Ei(20137,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ei(20170,B);break}case 43:{c[C>>2]=o;Ei(20137,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ei(20212,D);break}case 48:{c[E>>2]=o;Ei(20256,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ei(20291,F);break}case 53:{c[G>>2]=o;Ei(20331,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ei(20367,H);break}case 57:{c[I>>2]=c[l>>2];Ei(20408,I);break}case 65:{Ei(20450,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Kb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Lb(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=uh(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=mb[k&15](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=Hf(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=bh(z|0,y|0,b|0,v|0)|0;p=a+p|0;qb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=pi(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=mb[k&15](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=pi(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=bh(q|0,C|0,b|0,v|0)|0;qb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=pi(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}$g(Q);c[H>>2]=vi(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Xh(2,17517,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}Hf(I,48)|0;y=Ii(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}$g(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;$g(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;dg(n,P,4);dg(n,M,4);dg(n,L,8);dg(n,g+12|0,4);dg(n,g+16|0,4);dg(n,g+20|0,4);dg(n,g+24|0,4);dg(n,O,8);dg(n,N,4);dg(n,K,4);if((g|0)!=(Q|0))qc(g,c[M>>2]|0,o,n);Ci(R);i=S;return}function Mb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Fb(d,21261)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Ve(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Pg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(zi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Ng(21767,f)|0))m=c[F>>2]|0;else{ag(F)|0;f=ag(F)|0;if(!f){O=20;break a}if((((Ng(22394,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(wf(f,22397)|0)if(wf(f,22401)|0){if(I?(g=wf(f,22405)|0,!((H|g|0)==0&G)):0)if(!(wf(f,22409)|0)){f=o;break}else{O=30;break a}if(!(wf(f,22496)|0)){O=34;break a}if(!(wf(f,22405)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Ji(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Uh(f+1|0)|0}if(!(Cf(m,22548)|0)){if(o|0)c[e>>2]=ti(f)|0;if(k)h=ti(f)|0}}while(!(I&(Cf(m,22557)|0)==0));if((Ng(22571,f)|0)!=0?(q=(Ji(f,32)|0)+1|0,r=Ji(q,45)|0,(r|0)!=0):0){l=r+1|0;m=rd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=rd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=se(f)|0;c[z+4>>2]=d;ji(22205,z);f=0;break}case 10:{c[v>>2]=d;ji(22242,v);f=0;break}case 11:{c[x>>2]=d;ji(22298,x);f=0;break}case 15:{c[y>>2]=2e3;ji(22330,y);f=0;break}case 20:{c[u>>2]=d;ji(22368,u);f=0;break}case 30:{if(!g)ji(22413,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ji(22456,E);f=0;break}case 34:{c[w>>2]=d;ji(22500,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ji(22525,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;oh(N,256,21371,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ji(22578,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?31568:22672;c[K+8>>2]=f?22397:22401;c[K+12>>2]=h|0?h:22688;ji(22698,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;oh(N,256,21371,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ji(22739,M);f=0}break}}i=P;return f|0}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;x=A+64|0;q=A+56|0;u=A+48|0;t=A+40|0;s=A+32|0;r=A+24|0;v=A+16|0;p=A+8|0;o=A;w=A+84|0;z=A+80|0;g=mh(b)|0;c[z>>2]=g;c[w>>2]=0;h=g+20|0;a:while(1){if(!(cc(g)|0)){b=w;e=47;break}n=le(20)|0;do if(Cf(c[h>>2]|0,16170)|0){if(!(Cf(c[h>>2]|0,16176)|0)){a[n+17>>0]=1;break}if(Cf(c[h>>2]|0,16156)|0){c[o>>2]=c[h>>2];Qf(g,16457,o)}}else a[n+16>>0]=1;while(0);xh(g)|0;j=n+4|0;c[j>>2]=ti(c[h>>2]|0)|0;xh(g)|0;c[n+8>>2]=ti(c[h>>2]|0)|0;xh(g)|0;Tf(g,16496);k=n+12|0;while(1){if((a[c[h>>2]>>0]|0)==41)break;l=le(48)|0;b=Gg(c[h>>2]|0)|0;if(!b){c[p>>2]=c[h>>2];Qf(g,16498,p)}m=l+12|0;c[m>>2]=b;xh(g)|0;if((c[c[m>>2]>>2]&-2|0)==12){c[l+16>>2]=ti(c[h>>2]|0)|0;xh(g)|0}switch(a[c[h>>2]>>0]|0){case 91:{if((c[c[m>>2]>>2]|0)==13)a[l+38>>0]=1;else a[l+37>>0]=1;xh(g)|0;b=c[h>>2]|0;d=a[b>>0]|0;do if((d+-48|0)>>>0<10){c[l+24>>2]=Td(b)|0;xh(g)|0}else{if(!(ak(d)|0)){Qf(g,16540,r);break}d=ti(c[h>>2]|0)|0;c[l+28>>2]=d;b=nh(n,d)|0;if(!b){e=23;break a}c[l+32>>2]=b;a[b+36>>0]=1;xh(g)|0}while(0);Tf(g,16251);break}case 40:{xh(g)|0;e=l+40|0;while(1){b=c[h>>2]|0;if((a[b>>0]|0)==41)break;d=ai(b)|0;c[d>>2]=c[e>>2];c[e>>2]=d;xh(g)|0;d=c[h>>2]|0;b=a[d>>0]|0;switch(b<<24>>24){case 41:case 44:break;default:{c[s>>2]=d;Qf(g,16586,s);b=a[c[h>>2]>>0]|0}}if(b<<24>>24==41)continue;xh(g)|0}Tf(g,16190);$g(e);break}default:{}}b=ti(c[h>>2]|0)|0;d=l+4|0;c[d>>2]=b;f=nh(n,b)|0;if(f|0){e=35;break a}xh(g)|0;c[l+44>>2]=De(g,0)|0;if(!(wf(c[h>>2]|0,16652)|0)){a[l+39>>0]=1;if(((c[c[m>>2]>>2]|0)+-3|0)>>>0>=7){e=38;break a}xh(g)|0}Tf(g,16705);c[l+8>>2]=ti(c[h>>2]|0)|0;xh(g)|0;if((c[c[m>>2]>>2]|0)==2?c[l+24>>2]|0:0)a[l+37>>0]=0;c[l>>2]=c[k>>2];c[k>>2]=l}$g(k);if(zh(c[w>>2]|0,c[j>>2]|0)|0){c[q>>2]=c[j>>2];Qf(g,16707,q)}Qh(w,n)}if((e|0)==23){c[v>>2]=d;Ei(16516,v)}else if((e|0)==35){c[t>>2]=c[f+4>>2];c[t+4>>2]=b;Ei(16615,t)}else if((e|0)==38){c[u>>2]=c[d>>2];Ei(16657,u)}else if((e|0)==47){b:while(1){h=c[b>>2]|0;b=c[w>>2]|0;if(!h){e=58;break}f=h+17|0;j=h+4|0;d=h+12|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;e=c[g>>2]|0;if(e|0){v=zh(b,e)|0;e=d+20|0;c[e>>2]=v;if(!v){e=52;break b}if(a[f>>0]|0?(a[(c[e>>2]|0)+17>>0]|0)==0:0){e=55;break b}}}b=h;e=47}if((e|0)==52){c[x>>2]=c[g>>2];Ei(16734,x)}else if((e|0)==55){A=c[d+4>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=A;Ei(16758,y)}else if((e|0)==58){ni(z);i=A;return b|0}}return 0}function Ob(b,d,e,f,g,h,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,_=0,$=0,aa=0;aa=i;i=i+32|0;Y=aa+16|0;W=aa+12|0;Z=aa+8|0;X=aa+4|0;_=aa;R=p&65535;S=R+1|0;T=i;i=i+((1*(S<<2)|0)+15&-16)|0;c[W>>2]=0;U=gi(0)|0;V=i;i=i+((1*(l<<2)|0)+15&-16)|0;r=0;while(1){if((r|0)>=(l|0))break;c[V+(r<<2)>>2]=0;r=r+1|0}Q=R+-1|0;c[Z>>2]=0;c[X>>2]=0;c[_>>2]=le(64)|0;P=U+12|0;M=(j|0)==0;N=U+4|0;O=(o|0)==0;K=(p&65535)>3;L=T+(Q<<2)|0;z=0;A=0;v=0;t=0;y=0;u=0;r=0;s=0;B=0;j=0;x=0;D=0;E=b;a:while(1){if(Fg(d,Y)|0){p=c[Y>>2]|0;if(!(c[7693]|0))p=Od(p,T,S)|0;else p=Nd(p,9,T,S)|0;Of(d,R,p);yb(T,c[7688]|0,R,d,c[_>>2]|0,e,0);J=c[_>>2]|0;b=c[J+4>>2]|0;c[Z>>2]=c[J+8>>2];c[X>>2]=c[J+12>>2];J=wf(b,c[E+4>>2]|0)|0;p=(J|0)==0;s=p&1;if((u|0)<(f|0)&(J|v|0)==0){J=v;H=b;I=u;G=s;F=x}else{u=(v|0)==0;t=b;w=s;$=12}}else{p=(s|0)!=0;u=0;v=1;w=s;$=12}if(($|0)==12){$=0;b=c[P>>2]|0;r=(b|0)>(r|0)?b:r;if(M)dg(k,c[N>>2]|0,b);else{b=Vj(b)|0;if((c[7695]|0)>>>0<b>>>0){Ui(30784);c[7695]=b;s=oe(b)|0;c[7696]=s}else s=c[7696]|0;J=jf(c[N>>2]|0,c[P>>2]|0,s,b)|0;dg(k,c[7696]|0,J)}c[P>>2]=0;a[c[N>>2]>>0]=0;if(O)b=x;else{b=xk(k)|0;b=$h(b|0,((b|0)<0)<<31>>31|0,z|0,A|0)|0;Yd(o,z,A,b,C,x,B);b=B}J=g+(j*24|0)|0;c[J>>2]=z;c[J+4>>2]=A;c[g+(j*24|0)+8>>2]=c[W>>2];c[g+(j*24|0)+12>>2]=D;c[g+(j*24|0)+16>>2]=y;j=j+1|0;if(u){J=v;H=t;I=0;G=w;F=b}else{$=46;break}}b:do if(p)p=E;else{p=c[E>>2]|0;if(!p){$=23;break a}if(!(wf(H,c[p+4>>2]|0)|0))b=0;else{$=25;break a}while(1){if((b|0)>=(l|0))break b;c[V+(b<<2)>>2]=0;b=b+1|0}}while(0);c[W>>2]=c[p+12>>2];if(!I){A=xk(k)|0;b=c[X>>2]|0;z=A;A=((A|0)<0)<<31>>31;s=b;D=c[Z>>2]|0}else{s=c[X>>2]|0;b=y}y=b>>>0<s>>>0?s:b;if(!O){of(o,T,B);B=B+1|0}qf(U,W,4);qf(U,Z,4);qf(U,X,4);if(K){b=3;while(1){if((b|0)==(Q|0))break;xj(U,c[T+(b<<2)>>2]|0);Wf(U,9)|0;b=b+1|0}xj(U,c[L>>2]|0)}Wf(U,0)|0;v=c[Z>>2]|0;w=c[X>>2]|0;x=0;while(1){if((x|0)>=(l|0))break;u=V+(x<<2)|0;b=c[u>>2]|0;t=n+(x<<2)|0;if(v>>>0<b>>>0)s=m+(x<<2)|0;else{c[t>>2]=(c[t>>2]|0)+1;s=m+(x<<2)|0;b=(c[s>>2]|0)+v|0;c[u>>2]=b}while(1){if(w>>>0<=b>>>0)break;c[t>>2]=(c[t>>2]|0)+1;E=(c[s>>2]|0)+b|0;c[u>>2]=E;b=E}x=x+1|0}v=J;t=H;u=I+1|0;s=G;x=F;E=p}if(($|0)==23)Aa(14428,13964,258,14442);else if(($|0)==25)Aa(14454,13964,259,14442);else if(($|0)==46)if((j|0)==(h|0)){Ui(_);c[q>>2]=r;i=aa;return}else Aa(14485,13964,324,14442)}function Pb(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,D=0.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.0;da=i;i=i+96|0;Y=da+48|0;$=da+76|0;ca=da+80|0;aa=da+72|0;ba=da+68|0;X=da+64|0;V=da;W=da+60|0;c[$>>2]=f;c[ca>>2]=0;T=_(j,e)|0;U=Xi(f*24|0)|0;c[aa>>2]=U;c[ba>>2]=U;U=U+(f*24|0)|0;I=xk(o)|0;H=p;c[H>>2]=I;c[H+4>>2]=((I|0)<0)<<31>>31;dg(o,$,4);c[X>>2]=gh(l,o,m)|0;H=r+8|0;I=r+16|0;J=r+24|0;K=r+32|0;L=V+4|0;M=V+8|0;N=V+12|0;O=V+24|0;P=V+20|0;Q=V+32|0;R=V+28|0;S=V+16|0;j=1;a:while(1){if(!a)break;E=$d(d,c[a+4>>2]|0)|0;c[W>>2]=E;F=a+12|0;G=a+16|0;E=jj(E)|0;b=0;while(1){if(!E)break;D=+(Ik(c[E+12>>2]|0)|0);m=c[E+4>>2]|0;B=c[E+8>>2]|0;p=B-m|0;if(!j){y=r;y=pi(c[y>>2]|0,c[y+4>>2]|0,p|0,0)|0;z=r;c[z>>2]=y;c[z+4>>2]=C;if(D<+h[H>>3])h[H>>3]=D;if(D>+h[I>>3])h[I>>3]=D;s=+(p>>>0);h[J>>3]=D*s+ +h[J>>3];s=D*D*s+ +h[K>>3]}else{z=r;c[z>>2]=p;c[z+4>>2]=0;h[I>>3]=D;h[H>>3]=D;s=+(p>>>0);h[J>>3]=D*s;s=D*D*s}h[K>>3]=s;do if(b){j=c[b+12>>2]|0;if(j>>>0>m>>>0){A=D;break}else{Hc(b,ca,T,ba,U,n,c[X>>2]|0);Z=16;break}}else Z=16;while(0);if((Z|0)==16){Z=0;c[L>>2]=c[F>>2];c[M>>2]=m;j=m+e|0;c[N>>2]=j;b=c[G>>2]|0;j=j>>>0>b>>>0?b:j;c[N>>2]=j;A=D;g[O>>2]=A;g[P>>2]=A;g[Q>>2]=0.0;g[R>>2]=0.0;c[S>>2]=0;b=V}t=b+12|0;u=b+8|0;v=b+16|0;w=b+20|0;x=b+24|0;y=b+28|0;s=D*D;z=b+32|0;while(1){if(B>>>0<=j>>>0){j=p;break}f=ri(m,B,c[u>>2]|0,j)|0;if((f|0)<=0){Z=20;break a}j=c[t>>2]|0;c[Y>>2]=B-m;c[Y+4>>2]=j;c[Y+8>>2]=f;Xh(3,14561,Y);c[v>>2]=(c[v>>2]|0)+f;if(+g[w>>2]>D)g[w>>2]=A;if(+g[x>>2]<D)g[x>>2]=A;fa=+(f|0);g[y>>2]=D*fa+ +g[y>>2];g[z>>2]=s*fa+ +g[z>>2];Hc(b,ca,T,ba,U,n,c[X>>2]|0);m=c[t>>2]|0;c[u>>2]=m;j=m+e|0;c[t>>2]=j;ea=c[G>>2]|0;j=j>>>0>ea>>>0?ea:j;c[t>>2]=j;g[x>>2]=A;g[w>>2]=A;g[z>>2]=0.0;g[y>>2]=0.0;c[v>>2]=0;p=p-f|0}c[v>>2]=(c[v>>2]|0)+j;if(+g[w>>2]>D)g[w>>2]=A;if(+g[x>>2]<D)g[x>>2]=A;fa=+(j>>>0);g[y>>2]=D*fa+ +g[y>>2];g[z>>2]=s*fa+ +g[z>>2];j=0;E=c[E>>2]|0}if(b|0)Hc(b,ca,T,ba,U,n,c[X>>2]|0);Qi(W);a=c[a>>2]|0}if((Z|0)==20)Aa(14511,13964,434,14523);mi(X);b=xk(o)|0;j=((b|0)<0)<<31>>31;ea=q;c[ea>>2]=b;c[ea+4>>2]=j;if((c[ba>>2]|0)==(U|0)){Lb(c[aa>>2]|0,24,c[$>>2]|0,0,k,l,0,1,4,b,j,o);Ui(aa);$g(ca);i=da;return c[ca>>2]|0}else Aa(14598,13964,472,14523);return 0}function Qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=lb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=pj(h)|0;c[b+16>>2]=e;f=zd(c[f>>2]|0)|0;if(!f){s=0;break}s=Wd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;$j(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}we(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)eg(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Kg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;we(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;xg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Zd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ei(14973,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Zd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Zd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Rb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[7740]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Na();f=c[k+4>>2]|0;if(!(f&1))Na();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[7856]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Db(m,d);return a|0}if((k|0)==(c[7742]|0)){d=(c[7739]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[7742]=l;c[7739]=m;return a|0}if((k|0)==(c[7741]|0)){e=(c[7738]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[7738]=d;c[7741]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Na();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Na();d=g+12|0;if((c[d>>2]|0)!=(k|0))Na();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Na()}while(0);if(h|0){d=c[k+28>>2]|0;e=31248+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[7737]=c[7737]&~(1<<d);break}}else{if(h>>>0<(c[7740]|0)>>>0)Na();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[7740]|0;if(j>>>0<f>>>0)Na();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Na();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=30984+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Na();if((c[e+12>>2]|0)!=(k|0))Na()}if((f|0)==(e|0)){c[7736]=c[7736]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Na();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Na()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Db(l,m);return a|0}return 0}function Sb(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+240|0;G=H+232|0;F=H+224|0;t=H+208|0;A=H+184|0;z=H+160|0;y=H+136|0;x=H+112|0;w=H+88|0;v=H+64|0;u=H+40|0;q=H+32|0;r=H+16|0;p=H;m=d+12|0;n=f+12|0;C=(j|0)!=0;B=C?1:2;j=b[d+16>>1]|0;l=j&255;d=b[f+16>>1]|0;f=d&255;j=(j&65535)>>>8&255;d=(d&65535)>>>8&255;do if(l<<24>>24==f<<24>>24){if(j<<24>>24!=d<<24>>24){c[r>>2]=a;c[r+4>>2]=j<<24>>24;c[r+8>>2]=e;c[r+12>>2]=d<<24>>24;Xh(B,16856,r);k=0;f=25;break}if(!(l<<24>>24))Ei(16898,q);else{k=0;s=m;o=n}while(1){o=c[o>>2]|0;s=c[s>>2]|0;j=(k|0)<(g|0);if(!(j&((o|0)!=0&(s|0)!=0))){f=23;break}d=s+4|0;j=o+4|0;if(ch(c[d>>2]|0,c[j>>2]|0)|0){f=9;break}d=c[s+36>>2]|0;j=c[o+36>>2]|0;f=(d&65535)>>>8&255;m=(j&65535)>>>8&255;l=d>>>16;n=j>>>16;if((d&255)<<24>>24!=(j&255)<<24>>24){f=11;break}if(f<<24>>24!=m<<24>>24){d=f;j=m;f=13;break}if((l&255)<<24>>24!=(n&255)<<24>>24){d=l;j=n;f=15;break}d=s+12|0;j=o+12|0;if(ch(c[(c[d>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0){f=17;break}d=c[s+24>>2]|0;j=c[o+24>>2]|0;if((d|0)!=(j|0)){f=19;break}d=s+28|0;j=o+28|0;if(ch(c[d>>2]|0,c[j>>2]|0)|0){f=21;break}k=k+1|0}if((f|0)==9){z=c[d>>2]|0;A=c[j>>2]|0;c[u>>2]=k+1;c[u+4>>2]=a;c[u+8>>2]=z;c[u+12>>2]=e;c[u+16>>2]=A;Xh(B,16962,u);f=25;break}else if((f|0)==11){c[v>>2]=k+1;c[v+4>>2]=a;c[v+8>>2]=d<<24>>24;c[v+12>>2]=e;c[v+16>>2]=j<<24>>24;Xh(B,17011,v);f=25;break}else if((f|0)==13){c[w>>2]=k+1;c[w+4>>2]=a;c[w+8>>2]=d<<24>>24;c[w+12>>2]=e;c[w+16>>2]=j<<24>>24;Xh(B,17065,w);f=25;break}else if((f|0)==15){c[x>>2]=k+1;c[x+4>>2]=a;c[x+8>>2]=d<<24>>24;c[x+12>>2]=e;c[x+16>>2]=j<<24>>24;Xh(B,17115,x);f=25;break}else if((f|0)==17){z=c[(c[d>>2]|0)+4>>2]|0;A=c[(c[j>>2]|0)+4>>2]|0;c[y>>2]=k+1;c[y+4>>2]=a;c[y+8>>2]=z;c[y+12>>2]=e;c[y+16>>2]=A;Xh(B,17166,y);f=25;break}else if((f|0)==19){c[z>>2]=k+1;c[z+4>>2]=a;c[z+8>>2]=d;c[z+12>>2]=e;c[z+16>>2]=j;Xh(B,17220,z);f=25;break}else if((f|0)==21){y=c[d>>2]|0;z=c[j>>2]|0;c[A>>2]=k+1;c[A+4>>2]=a;c[A+8>>2]=y;c[A+12>>2]=e;c[A+16>>2]=z;Xh(B,17273,A);f=25;break}else if((f|0)==23){if(!j){D=1;E=k;break}c[t>>2]=g;c[t+4>>2]=a;c[t+8>>2]=e;c[t+12>>2]=k;Ei(17331,t)}}else{c[p>>2]=a;c[p+4>>2]=l<<24>>24;c[p+8>>2]=e;c[p+12>>2]=f<<24>>24;Xh(B,16815,p);k=0;f=25}while(0);do if((f|0)==25)if(C)Ei(17456,F);else{c[G>>2]=k;Xh(B,17474,G);D=0;E=k;break}while(0);if(h|0)c[h>>2]=E;i=H;return D|0}function Tb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[27652+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[912+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[1264+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[27140+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[1048+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[1380+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Ub(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){$b(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,re(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,re(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,re(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Cb(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,re(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Vb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Gh(0,18737,b)|0}b=d+112|0;if(c[b>>2]|0)sg(b);b=d+128|0;if(c[b>>2]|0)sg(b);$j(c[d+4>>2]|0);$j(c[d+8>>2]|0);Ui(d+12|0);$j(c[d+40>>2]|0);$j(c[d+44>>2]|0);$j(c[d+48>>2]|0);$j(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)sg(b);Mi(d+80|0)}Ui(a);i=e;return}function Wb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Aa(23346,23366,448,23382);h=wa()|0;c[s>>2]=h;if((h|0)<0)og(23395,l);if(h|0)if(!(ih(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;og(23933,k)}r=Li()|0;c[s>>2]=r;if(ih(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;og(23406,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Vg(m)|0;j=wa()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}jg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))ng(t);if(c[k>>2]|0)ng(m);g=0;f=0;j=h;h=k}if((b|0)==14)og(23395,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){qd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;ta(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];og(23640,o)}qd(k,0,h,e);h=Og(1,f,g)|0;if((h|0)<0)og(23551,p);if((h|0)==(g|0)){rh(1)|0;Oa(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ei(23586,q)}}else if((b|0)==28){rh(0)|0;rh(1)|0;Sh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=ib(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;jg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)og(23713,u);else if((b|0)==35){c[v>>2]=h;Ei(23728,v)}else if((b|0)==39){v=Ze(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ei(23758,w)}else if((b|0)==41)Aa(23813,23366,242,23837);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2463]|0;v=Ze(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Gh(h,23856,x)|0;h=c[k>>2]|0}Oa(h>>>8&255|0)}else if((b|0)==47)Aa(23903,23366,396,23923);else if((b|0)==49)Oa(0)}}function Xb(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;z=A+72|0;y=A+64|0;v=A+40|0;u=A+32|0;w=A+24|0;o=A+16|0;n=A+8|0;m=A;switch(g|0){case 1:case 2:case 4:case 8:break;default:{c[m>>2]=g;Ei(15181,m)}}m=Th(-1,-1,8-g<<3|0)|0;x=(f|0)!=0;m=Th(m|0,C|0,x&1|0)|0;f=C;do if((a[d>>0]|0)==45){if(!x){c[o>>2]=h;oh(k,l,15323,o)|0;f=3;break}if(!j){p=pi(m|0,f|0,1,0)|0;q=C;s=1;r=d+1|0;t=9;break}else{oh(k,l,15296,n)|0;f=4;break}}else{q=f;p=m;s=0;r=d;t=9}while(0);a:do if((t|0)==9){j=0;m=0;f=r;while(1){n=a[f>>0]|0;if((n+-48&255)>=10){t=18;break}o=bh(j|0,m|0,10,0)|0;d=C;if(d>>>0<m>>>0|(d|0)==(m|0)&o>>>0<j>>>0){t=12;break}j=(n<<24>>24)+-48|0;j=pi(j|0,((j|0)<0)<<31>>31|0,o|0,d|0)|0;m=C;if(m>>>0<d>>>0|(m|0)==(d|0)&j>>>0<o>>>0){t=14;break}if(m>>>0>q>>>0|(m|0)==(q|0)&j>>>0>p>>>0){t=16;break}f=f+1|0}if((t|0)==12){c[w>>2]=x?15369:31568;c[w+4>>2]=h;oh(k,l,15377,w)|0;f=2;break}else if((t|0)==14){c[u>>2]=x?15369:31568;c[u+4>>2]=h;oh(k,l,15377,u)|0;f=2;break}else if((t|0)==16){c[v>>2]=x?15369:31568;c[v+4>>2]=h;c[v+8>>2]=s|0?15393:31568;f=v+16|0;c[f>>2]=p;c[f+4>>2]=q;oh(k,l,15395,v)|0;f=2;break}else if((t|0)==18){if(n<<24>>24){c[y>>2]=x?15369:31568;c[y+4>>2]=h;oh(k,l,15425,y)|0;f=1;break}if((f|0)==(r|0)){c[z>>2]=x?15369:31568;c[z+4>>2]=h;oh(k,l,15458,z)|0;f=1;break}if(!e){f=0;break}switch(g|0){case 1:{if(!x){a[e>>0]=j;f=0;break a}if(!s){a[e>>0]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;a[e>>0]=f;f=0;break a}}case 2:{if(!x){b[e>>1]=j;f=0;break a}if(!s){b[e>>1]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;b[e>>1]=f;f=0;break a}}case 4:{if(!x){c[e>>2]=j;f=0;break a}if(!s){c[e>>2]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;c[e>>2]=f;f=0;break a}}case 8:{if(!x){f=e;c[f>>2]=j;c[f+4>>2]=m;f=0;break a}if(!s){f=e;c[f>>2]=j;c[f+4>>2]=m;f=0;break a}else{z=$h(0,0,j|0,m|0)|0;f=e;c[f>>2]=z;c[f+4>>2]=C;f=0;break a}}default:{f=0;break a}}}}while(0);i=A;return f|0}function Yb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=lg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((lg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=pi(m|0,l|0,-1,-1)|0;d=C;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;$h(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=$h(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){kd(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)kd(a,d,e,f,o);else oc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}oc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;oc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;oc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Ue(a,b,d)|0){b=hi()|0;if((b|0)>=0){if((ae(b,1)|0)<0){rh(b)|0;b=-1;break}b:do if((sf(b,d,16)|0)<0){n=zi()|0;d=c[n>>2]|0;if((d|0)!=115){w=se(d)|0;c[e>>2]=d;c[e+4>>2]=w;ji(21192,e);rh(b)|0;b=-1;break a}cb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Xf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}cb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=se(d)|0;c[t>>2]=d;c[t+4>>2]=C;ji(20968,t);rh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ji(21100,u);rh(b)|0;e=23;break}c[r>>2]=4;do if((_e(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=se(d)|0;c[w>>2]=d;c[w+4>>2]=C;ji(21056,w);rh(b)|0;break}}else{B=c[n>>2]|0;C=se(B)|0;c[v>>2]=B;c[v+4>>2]=C;ji(21026,v);rh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((ae(b,0)|0)<0){rh(b)|0;b=-1;break}if((yf(b,120)|0)<0){rh(b)|0;b=-1}}}else b=-1;else{ji(20848,x+24|0);b=-1}while(0);i=x;return b|0}function $b(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;re(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;re(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=fc(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=jc(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;Te((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;Te((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function ac(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,eg(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Te(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ac(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(zi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function bc(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.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+80|0;F=K+56|0;E=K+32|0;H=K+24|0;G=K+16|0;D=K;J=K+64|0;z=(d|0)==0;if(z)A=3;else A=(ug(d)|0)+1|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;c[J>>2]=0;ve(a);w=(j|0)==0;x=a+28|0;y=a+4|0;o=0;n=0;j=0;m=0;p=0;q=-1;l=1073741823;r=0;a:while(1){u=p;while(1){if(w)p=Bf(a,B,A)|0;else p=nf(a,9,B,A)|0;if(!p){I=26;break a}Nf(a,A,p);s=c[B>>2]|0;v=Ke(a,B,1)|0;t=Ke(a,B,2)|0;if(!z)ef(d,B);if((t|0)<(v|0)){I=12;break a}o=pi(o|0,n|0,1,0)|0;n=C;p=t-v|0;j=pi(p|0,((p|0)<0)<<31>>31|0,j|0,m|0)|0;m=C;if(r){p=wf(c[r+4>>2]|0,s)|0;if(p)if((p|0)>0){I=16;break a}else I=17}else I=17;if((I|0)==17){I=0;p=df(b,s)|0;if(!p){I=18;break a}q=Ik(c[p+8>>2]|0)|0;r=le(20)|0;c[r+4>>2]=ti(s)|0;c[r+12>>2]=u;c[r+16>>2]=q;c[r>>2]=c[J>>2];c[J>>2]=r;u=u+1|0;q=-1}p=c[r+16>>2]|0;if(t>>>0>p>>>0){I=21;break a}t=r+8|0;c[t>>2]=(c[t>>2]|0)+1;if((q|0)<=-1){q=v;continue}p=v-q|0;if((p|0)<(l|0)){q=v;l=p;p=u;break}else q=v}if((l|0)<0){I=25;break}}if((I|0)==12){J=c[x>>2]|0;K=c[y>>2]|0;c[D>>2]=t;c[D+4>>2]=v;c[D+8>>2]=J;c[D+12>>2]=K;Ei(18881,D)}else if((I|0)==16){K=c[x>>2]|0;c[G>>2]=c[y>>2];c[G+4>>2]=K;Ei(18922,G)}else if((I|0)==18){c[H>>2]=s;Ei(19044,H)}else if((I|0)==21){e=c[r+4>>2]|0;J=c[x>>2]|0;K=c[y>>2]|0;c[E>>2]=t;c[E+4>>2]=e;c[E+8>>2]=p;c[E+12>>2]=J;c[E+16>>2]=K;Ei(19085,E)}else if((I|0)==25){K=c[x>>2]|0;c[F>>2]=c[y>>2];c[F+4>>2]=K;Ei(19143,F)}else if((I|0)==26){$g(J);if((o|0)==0&(n|0)==0)k=0.0;else k=(+(j>>>0)+4294967296.0*+(m>>>0))/(+(o>>>0)+4294967296.0*+(n>>>0));c[e>>2]=l;h[f>>3]=k;e=g;c[e>>2]=o;c[e+4>>2]=n;i=K;return c[J>>2]|0}return 0}function cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;n=q;m=q+4|0;do if(!(a[b>>0]|0)){f=b+4|0;c[f>>2]=0;p=b+16|0;h=b+8|0;j=b+12|0;k=b+33|0;l=b+34|0;d=c[p>>2]|0;a:while(1){g=Uh(d)|0;c[f>>2]=g-(c[p>>2]|0)+(c[f>>2]|0);d=a[g>>0]|0;b:do if(!(d<<24>>24))o=14;else{if(!(d<<24>>24==47&(a[k>>0]|0)!=0))if(d<<24>>24==35&(a[l>>0]|0)!=0){o=14;break}else{j=d;o=18;break a}switch(a[g+1>>0]|0){case 47:{o=14;break b}case 42:break;default:{j=47;o=18;break a}}d=g+2|0;while(1){d=Fb(d,24220)|0;if(d|0)break;if(!(Qb(c[h>>2]|0,j,m)|0)){o=10;break a}d=c[j>>2]|0}d=d+2|0;c[p>>2]=d}while(0);if((o|0)==14){o=0;if(!(Qb(c[h>>2]|0,j,m)|0)){o=17;break}c[f>>2]=(c[f>>2]|0)+1;d=c[j>>2]|0;c[p>>2]=d}}if((o|0)==10){c[n>>2]=c[(c[h>>2]|0)+4>>2];Ei(24223,n)}else if((o|0)==17){a[b+1>>0]=1;e=0;break}else if((o|0)==18){c:do if(j<<24>>24==95|(Jj(j<<24>>24)|0)!=0){d=g;while(1){d=d+1|0;if(Jj(a[d>>0]|0)|0)continue;if((a[d>>0]|0)!=95){e=d;break}}}else{switch(j<<24>>24){case 39:case 34:break;default:{d=g+1|0;e=d;break c}}k=(a[b+32>>0]|0)==0;f=g+1|0;g=k?f:g;d=g+2|0;while(1){e=a[f>>0]|0;if(e<<24>>24==j<<24>>24){if((a[f+-1>>0]|0)!=92){o=29;break}if(f>>>0>=d>>>0?(a[f+-2>>0]|0)==92:0){o=29;break}}else if(!(e<<24>>24)){o=30;break}f=f+1|0}if((o|0)==29){d=f+1|0;e=d;h=f;d=j<<24>>24==0?f:d}else if((o|0)==30){e=f+1|0;h=f;d=f}e=k?h:e}while(0);c[p>>2]=d;f=e-g|0;d=b+28|0;if((f|0)<(c[d>>2]|0)){e=b+20|0;d=e;e=c[e>>2]|0}else{e=f+128|0;c[d>>2]=e;d=b+20|0;e=kj(c[d>>2]|0,0,e)|0;c[d>>2]=e}re(e|0,g|0,f|0)|0;a[(c[d>>2]|0)+f>>0]=0;e=c[d>>2]|0;break}}else{a[b>>0]=0;e=c[b+20>>2]|0}while(0);i=q;return e|0}function dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Fb(b,21252)|0))e=pf(b,0,r)|0;else{if((Ng(21777,b)|0)==0?(Ng(21785,b)|0)==0:0){if(!(Ng(21794,b)|0)){c[g>>2]=b;Ei(22138,g)}ic(b,o);if(wf(o,21283)|0){c[f>>2]=b;Ei(21801,f)}b=o+4112|0;g=sd(b,Td(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(wi(g,21848,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,oh(m,256,21855,j)|0,(wi(g,m,0,0)|0)==0):0){rh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Wd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?21867:21872;c[k+4>>2]=j;oh(m,256,21877,k)|0;wj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Ji(j,40)|0;a[(Ji(j,41)|0)>>0]=0;if((Ne(s+1|0,21885,k,7)|0)!=6)Ei(21887,h);f=(Td(c[k+16>>2]|0)|0)<<8;f=_b(b,(Td(c[k+20>>2]|0)|0)+f|0)|0;Gi(l);if((f|0)<0){rh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((td(f,1e6)|0)>0){b=26;break}if((td(g,0)|0)>0?(Ac(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ji(21923,n);rh(g)|0;rh(f)|0;e=-1;break}else if((b|0)==24){rh(g)|0;rh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}vd(c[2492]|0)|0;vd(c[2433]|0)|0;vd(c[2463]|0)|0;b=le(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;re(b+20|0,o|0,10280)|0;f=b+4|0;if(Yh(f)|0){c[p>>2]=se(c[(zi()|0)>>2]|0)|0;Ei(21988,p)}b=Va(b|0,0,4,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=se(b)|0;c[q>>2]=b;c[q+4>>2]=s;Ei(22092,q)}}}else{rh(g)|0;e=-1}while(0)}break}e=dj(b,21773,0)|0}while(0);i=r;return e|0}function ec(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Th(d|0,m|0,52)|0;e=e&2047;j=Th(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ph(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ph(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ph(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ph(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ph(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ph(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ph(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ph(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=$h(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ph(d|0,f|0,1)|0;f=C;e=e+-1|0;l=$h(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ph(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=pi(d|0,f|0,0,-1048576)|0;d=C;e=Ph(e|0,0,52)|0;d=d|C;e=o|e}else{e=Th(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function fc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function gc(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=4;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=lb[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=lb[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=lb[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=lb[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=lb[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Lc(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[381];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}nb[c[o>>2]&7](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function hc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=vi(b)|0;c[t>>2]=q;c[v>>2]=Xi(q<<2)|0;dg(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=Vj(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=xk(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}dg(g,r,jf(p,h-s|0,r,q)|0);u=u-o|0}x=xk(g)|0;u=((x|0)<0)<<31>>31;Lb(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,2,7,x,u,g);Ui(v);C=u;i=w;return x|0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Wd(b)|0)>>>0>4095){c[e>>2]=b;Ei(21233,e)}Tj(f,b)|0;Bi(f)|0;b=Fb(f,21252)|0;if(!b){a[d>>0]=a[21256]|0;a[d+1>>0]=a[21257]|0;a[d+2>>0]=a[21258]|0;a[d+3>>0]=a[21259]|0;a[d+4>>0]=a[21260]|0}else{a[b>>0]=0;Eh(f)|0;Lf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Ji(f,47)|0;if(g){Ve(g,b,e,1);if(!((Cf(d,21256)|0)!=0?(Cf(d,21273)|0)!=0:0)){e=Pd(g,23296,21279)|0;Lf(d+6176|0,4096,e);$j(e)}a[g>>0]=0;if(!(Cf(d,21283)|0)){g=g+1|0;Vd(g,d+6176|0,Wd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Ji(f,64)|0;if(!g){if(!((Cf(d,21256)|0)!=0?(Cf(d,21273)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Cf(d,21283)|0)){b=d+16|0;e=21287;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=21297;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Ji(f,58)|0;if(!b){e=d+16|0;Lf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Lf(e,2048,f);f=d+2064|0;Lf(f,2048,b+1|0);b=f}Cd(e,e,Wd(e)|0);Cd(b,b,Wd(b)|0);f=g+1|0}b=Ji(f,58)|0;do if(!b){if(!(Cf(d,21256)|0)){h=d+6160|0;a[h>>0]=a[21315]|0;a[h+1>>0]=a[21316]|0;a[h+2>>0]=a[21317]|0}if(!(Cf(d,21273)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Cf(d,21283)|0)){h=d+6160|0;a[h>>0]=a[21318]|0;a[h+1>>0]=a[21319]|0;a[h+2>>0]=a[21320]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Lf(d+6160|0,16,e);break}else{c[h>>2]=e;Ei(21321,h)}}while(0);Lf(d+4112|0,2048,f);i=j;return}function jc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[1540+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+4>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+8>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+12>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+16>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+20>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+24>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+28>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[1540+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function kc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ni(na(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=na(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=na(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ni(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=na(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;na(221,l|0)|0}d=Ni(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=na(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=na(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;na(221,r|0)|0}d=Ni(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;La(6,p|0)|0}d=Ni(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ni(na(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ni(na(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function lc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=gi(512)|0;ic(b,s);h=Qa(21575)|0;p=(h|0)!=0;if(p){ic(h,q);re(r|0,q|0,10280)|0;h=cf(r,b)|0}else{re(r|0,s|0,10280)|0;h=cf(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ti(b)|0;j=Dj(b,59)|0;if((j|0)!=0?(Ng(21261,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Ih(k,21586,l);$j(b);c[m>>2]=f;Ih(k,21597,m);if((wf(s,21256)|0)==0?(wf(21315,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((wf(s,21273)|0)==0?(wf(21350,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Ih(k,21625,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Ih(k,21614,n)}b=c[t>>2]|0;re(r|0,s|0,10280)|0;Ae(r,21639,b);if(p){re(r|0,q|0,10280)|0;Ae(r,21653,b);k=c[t>>2]|0}else k=b;xj(k,21673);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Ih(k,21712,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Ih(k,21687,u);break}}while(0);if(g|0)xj(c[t>>2]|0,g);v=c[t>>2]|0;xj(v,21733);lf(h,c[v+4>>2]|0,c[v+12>>2]|0);Gi(t)}i=w;return h|0}function mc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function nc(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 oc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(mb[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((mb[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((mb[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((mb[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){Kd(b,p,e);kd(a,b,d,g,h)}i=r;return}function pc(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;d=a+4|0;e=c[d>>2]|0;do if(e){i=c[a+12>>2]|0;k=c[a+16>>2]|0;j=0;while(1){g=j+1|0;h=k+(j<<2)|0;c[h>>2]=e;d=e+12|0;f=mb[i&15](b,c[d>>2]|0)|0;if((f|0)<0){e=c[e>>2]|0;if(!e){d=h;f=j;g=5;break}else{j=g;continue}}if((f|0)<=0){g=9;break}e=c[e+4>>2]|0;if(!e){d=h;f=j;g=8;break}else j=g}if((g|0)==5){e=c[d>>2]|0;d=e;i=0;h=f;g=10;break}else if((g|0)==8){e=c[d>>2]|0;d=e+4|0;i=0;h=f;g=10;break}else if((g|0)==9){d=c[d>>2]|0;break}}else{i=1;e=0;k=0;h=0;g=10}while(0);a:do if((g|0)==10){f=a+24|0;g=c[f>>2]|0;if(!g)g=Hf(c[a+20>>2]|0,16)|0;else c[f>>2]=c[g+4>>2];c[g+4>>2]=0;c[g>>2]=0;c[g+12>>2]=b;c[g+8>>2]=i;c[d>>2]=g;b=a+8|0;c[b>>2]=(c[b>>2]|0)+1;if((h|0)>0){j=h;d=g;while(1){i=e+8|0;if(c[i>>2]|0){d=0;break a}g=j+-1|0;f=c[k+(g<<2)>>2]|0;h=c[f>>2]|0;if((e|0)==(h|0))h=c[f+4>>2]|0;if(!h)break;h=h+8|0;if((c[h>>2]|0)==1)break;c[i>>2]=1;c[h>>2]=1;if(!g){d=0;break a}c[f+8>>2]=0;d=j+-2|0;e=c[k+(d<<2)>>2]|0;j=d;d=f}d=dd(a,g,f,e,d)|0;c[d+8>>2]=1;c[(c[d+4>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+8>>2]=0;d=0}else d=0}while(0);return d|0}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}Zf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=xk(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=bh(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=pi(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Xh(2,17564,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Xh(2,17596,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Xh(2,17624,o);f=f+1|0}Xh(2,21438,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;Cc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=xk(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=xk(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=17690;Ei(17628,s)}else if((f|0)==14){Qc(b,a,0,d+-2|0,e);i=t;return}}function rc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=bh(f|0,b|0,10,0)|0;f=C;e=pi(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=pi(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=$h(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function sc(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;j=k;c[j+4>>2]=b;c[j+8>>2]=d;j=af(a,j)|0;do if(j){e=j+4|0;f=c[e>>2]|0;if((f|0)<=(b|0)?(h=j+8|0,g=c[h>>2]|0,(g|0)>=(d|0)):0){if((f|0)<(b|0)){g=Hf(c[a+20>>2]|0,16)|0;c[g+4>>2]=c[e>>2];c[g+8>>2]=b;c[g+12>>2]=c[j+12>>2];c[e>>2]=b;pc(a,g)|0;b=c[h>>2]|0}else b=g;if((b|0)>(d|0)){g=Hf(c[a+20>>2]|0,16)|0;c[g+4>>2]=d;c[g+8>>2]=c[h>>2];b=j+12|0;c[g+12>>2]=c[b>>2];c[h>>2]=d;pc(a,g)|0}else b=j+12|0;c[b>>2]=(c[b>>2]|0)+1;break}h=a+20|0;g=Dg(a,b,d)|0;while(1){if(!g)break;e=g+4|0;f=c[e>>2]|0;if((b|0)>=(f|0)){if((b|0)>(f|0)){j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=c[e>>2];c[j+8>>2]=b;c[j+12>>2]=c[g+12>>2];c[e>>2]=b;pc(a,j)|0}}else{j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=c[e>>2];c[j+12>>2]=Ek(1)|0;pc(a,j)|0}b=g+12|0;c[b>>2]=(c[b>>2]|0)+1;b=c[g+8>>2]|0;g=c[g>>2]|0}if((b|0)<(d|0)){j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=Ek(1)|0;pc(a,j)|0}}else{j=Hf(c[a+20>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=Ek(1)|0;pc(a,j)|0}while(0);i=k;return}function tc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=pi(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;dg(o,z,1);dg(o,B,1);dg(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;Te(r|0,0,m|0)|0;nb[l&7](G,r);dg(o,r,m);dg(o,A,8);G=A;G=pi(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;ei(o,0,x);p=p+1|0}k=t}if((d|0)==9)Aa(19930,19913,491,19957);else if((d|0)==13){i=E;return w|0}return 0}function uc(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;o=i;i=i+64|0;n=o+40|0;l=o+32|0;e=o+24|0;j=o+16|0;h=o+8|0;g=o;p=o+48|0;m=o+52|0;k=o+44|0;c[p>>2]=b;li(p,d,16);c[2]=Qe(14098,c[2]|0)|0;c[3]=Qe(14108,c[3]|0)|0;c[7690]=gg(14121,c[7690]|0)|0;c[7694]=(gk(14124)|0)==0&1;c[7687]=gg(14128,0)|0;c[7693]=gk(14139)|0;if((c[p>>2]|0)!=4)kh();if(!(gk(14143)|0)){if(c[7691]|0)Ei(14249,e)}else{b=ti(gg(14143,31568)|0)|0;e=Ji(b,43)|0;if(e|0?(f=e+1|0,a[e>>0]=0,((a[f>>0]|0)+-48|0)>>>0<10):0)c[7689]=ui(f)|0;if(!(Ng(14148,b)|0))Ei(14152,g);b=ui(b+3|0)|0;c[7688]=b;if((b|0)<3){c[h>>2]=b;Ei(14179,h)}if((b|0)>15){c[j>>2]=b;Ei(14214,j)}}f=c[d+4>>2]|0;b=c[7688]|0;if(!b){b=$f(f,1)|0;c[m>>2]=b;if(!(Fg(b,k)|0)){c[l>>2]=c[b+4>>2];Ei(14366,l)}b=c[k>>2]|0;if(!(c[7693]|0))b=Od(b,0,0)|0;else b=Nd(b,9,0,0)|0;if((b|0)>256){c[n>>2]=c[(c[m>>2]|0)+4>>2];Ei(14378,n)}Jd(m);c[7688]=b;if((b|0)>15){c[7689]=b+-15;c[7688]=15;b=15}}e=c[7690]|0;if(!e)c[7691]=$c(b,(c[7689]|0)+b|0)|0;else Hg(e,30764,0);kg(f,c[d+8>>2]|0,c[d+12>>2]|0);Jk();if((Kk()|0)>1)yd();i=o;return 0}function vc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;A=B+24|0;y=B+16|0;x=B+8|0;w=B;z=B+28|0;if((m|0)<=0)Aa(19265,19281,304,19297);v=(h|0)==0;t=Ph(j|0,k|0,31)|0;t=Ah(t|0,C|0,32)|0;u=C;j=0;while(1){if((j|0)>=(m|0)){t=5;break}k=c[o+(j<<2)>>2]|0;if(!(0>u>>>0|(0==(u|0)?(v?k<<5:k<<4&2147483632)>>>0>t>>>0:0))){t=8;break}j=j+1|0}if((t|0)==5){c[w>>2]=0;c[w+4>>2]=0;Xh(2,19316,w);t=9}else if((t|0)==8){j=c[n+(j<<2)>>2]|0;c[x>>2]=j;c[x+4>>2]=k;Xh(2,19316,x);if(!j)t=9}if((t|0)==9){k=c[o>>2]|0;j=c[n>>2]|0}v=uh(0)|0;c[z>>2]=v;Kj(a);u=sb[f&1](l,g,a,j,k,4,d,e,h,v,b,q,r,s)|0;$e(2,19363,y);c[p>>2]=j;t=j<<2;j=1;do{f=k;k=vi(u)|0;if((k|0)>=(f|0))break;f=xk(b)|0;y=q+(j<<3)|0;c[y>>2]=f;c[y+4>>2]=((f|0)<0)<<31>>31;y=Vc(u,d,e,h,b)|0;f=r+(j<<3)|0;c[f>>2]=y;c[f+4>>2]=C;c[p+(j<<2)>>2]=t;j=j+1|0;t=t<<2;u=Jc(u,t,v)|0}while((j|0)<10);Ci(z);$e(2,19444,A);i=B;return j|0}function wc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;dg(n,B,1);dg(n,D,1);dg(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=pi(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=bh(o|0,p|0,f|0,x|0)|0;p=d+p|0;Te(v|0,0,k|0)|0;nb[j&7](p,v);dg(n,v,k);dg(n,pb[l&7](p)|0,m);p=pi(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;ei(n,0,y);r=pi(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=$h(u|0,t|0,p|0,0)|0;q=C;p=pi(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)Aa(19994,19913,529,20010);else if((o|0)==11){i=E;return}}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[7723]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ni(hb(146,n|0)|0)|0}else{va(2,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ni(hb(146,m|0)|0)|0;ma(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 zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Rc(30465,f<<24>>24,4)|0){e=tb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Ji(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Ji(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;na(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=na(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;na(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Ta(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[7724]|0))c[e+76>>2]=-1;Za(30920);f=c[7729]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[7729]=e;Ua(30920)}}else{c[(zi()|0)>>2]=22;e=0}i=o;return e|0}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=gi(4096)|0;while(1){if((td(b,1e6)|0)<=0){j=3;break}g=Pg(b,m,4096)|0;if(g){qf(c[o>>2]|0,m,g);if(!(Mh(c[(c[o>>2]|0)+4>>2]|0,21438)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Wd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Wd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ji(21394,n);g=0}else if((j|0)==18){g=Td(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ji(21440,p);g=0;break}if(!e)Gi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Bc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;dg(l,n,4);dg(l,p,4);dg(l,r,4);dg(l,s,4);dg(l,o,8);dg(l,m,4);dg(l,m,4);f=xk(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=tc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=xk(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=19913;c[q+4>>2]=572;Ei(19973,q)}else if((f|0)==8){wc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function Cc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=vi(c[k>>2]|0)|0;dg(m,n,1);dg(m,o,1);dg(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;dg(m,k+12|0,4);dg(m,k+16|0,4);dg(m,k+20|0,4);dg(m,k+24|0,4);dg(m,q,8);j=q;j=pi(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;ei(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=Cc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function Dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?30940:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[10084+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(zi()|0)>>2]=84;f=-1}i=l;return f|0}function Ec(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Wa(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Pg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=$h(1,0,g|0,e|0)|0;b=pi(b|0,C|0,d|0,h|0)|0}r=(Og(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)cg(22036,l);if((b|0)==-1)cg(22067,o);rh(c[m>>2]|0)|0;rh(c[a+12>>2]|0)|0;rh(c[n>>2]|0)|0;i=q;return 0}function Gc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function Hc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=c[e>>2]|0;if(k>>>0>=f>>>0)Aa(19487,19281,682,19506);c[e>>2]=k+24;f=xk(c[i+12>>2]|0)|0;m=k;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=a+4|0;c[k+8>>2]=c[m>>2];c[k+12>>2]=c[a+8>>2];f=a+12|0;c[k+16>>2]=c[f>>2];Qd(i,a);e=c[b>>2]|0;if(((e|0)!=0?(c[e+4>>2]|0)==(c[m>>2]|0):0)?(l=c[f>>2]|0,((c[e+8>>2]|0)+d|0)>>>0>=l>>>0):0){c[e+12>>2]=l;f=e+16|0;c[f>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);j=+g[a+20>>2];f=e+20|0;if(j<+g[f>>2])g[f>>2]=j;j=+g[a+24>>2];f=e+24|0;if(j>+g[f>>2])g[f>>2]=j;m=e+28|0;g[m>>2]=+g[a+28>>2]+ +g[m>>2];m=e+32|0;g[m>>2]=+g[a+32>>2]+ +g[m>>2]}else{k=Hf(h,48)|0;i=k;f=a;e=i+48|0;do{c[i>>2]=c[f>>2];i=i+4|0;f=f+4|0}while((i|0)<(e|0));c[k>>2]=c[b>>2];c[b>>2]=k}return}function Ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Jd(b);break}if((rh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Ei(24091,k)}}else{if(!(c[a+20>>2]&2)){if(dh(d)|0){c[f>>2]=c[a+12>>2];Ei(24060,f)}}else{vd(d)|0;if(dh(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Ei(24030,e)}}if((Be(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Ei(24091,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((ib(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)og(23713,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Ei(24121,l)}if(b|0)Aa(24162,23366,435,24180);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Ei(24196,m)}i=n;return d>>>8&255|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;c[n>>2]=0;h=0;j=0;while(1){if(!a){a=15;break}if(((j|0)!=0?(c[j+4>>2]|0)==(c[a+4>>2]|0):0)?(m=c[a+12>>2]|0,m>>>0<=((c[j+8>>2]|0)+b|0)>>>0):0){e=j+12|0;if((c[e>>2]|0)>>>0>=m>>>0){a=8;break}c[e>>2]=m;e=j+16|0;c[e>>2]=(c[e>>2]|0)+(c[a+16>>2]|0);e=j+20|0;f=+g[a+20>>2];if(+g[e>>2]>f)g[e>>2]=f;e=j+24|0;f=+g[a+24>>2];if(+g[e>>2]<f)g[e>>2]=f;e=j+28|0;g[e>>2]=+g[a+28>>2]+ +g[e>>2];e=j+32|0;g[e>>2]=+g[a+32>>2]+ +g[e>>2];e=j}else{l=Hf(d,48)|0;e=l;j=a;k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[l>>2]=h;c[n>>2]=l;h=l;e=l}j=e;a=c[a>>2]|0}if((a|0)==8)Aa(19398,19281,729,19421);else if((a|0)==15){$g(n);i=o;return c[n>>2]|0}return 0}function Kc(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+120|0;r=s+80|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((wb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Mk(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=wb(b,d,o,q,r)|0;if(h){lb[c[b+36>>2]&7](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=wb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Lk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Lc(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=jc(0,0,0)|0;else d=fc(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Ig(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;Te(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[772+(h*12|0)+2>>1];c[a+140>>2]=e[772+(h*12|0)>>1];c[a+144>>2]=e[772+(h*12|0)+4>>1];c[a+124>>2]=e[772+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Mc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ti(31568)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Jj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=le(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Jj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;oh(h,4,14624,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Te(b|0,0,e|0)|0;return b|0}function Oc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=gi(512)|0;c[h>>2]=f;xj(f,b);xj(f,21252);d=b+16|0;if(a[d>>0]|0){d=Mc(d)|0;xj(f,d);$j(d);d=b+2064|0;if(a[d>>0]|0){xj(f,21346);d=Mc(d)|0;xj(f,d);$j(d)}xj(f,21348)}xj(f,b+4112|0);if(!((wf(b,21283)|0)==0?!(wf(21318,b+6160|0)|0):0))e=7;do if((e|0)==7){if((wf(b,21256)|0)==0?(wf(21315,b+6160|0)|0)==0:0)break;d=b+6160|0;if((wf(b,21273)|0)==0?(wf(21350,d)|0)==0:0)break;xj(f,21346);xj(f,d)}while(0);xj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Ih(f,21354,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Ih(f,21371,k)}k=Dh(h)|0;i=l;return k|0}function Pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Mb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}rh(a)|0;if((h|0)>0)$j(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Ng(21777,f)|0)==0?(Ng(21785,f)|0)==0:0){g=11;break}f=te(g,f)|0;c[j>>2]=f;a=dc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ji(22787,k);g=14}else if((g|0)==11){c[l>>2]=f;ji(22841,l);g=14}else if((g|0)==13){c[m>>2]=f;ji(22871,m);g=14}if((g|0)==14)if((b|0)>0){$j(f);b=0}else b=0;i=n;return b|0}function Qc(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=vi(c[g>>2]|0)|0;dg(j,k,1);dg(j,l,1);dg(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;dg(j,g+12|0,4);dg(j,g+16|0,4);dg(j,g+20|0,4);dg(j,g+24|0,4);f=g+32|0;dg(j,f,8);h=g+40|0;f=$h(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;dg(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;ei(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Qc(d,g,k,h,j)}}while(0);i=o;return}function Rc(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|0)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?b:0)|0}function Sc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ni(qa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(zi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ni(qa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;kc(e,2,j)|0}if(b&2048){c[h>>2]=kc(e,3,k)|0|2048;kc(e,4,h)|0}}}}while(0);i=l;return e|0}function Tc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[7723]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ni(gb(145,h|0)|0)|0}else{va(3,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ni(gb(145,g|0)|0)|0;ma(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=vi(a)|0;c[j>>2]=h;c[k>>2]=Xi(h<<2)|0;dg(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=xk(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;dg(f,e+4|0,4);dg(f,e+8|0,4);dg(f,e+12|0,4);dg(f,e+16|0,4);ci(f,+g[e+20>>2]);ci(f,+g[e+24>>2]);ci(f,+g[e+28>>2]);ci(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=xk(f)|0;e=((h|0)<0)<<31>>31;Lb(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,2,7,h,e,f);Ui(k)}else{h=hc(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=dc(a,0)|0;if((d|0)<0){c[e>>2]=a;ji(22871,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Ng(21777,a)|0)==0?(Ng(21785,a)|0)==0:0){e=0;g=7}else if(!(Pc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=ti(a)|0;Cd(a,b,Wd(a)|0);do if(!(Mh(b,22888)|0)){if(Mh(b,22892)|0){$j(b);g=12;break}f=(Mh(b,22895)|0)==0;$j(b);if(f)b=Qg(a,1,d)|0;else g=12}else{$j(b);g=12}while(0);if((g|0)==12)b=th(a,1,d)|0;if(e)$j(e)}}i=h;return b|0}function Xc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Aa(20665,20717,388,20729);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Xi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)$g(b);d=d+1|0}$j(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Yc(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o+8|0;m=o;l=le(24)|0;f=vi(a)|0;b[l>>1]=f;f=f&65535;a:do if(f|0){k=l+4|0;c[k>>2]=Xi(f<<1)|0;c[l+8>>2]=Xi((e[l>>1]|0)<<2)|0;c[l+12>>2]=Xi((e[l>>1]|0)<<2)|0;c[l+16>>2]=Xi((e[l>>1]|0)<<3)|0;g=d+12|0;j=0;while(1){if(!a)break a;h=a+4|0;f=qg(d,h)|0;if(!f){f=5;break}if(wf(c[(c[f+12>>2]|0)+4>>2]|0,16066)|0){f=7;break}h=(ph(c[g>>2]|0,f)|0)&65535;b[(c[k>>2]|0)+(j<<1)>>1]=h;j=j+1|0;a=c[a>>2]|0}if((f|0)==5){c[m>>2]=h;Ei(13571,m)}else if((f|0)==7)Ei(13639,n)}while(0);i=o;return l|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;nb[c[b>>2]&7](c[e>>2]|0,d);d=b;b=c[f>>2]|0}nb[c[d>>2]&7](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function _c(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+288|0;r=s;q=s+24|0;o=e+1|0;p=b+28|0;n=b+4|0;b=0;e=c[d+(e<<2)>>2]|0;while(1){if(!e){f=10;break}if((b|0)==(g|0)|(a[e>>0]|0)==0){f=10;break}m=Ji(e,44)|0;d=(m|0)!=0;if(d)a[m>>0]=0;if((Xb(e,f,h,j,k,l,q,256)|0)>0){f=7;break}f=(f|0)==0?0:f+j|0;b=b+1|0;if(!d){e=0;continue}a[m>>0]=44;e=m+1|0}if((f|0)==7){p=c[p>>2]|0;s=c[n>>2]|0;c[r>>2]=q;c[r+4>>2]=b;c[r+8>>2]=o;c[r+12>>2]=p;c[r+16>>2]=s;c[r+20>>2]=e;Ei(15521,r)}else if((f|0)==10){i=s;return b|0}return 0}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+16|0;d=h;f=h+20|0;if((a+-3|0)>>>0>12){c[d>>2]=a;c[d+4>>2]=3;c[d+8>>2]=15;Ei(24312,d)}e=gi(0)|0;c[f>>2]=e;xj(e,24375);if((((((((((((a|0)>3?(xj(e,24590),(a|0)>4):0)?(xj(e,24630),(a|0)>5):0)?(xj(e,24672),(a|0)>6):0)?(xj(e,24716),(a|0)>7):0)?(xj(e,24794),(a|0)>8):0)?(xj(e,24869),(a|0)>9):0)?(xj(e,24927),(a|0)>10):0)?(xj(e,24969),(a|0)>11):0)?(xj(e,25039),(a|0)>12):0)?(xj(e,25113),(a|0)>13):0)?(xj(e,25150),(a|0)>14):0)xj(e,25237);d=a+1|0;while(1){if((d|0)>(b|0))break;a=d+1|0;c[g>>2]=a;Ih(e,25313,g);d=a}xj(e,25352);g=Dh(f)|0;i=h;return g|0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=le(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=gi(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){xj(e,23292);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){xj(e,23296);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}xj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Dh(j)|0;if(!(c[a>>2]|0))Ei(23298,k);if(!(b&8))e=0;else{Qh(l,Me(764,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Qh(l,Me(d,l)|0);e=e+1|0}i=m;return l|0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Mk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;re(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(me(f)|0){e=h;break}g=lb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Lk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Lk(f);return e|0}function cd(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(!(tf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=lb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((lb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);re(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 dd(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;g=c[e>>2]|0;h=(g|0)==(f|0);do if((c[d>>2]|0)==(e|0))if(h){c[e>>2]=f;f=e+4|0;c[d>>2]=c[f>>2];c[f>>2]=d;break}else{c[e+4>>2]=c[f>>2];c[f>>2]=e;e=f+4|0;c[d>>2]=c[e>>2];c[e>>2]=d;e=f;break}else if(h){c[d+4>>2]=c[f>>2];c[f>>2]=d;h=f+4|0;c[e>>2]=c[h>>2];c[h>>2]=e;e=f;break}else{c[d+4>>2]=g;c[e>>2]=d;c[e+4>>2]=f;break}while(0);do if(b){g=c[(c[a+16>>2]|0)+(b+-1<<2)>>2]|0;if((c[g>>2]|0)==(d|0)){c[g>>2]=e;break}else{c[g+4>>2]=e;break}}else c[a+4>>2]=e;while(0);return e|0}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(fd(b,e<<24>>24)|0)-b|0;i=g;return e|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Wd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function gd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=le(16)|0;else l=Hf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=yj(d,e)|0;else{k=Hf(h,e+1|0)|0;c[l+4>>2]=k;re(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Xc(b,si(m)|0);return l|0}function hd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Qk()|0;Ck(30788)|0;if((c[7704]|0)!=0&(a|0)==(c[7705]|0)){Og(2,14629,61)|0;Oa(1)}Ak(30788)|0;Ck(30824)|0;Ck(30788)|0;c[7705]=a;c[7704]=1;Ak(30788)|0;if(!(c[7713]|0))c[7713]=ye(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;oh(d,64,21371,b)|0;a=df(c[7713]|0,d)|0;if(!a){a=le(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=2;c[a+140>>2]=0;c[a+92>>2]=1;a=lj(c[7713]|0,d,a)|0}Ck(30788)|0;c[7704]=0;Ak(30788)|0;Ak(30824)|0;i=e;return c[a+8>>2]|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function jd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=ig(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function kd(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((mb[d&15](k,j)|0)>-1?(mb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((mb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Kd(b,o,e);i=p;return}function ld(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=10288;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(zi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Kc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(wf(b,18102)|0){if(!(wf(b,18108)|0)){f=c[2433]|0;break}e=ee(b,d)|0;if(!e){a:do if(!d)e=31568;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=18136;break a}case 119:{e=18126;break a}default:{e=e<<24>>24==97?18115:31568;break a}}}while(0);d=se(c[(zi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ei(18145,g)}else f=e}else f=c[2492]|0;while(0);i=h;return f|0}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(gf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=bb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ok(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;wk(f);break}else{b=Ca(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ji(17795,f);b=0;break}}else{vf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function od(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=le(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[22900+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[22900+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[22900+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[22900+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function pd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[23087+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[23087+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Da(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))og(23439,k);l=Li()|0;if(ih(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Li()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;og(23462,f)}if(b|0?(yg(b,0)|0)<0:0)og(23489,g);if((d|0)!=1?(yg(d,1)|0)<0:0)og(23509,h);if((e|0)!=2?(yg(e,2)|0)<0:0)og(23530,j);Sh();i=k;return}function rd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Qj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=bh(c|0,d|0,10,0)|0;b=b+1|0;c=$h(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=$h(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function sd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=_b(a,b)|0;if((a|0)<0)a=-1;else{if((td(a,1e6)|0)>0)wi(a,31568,0,0)|0;c[g>>2]=0;c[h>>2]=d;oh(f,256,21483,h)|0;do if(wi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,oh(f,256,21493,j)|0,(wi(a,f,0,0)|0)==0):0){rh(a)|0;a=-1;break}if(!(wi(a,21503,0,0)|0)){rh(a)|0;a=-1}}else{rh(a)|0;a=-1}while(0)}i=k;return a|0}function td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Xf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(zi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=se(a)|0;ji(21376,m)}i=n;return a|0}function ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=pf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=le(5)|0;c[g>>2]=f;if((Pg(e,f,4)|0)<4)Ui(g);else a[f+4>>0]=0;rh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=he(e)|0,Ui(h),(g|0)!=0):0){h=Ug(Re(b)|0,33,b,0)|0;e=Qg(b,d,lk(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function vd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ge(a)|0;break}d=(Mk(a)|0)==0;b=ge(a)|0;if(!d)Lk(a)}else{if(!(c[2462]|0))b=0;else b=vd(c[2462]|0)|0;Za(30920);a=c[7729]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Mk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ge(a)|0|b;if(d|0)Lk(a);a=c[a+56>>2]|0}while((a|0)!=0);Ua(30920)}while(0);return b|0}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=mg(e,0)|0;c[n>>2]=g;Lg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=mg(d,e)|0;else if(!f){e=pf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;og(23999,k)}else j=e}else j=0;c[m>>2]=j;e=Ff(a,b,j,g)|0;ng(m);if(!l)ng(n);i=o;return e|0}function xd(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[(zi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function yd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Li()|0;c[g>>2]=f;oh(a,256,23015,g)|0;d=kf(a,1)|0;c[g>>2]=d;if(!d){j=c[2463]|0;c[b>>2]=a;Gh(j,23052,b)|0;a=j}else{while(1){if(!(Fg(d,e)|0))break;a=c[e>>2]|0;if(Fb(a,23031)|0){j=5;break}}if((j|0)==5){j=c[2463]|0;c[h>>2]=f;c[h+4>>2]=a;Gh(j,23038,h)|0}Jd(g);a=c[2463]|0}vd(a)|0;i=k;return}function zd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=oe(k)|0;re(j|0,d|0,e|0)|0;$j(c);d=j;e=k;c=j}k=Ab(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ti(d)|0;$j(c);c=l}i=h;return c|0}function Ad(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function Bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;c[j>>2]=b;a:do if(b){b=fg(b,44)|0;if((b|0)>0){h=Xi(b<<2)|0;f=0;while(1){b=f+1|0;g[h+(f<<2)>>2]=+ue(j);l=c[j>>2]|0;f=l+1|0;c[j>>2]=f;if(!(a[l>>0]|0)){f=h;break a}if(!(a[f>>0]|0)){f=h;break}else f=b}}else f=0}else{f=0;b=0}while(0);c[d>>2]=f;c[e>>2]=b;i=k;return}function Cd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Kh(f,14620,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Dd(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;Te(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){cd(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;cd(h,f,a)|0}while(0);i=j;return}function Ed(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(!(tf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((lb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Fd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Jh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=ld((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Jh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}
-function Gd(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;h=vi(a)|0;if((h|0)>0){f=Xi(h<<4)|0;g=0;e=0;while(1){if((g|0)==(h|0))break;j=c[a+4>>2]|0;i=Wd(j)|0;c[f+(g<<4)+4>>2]=j;c[f+(g<<4)+8>>2]=c[a+12>>2];c[f+(g<<4)+12>>2]=c[a+16>>2];g=g+1|0;e=(i|0)>(e|0)?i:e;a=c[a>>2]|0}Zb(f,h,16,6)}else{f=0;e=0}Bc(f,16,h,((h|0)<0)<<31>>31,(h|0)>(b|0)?b:h,3,e,3,8,d);$j(f);return}function Hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;f=c[b+92>>2]|0;if(f|0)nb[f&7](b,14887);if(c[b+56>>2]|0){c[g>>2]=c[b+4>>2];og(14900,g)}a[b+48>>0]=0;f=c[b+72>>2]|0;if(!f){c[b+20>>2]=0;c[b+36>>2]=0;c[b+32>>2]=0;e=Pf(c[b+8>>2]|0,d,e)|0;c[b+16>>2]=e;if((e|0)==-1){c[h>>2]=c[b+4>>2];og(14944,h)}}else Uf(f,d,((d|0)<0)<<31>>31);i=j;return}function Id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Mk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Ed(d,b)|0;Lk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Ed(d,b)|0}while(0);return e|0}function Jd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Hi(c[2492]|0)|0):0){rh(c[d>>2]|0)|0;$j(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Vb(d)}else ki(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)kb[d&3](f);$j(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)_d(g);Ui(b)}return}function Kd(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;re(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;re(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Ld(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=$h(h^a|0,g^b|0,h|0,g|0)|0;b=C;Yb(a,b,$h(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=$h(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Md(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Pg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;og(18265,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ei(18290,g)}else if((d|0)==8){i=h;return}}function Nd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(Qj(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(Qj(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Wd(b)|0;h=Wd(c)|0;d=0;e=Fb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Fb(e+g|0,b)|0}f=Wd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=le((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Fb(a,b)|0;d=f;while(1){if(!a)break;Tj(d,e)|0;j=a+g|0;i=d+(a-e)|0;Tj(i,c)|0;e=j;a=Fb(j,b)|0;d=i+h|0}Tj(d,e)|0;return f|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;c[f+(e<<5)>>2]=c[b+4>>2];c[f+(e<<5)+4>>2]=c[b+8>>2];c[f+(e<<5)+8>>2]=c[b+12>>2];c[f+(e<<5)+12>>2]=c[b+16>>2];c[f+(e<<5)+16>>2]=c[b+20>>2];c[f+(e<<5)+20>>2]=c[b+24>>2];c[f+(e<<5)+24>>2]=c[b+28>>2];c[f+(e<<5)+28>>2]=c[b+32>>2];b=e+1|0;c[d>>2]=b;if((b|0)>=(c[a+8>>2]|0))qe(a);return}function Rd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Oi(f,-1,27134,56)|0;if(a|0){f=a;i=g;return f|0}a=ub(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Zc(f)|0;i=g;return f|0}else{Zc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Sd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ph(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Td(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Qj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(lb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((lb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Vd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Kh(f,14620,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Wd(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 Xd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Th(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Xd(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 Yd(a,b,d,f,g,h,i){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;m=a+12|0;a=e[a>>1]|0;k=0;while(1){if((k|0)==(a|0))break;j=c[(c[m>>2]|0)+(k<<2)>>2]|0;l=h;while(1){if((l|0)>=(i|0))break;n=j+(l*24|0)+8|0;c[n>>2]=b;c[n+4>>2]=d;n=j+(l*24|0)+16|0;c[n>>2]=f;c[n+4>>2]=g;l=l+1|0}k=k+1|0}return}function Zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(df(c[e>>2]|0,d)|0)){lj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Gh(g,14969,h)|0}}}while(0);i=j;return}function _d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Oj(d);d=g}e=e+1|0}}else{Ci(b);b=d+8|0}while(0);$j(c[b>>2]|0);Ui(a)}return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k;d=Hk()|0;e=h+4|0;f=h+8|0;while(1){if(!(Fg(a,g)|0))break;if(!(hf(b,c[g>>2]|0)|0)){j=4;break}Od(c[g>>2]|0,h,3)|0;l=ui(c[e>>2]|0)|0;sc(d,l,ui(c[f>>2]|0)|0)}if((j|0)==4)hk(a);i=k;return d|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=kc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((kc(a,4,f)|0)<0){c[g>>2]=se(c[(zi()|0)>>2]|0)|0;ji(20937,g);d=-1}else d=0}else{c[e>>2]=se(c[(zi()|0)>>2]|0)|0;ji(20906,e);d=-1}i=h;return d|0}function be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d<<24>>24;f=b;b=0;while(1){if(!f)break;if(!(a[f>>0]|0))break;d=Ji(f,g)|0;if(!d){d=0;e=ai(f)|0}else{h=d-f|0;e=le(h+8|0)|0;re(e+4|0,f|0,h|0)|0;d=d+1|0}c[e>>2]=b;f=d;b=e}d=0;while(1){if(!b)break;g=c[b>>2]|0;c[b>>2]=d;h=b;b=g;d=h}return d|0}function ce(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[23095+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[23103+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[23103+f>>0]}while(0);return}function de(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0;m=i;i=i+288|0;l=m;k=m+24|0;b=c[b+(d<<2)>>2]|0;if((Xb(b,e,f,g,h,j,k,256)|0)>0){e=c[a+28>>2]|0;m=c[a+4>>2]|0;c[l>>2]=k;c[l+4>>2]=d+1;c[l+8>>2]=e;c[l+12>>2]=m;c[l+16>>2]=b;Ei(15484,l)}else{i=m;return}}function ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Rc(30465,a[d>>0]|0,4)|0){h=Mf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ni($a(5,e|0)|0)|0;if((e|0)>=0){b=zc(e,d)|0;if(!b){c[f>>2]=e;La(6,f|0)|0;b=0}}else b=0}else{c[(zi()|0)>>2]=22;b=0}i=g;return b|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ei(19663,d)}d=Wj(a,b)|0;if(!d){g=c[(zi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ei(19727,e)}else{i=f;return d|0}return 0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(lb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)lb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Ng(14749,a)|0))if(!(Ng(14752,a)|0))if(!(Ng(14756,a)|0))if(!(Ng(14759,a)|0))a=0;else{a=14764;e=5}else{a=14768;e=5}else{a=14772;e=5}else{a=14774;e=5}if((e|0)==5){c[d>>2]=a;oh(b,20,14777,d)|0;a=ti(b)|0}i=f;return a|0}function ie(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=$h(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return $h((Yb(h,g,$h(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;rg(h,0);e=+vb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ke(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=Sg(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Zi(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 le(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ei(19799,b)}b=uk(a)|0;if(!b){f=c[(zi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ei(19852,d)}else{Te(b|0,0,a|0)|0;i=e;return b|0}return 0}function me(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)lb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ne(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18006;break}case 2:{a=17985;break}case -1:{a=17974;break}case -2:{a=17958;break}case -3:{a=17958;break}case -4:{a=17943;break}case -5:{a=17928;break}case -6:{a=17909;break}case 0:{a=0;break}default:{c[b>>2]=a;oh(31440,128,17890,b)|0;a=31440}}i=d;return a|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ei(19539,b)}b=uk(a)|0;if(!b){f=c[(zi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ei(19597,d)}else{i=e;return b|0}return 0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=tb(b)|0;return a|0}if(b>>>0>4294967231){c[(zi()|0)>>2]=12;a=0;return a|0}d=Rb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=tb(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;re(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Bb(a);a=d;return a|0}function qe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;d=a+4|0;b=c[d>>2]|0;if(b|0){b=b<<5;if(!(c[a+16>>2]|0))dg(c[a+12>>2]|0,c[a>>2]|0,b);else{h=Vj(b)|0;f=Pa()|0;g=i;i=i+((1*h|0)+15&-16)|0;b=jf(c[a>>2]|0,b,g,h)|0;dg(c[a+12>>2]|0,g,b);za(f|0)}c[d>>2]=0}i=e;return}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ma(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 se(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[28533+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=28621;e=5;break}}if((e|0)==2)if(!c)b=28621;else{b=28621;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 te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;ic(b,g);ic(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Lf(e,2048,d);Lf(f+2064|0,2048,g+2064|0)}g=Oc(f)|0;i=h;return g|0}function ue(b){b=b|0;var d=0,e=0.0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g;d=g+4|0;h=c[b>>2]|0;e=+Xj(h,d);d=c[d>>2]|0;f=d;a:do if((d|0)!=(h|0)){switch(a[d>>0]|0){case 44:case 0:break;default:break a}c[b>>2]=f;i=g;return +e}while(0);d=Ji(h,44)|0;if(d|0)a[d>>0]=0;c[j>>2]=h;Ei(17736,j);return +(0.0)}function ve(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Fg(b,d)|0))break;if((Ng(15625,c[d>>2]|0)|0)==0?(Ng(15633,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Xh(2,15676,f)}if((g|0)==5){c[e>>2]=c[d>>2];Xh(2,15639,e);a[b+48>>0]=1}i=h;return}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function xe(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ei(17705,k)}else{c[j>>2]=e;Wi(d,j)}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Aa(20665,20717,357,20740);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=uh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Xi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function ze(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;rg(j,0);e=Hb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Ae(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;oh(h,256,21554,j)|0;j=od(h,Wd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Ih(e,21560,k);Ui(g)}i=l;return}function Be(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Za(30920);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[7729]|0)==(a|0))c[7729]=b;Ua(30920)}b=vd(a)|0;b=pb[c[a+12>>2]&7](a)|0|b;d=c[a+92>>2]|0;if(d|0)Bb(d);if(!e)Bb(a);return b|0}function Ce(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=Pf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=18467;else e=(d|0)==2?18426:18435;else e=18458;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;og(18476,g);return 0}function De(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;d=c[e>>2]|0;if(((wf(d,16230)|0)!=0?(wf(d,16238)|0)!=0:0)?(wf(d,16245)|0)!=0:0)d=0;else{d=le(12)|0;c[d+4>>2]=ti(c[e>>2]|0)|0;xh(b)|0;if((a[c[e>>2]>>0]|0)==91){xh(b)|0;c[d+8>>2]=bf(b)|0;xh(b)|0;Tf(b,16251)}}return d|0}function Ee(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=g+12|0;c[e>>2]=0;if((b|0)>15){c[f>>2]=b;Ei(25358,f)}if((b|0)<3)Ei(25432,g+8|0);else{h=$c(15,15)|0;f=eh(h)|0;c[e>>2]=f;f=Sb(25490,a,25496,f,b,0,d)|0;$j(h);vg(e);i=g;return f|0}return 0}function Fe(a){a=a|0;var b=0,d=0,e=0;while(1){if(!a)break;b=a+12|0;e=mb[c[7717]&15](c[b>>2]|0,c[7715]|0)|0;d=mb[c[7717]&15](c[b>>2]|0,c[7716]|0)|0;if((e|0)<=-1){if((d|0)>=1)break}else{Fe(c[a>>2]|0);if((d|0)>=1)break;kb[c[7714]&3](c[b>>2]|0)}a=c[a+4>>2]|0}return}function Ge(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2433]|0;if((c[f+76>>2]|0)>-1)g=Mk(f)|0;else g=0;do if((Hj(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=(Ed(f,10)|0)<0}while(0);if(g|0)Lk(f);return d<<31>>31|0}function He(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;$j(e);f=f+1|0}$j(b);$j(i);i=h}Ui(g+12|0);Ui(g+28|0);Ui(a)}return}function Ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Xj(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Ei(15577,g);return +(0.0)}function Je(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+16|0;f=h;e=(a|0)<10?10:a;a=0;while(1){if((a|0)>=10){a=10;break}c[d+(a<<2)>>2]=0;c[b+(a<<2)>>2]=e;if((e|0)>536870911){g=4;break}e=e<<2;a=a+1|0}if((g|0)==4){a=a+1|0;c[f>>2]=a;Xh(2,19230,f)}i=h;return a|0}function Ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Ei(15133,f)}j=Td(d)|0;i=g;return j|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;e=b+-1|0;d=0;while(1){if(!a)break;j=c[a+8>>2]|0;h=((e+j|0)>>>0)/(b>>>0)|0;c[f>>2]=c[a+4>>2];c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=b;Xh(2,19463,f);d=h+d|0;a=c[a>>2]|0}i=g;return d|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=le((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ti(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Uc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(ed(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Oe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2433]|0);if((b|0)==(c[2492]|0)|d)if(d){vd(b)|0;b=1}else b=1;else if(!(Be(b)|0))b=1;else{cg(18521,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(bd(b,d,1,a)|0)!=1:0){b=dh(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Ei(18234,f)}else{f=se(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Ei(18205,e)}}i=g;return}function Qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=lh(b)|0;do if((f|0)!=0?(wf(f,20447)|0)!=0:0){d=cj(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ei(20170,h)}else e=d;while(0);i=j;return e|0}function Re(a){a=a|0;var b=0;b=ti(a)|0;if(!(((Ng(21777,a)|0)==0?(Ng(21785,a)|0)==0:0)?!(Ng(21794,a)|0):0))Cd(a,b,Wd(a)|0);if(!(Mh(b,22888)|0))if(!(Mh(b,22892)|0))if(!(Mh(b,22895)|0)){a=(Mh(b,14789)|0)==0;a=a?0:80}else a=116;else a=104;else a=92;$j(b);return a|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Xi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ei(20636,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Te(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 Ue(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Sj(e&65535)|0;if(d){h=pk(nd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Dj(b,59)|0;if((g|0?Ng(21261,g)|0:0)?(i=(Ji(g,61)|0)+1|0,h=Ji(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=rd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=rd(b)|0;c[e>>2]=f}}return}function We(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ye(0,1)|0;b=Di(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(Zg(b,f,2)|0))break;b=c[f>>2]|0;tj(d,b,ui(c[a>>2]|0)|0)|0;b=c[e>>2]|0}Jd(e);i=g;return d|0}function Xe(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 Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ni(qa(102,h|0)|0)|0;i=g;return e|0}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=gi(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){xj(e,23296);b=c[d>>2]|0}xj(e,b);f=f+1|0}g=Dh(g)|0;i=h;return g|0}function _e(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ni(qa(102,h|0)|0)|0;i=g;return e|0}function $e(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+32|0;f=g;e=g+8|0;if(!b)Aa(17835,17849,55,17864);if((c[186]|0)<0)c[186]=tg()|0;h=tg()|0;c[e>>2]=d;Yg(a,b,e);c[f>>2]=h-(c[186]|0);Xh(a,17876,f);c[186]=h;i=g;return}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+12>>2]|0;a=a+4|0;while(1){e=c[a>>2]|0;if(!e){a=0;break}a=e+12|0;d=mb[f&15](b,c[a>>2]|0)|0;if((d|0)<0){a=e;continue}if((d|0)<=0){g=7;break}a=e+4|0}if((g|0)==7)a=c[a>>2]|0;return a|0}function bf(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+20>>2]|0;if(((a[d>>0]|0)+-48|0)>>>0<10){e=ui(d)|0;i=f;return e|0}else{f=c[b+8>>2]|0;b=c[f+28>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=b;c[e+8>>2]=f;Ei(16192,e)}return 0}function cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(wf(a,21256)|0)if(!(wf(a,21273)|0)){d=di(a+4112|0,Td(a+6160|0)|0)|0;break}else{c[e>>2]=b;Ei(21512,e)}else d=_b(a+4112|0,Td(a+6160|0)|0)|0;while(0);i=f;return d|0}function df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((wf(c[e+4>>2]|0,d)|0)!=0);return e|0}function ef(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;h=a+4|0;i=a+8|0;f=e[a>>1]|0;g=0;while(1){if((g|0)>=(f|0))break;a=Wd(c[b+((e[(c[h>>2]|0)+(g<<1)>>1]|0)<<2)>>2]|0)|0;d=(c[i>>2]|0)+(g<<2)|0;if((a|0)>(c[d>>2]|0))c[d>>2]=a;g=g+1|0}return}function ff(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((Ni(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 gf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Ji(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function hf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Wd(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(Qj(d<<24>>24)|0)!=0;d=d&1}return d|0}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=Rd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=ne(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Ei(18022,g)}return 0}function kf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(wf(a,18102)|0){if(Re(a)|0){c=ud(a,b)|0;break}c=pf(a,0,c)|0;if((c|0)==-1)c=0;else c=Qg(a,b,c)|0}else c=Ej(b)|0;while(0);i=d;return c|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Og(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)og(18332,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ei(18358,e)}}function mf(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;return sb[a&1](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)|0}function nf(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;k=i;i=i+16|0;j=k+4|0;h=k;while(1){if(!(Qb(b,h,j)|0)){g=0;break}g=c[h>>2]|0;if((a[g>>0]|0)==35)continue;g=Nd(g,d,e,f)|0;if(g|0)break}i=k;return g|0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;f=a+4|0;g=a+12|0;h=0;while(1){if((h|0)>=(e[a>>1]|0|0))break;i=ti(c[b+((e[(c[f>>2]|0)+(h<<1)>>1]|0)<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+(h<<2)>>2]|0)+(d*24|0)>>2]=i;h=h+1|0}return}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ni($a(5,f|0)|0)|0;i=e;return d|0}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Jh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;re(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function rf(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+16|0;e=h+8|0;g=h;f=gi(0)|0;c[h+12>>2]=f;h=c[a+4>>2]|0;c[g>>2]=c[a+28>>2];c[g+4>>2]=h;Ih(f,15022,g);Fd(f,b,d);c[e>>2]=c[f+4>>2];Ei(16100,e)}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ni(qa(102,f|0)|0)|0;i=e;return d|0}function tf(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 uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=pi(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;lf(b,d,e);return}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ac(2,a,d)|0)<0){b=se(c[(zi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ji(17754,e);a=0}else{c[b>>2]=ok(c[d>>2]|0)|0;a=1}i=f;return a|0}function wf(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 xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=pi(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Md(b,d,e);return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Ye(a,1,20,d,8)|0)>=0)if((Ye(a,1,21,d,8)|0)<0){ji(20801,e);a=-1}else a=0;else{ji(20751,f);a=-1}i=f;return a|0}function zf(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,Ta(54,f|0)|0):0)a[b+75>>0]=-1;f=yc(b,d,e)|0;i=g;return f|0}function Af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;a=Rf(a)|0;switch(a|0){case 1:{b=15951;break}case 2:{b=16443;break}case 4:{b=25595;break}case 8:{b=16425;break}default:{c[d>>2]=a;Ei(16323,d)}}i=e;return b|0}function Bf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Qb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=Od(f,d,e)|0;if(f|0)break}i=j;return f|0}function Cf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Bj(a[e>>0]|0)|0;c=c<<24>>24;b=(Bj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Df(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 Ef(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b;b=0;while(1){if(!f)break;if((b|0)==(d|0)|(a[f>>0]|0)==0)break;e=Ji(f,44)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}g[c+(b<<2)>>2]=+zk(f);f=e;b=b+1|0}return b|0}function Ff(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;Lg(b);a=ad(a,b)|0;if(!(b&1)){b=Vg(a+16|0)|0;c[f>>2]=b;Wb(a,b,d,e,0,0);ng(f)}else Cg(a,d,e,0,0);i=g;return a|0}function Gf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=xb(e,b,d)|0;i=g;return h|0}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Se(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function If(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=lb[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=ld(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ei(18535,g)}return 0}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Rc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;re(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Wd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Ei(18056,f)}else{Tj(a,d)|0;i=g;return}}function Mf(b){b=b|0;var c=0,d=0,e=0;d=(Ji(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Ji(b,120)|0)==0;d=e?d:d|128;b=(Ji(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((d|0)<(b|0)){g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Ei(15084,e)}else{i=f;return}}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Ei(15044,e)}}function Pf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ni(db(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;f=f+16|0;c[f>>2]=d;oi(b,f);f=c[a+8>>2]|0;b=c[f+4>>2]|0;d=c[a+12>>2]|0;c[e>>2]=c[f+28>>2];c[e+4>>2]=b;c[e+8>>2]=d;Ei(24251,e)}function Rf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;switch(a|0){case 4:case 3:{b=4;break}case 6:case 5:{b=2;break}case 8:case 7:{b=1;break}case 9:{b=8;break}default:{c[d>>2]=a;Ei(16253,d)}}i=e;return b|0}function Sf(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=(Mk(e)|0)==0;a=cd(a,f,e)|0;if(!g)Lk(e)}else a=cd(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a+20|0;if(!(Cf(c[d>>2]|0,b)|0))xh(a)|0;else{d=c[d>>2]|0;c[e>>2]=b;c[e+4>>2]=d;Qf(a,24292,e)}i=f;return}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=pi(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(18586)ah(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Vf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2433]|0;else{Ge(14691)|0;Ge(14716)|0;d=c[2433]|0;Kc(d,a,b)|0;Id(10,d)|0;vd(d)|0}vd(d)|0;d=c[2463]|0;Kc(d,a,b)|0;Id(10,d)|0;vd(d)|0}return}function Wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+12|0;e=c[g>>2]|0;f=c[b+8>>2]|0;if((e|0)>=(f|0)){Jh(b,f+256|0);e=c[g>>2]|0}b=c[b+4>>2]|0;c[g>>2]=e+1;b=b+e|0;a[b>>0]=d;a[b+1>>0]=0;return d|0}function Xf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ni(eb(142,h|0)|0)|0;i=g;return d|0}function Yf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)Zf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function _f(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=oe(h)|0;a=a+136|0;ah(a,b,d+64|0,0)|0;xf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function $f(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=kf(a,b)|0;if(!b){e=se(c[(zi()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Ei(14865,d)}else{i=e;return b|0}return 0}function ag(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Uh(e)|0,(a[d>>0]|0)!=0):0){e=Bg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function bg(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=se(c[(zi()|0)>>2]|0)|0;c[g+4>>2]=a;Fh(f,14743,g)|0;oi(f,e);i=d;return}function dg(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?(Sf(b,d,1,a)|0)!=1:0){a=se(dh(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Ei(18175,e)}i=f;return}function eg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else re(b,c,d)|0;return b|0}function fg(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=0;f=0;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=f;break}b=b+1|0;d=(e<<24>>24==c<<24>>24&1)+d|0;f=e}return ((b<<24>>24==0?1:b<<24>>24==c<<24>>24)&1^1)+d|0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[7721]|0;if((d|0?(e=sh(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Ei(20568,f);f=lh(a)|0;i=g;return ((f|0)==0?b:f)|0}function hg(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;c[a+20>>2]=b;b=b*24|0;d=a+12|0;f=0;while(1){if((f|0)>=(e[a>>1]|0|0))break;g=Xi(b)|0;c[(c[d>>2]|0)+(f<<2)>>2]=g;f=f+1|0}return}function ig(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(me(a)|0)!=0:0)b=-1;else if((lb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ei(23656,e)}}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=be(c[7687]|0,44)|0;f=eh(c[7691]|0)|0;Ee(f,c[7688]|0,1)|0;Gb(a,b,c[2]|0,c[3]|0,c[7691]|0,f,c[7694]|0,e,d);return}function lg(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 mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=pf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;og(23967,d)}else{i=e;return b|0}return 0}function ng(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((rh(b)|0)<0){c[d>>2]=b;og(23691,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=se(c[(zi()|0)>>2]|0)|0;c[f+4>>2]=a;Fh(e,14743,f)|0;Wi(e,d)}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Ai(b);d=f}c[a>>2]=0;i=e;return}function qg(a,b){a=a|0;b=b|0;a:do if(!a)a=0;else{a=a+12|0;while(1){a=c[a>>2]|0;if(!a){a=0;break a}if(!(wf(c[a+4>>2]|0,b)|0))break a}}while(0);return a|0}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function sg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((rh(b)|0)<0)og(18508,d);else{c[a>>2]=-1;break}while(0);i=e;return}function tg(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;d=e;cb(d|0,0)|0;a=c[7719]|0;b=c[d>>2]|0;if(!a){c[7719]=b;a=b}i=e;return ((b-a|0)*1e3|0)+((c[d+4>>2]|0)/1e3|0)|0}function ug(a){a=a|0;var b=0,d=0,f=0,g=0;f=a+4|0;b=e[a>>1]|0;d=0;a=0;while(1){if((d|0)==(b|0))break;g=e[(c[f>>2]|0)+(d<<1)>>1]|0;d=d+1|0;a=(g|0)>(a|0)?g:a}return a|0}function vg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Oh(b);d=f}c[a>>2]=0;i=e;return}function wg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;ii(b);d=f}c[a>>2]=0;i=e;return}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=kj(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Aa(14809,14831,352,14847)}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=ra(63,e|0)|0}while((d|0)==-16);e=Ni(d)|0;i=f;return e|0}function zg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Mk(a)|0)==0;Ud(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Lk(a)}else{Ud(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=ti(b)|0;c[f+8>>2]=-1;b=Wd(e)|0;c[f+20>>2]=b;c[f+12>>2]=b;a[f+40>>0]=d;c[f+52>>2]=e;return f|0}function Bg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Qj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[a+16>>2]=Vg(h)|0;Wb(a,b,c[h>>2]|0,d,e,f);ng(h);i=g;return}function Dg(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+4>>2]=b;c[f+8>>2]=d;c[7722]=0;qh(a,f,f,1);$g(30888);i=e;return c[7722]|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(jh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function Fg(b,d){b=b|0;d=d|0;a:while(1){if(!(Qb(b,d,0)|0)){b=0;break}switch(a[(Uh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Gg(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=17){b=0;break}if(!(Cf(c[128+(b*36|0)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4)b=128+(b*36|0)|0;return b|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Eg(b)|0;b=md(b,23012)|0;g=oe(f+1|0)|0;c[d>>2]=g;Pe(b,g,f);a[g+f>>0]=0;Be(b)|0;if(e|0)c[e>>2]=f;return}function Ig(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=892;c[a+2852>>2]=a+2440;c[a+2860>>2]=1028;c[a+2864>>2]=a+2684;c[a+2872>>2]=1168;b[a+5816>>1]=0;c[a+5820>>2]=0;Gc(a);return}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;re(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Pg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Lg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ei(23163,c);break}default:{}}if((a&18|0)==16)Ei(23229,b);else{i=c;return}}function Mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Mk(a)|0)==0;b=Ud(a,b,d)|0;if(!e)Lk(a)}else b=Ud(a,b,d)|0;return b|0}function Ng(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ni(ab(4,f|0)|0)|0;i=e;return a|0}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ni(Xa(3,f|0)|0)|0;i=e;return a|0}function Qg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=ti(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=le(65537)|0;return f|0}function Rg(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;ba(8);return 0}function Sg(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;Yb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Ff(g,b,d,e)|0;i=f;return e|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=wd(g,b,d,e)|0;i=f;return e|0}function Vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Yh(b)|0)<0)og(23328,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Wg(b){b=b|0;var c=0,d=0;c=Wd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Qj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[185]|0)>=(a|0)){a=c[7718]|0;if(!a){a=c[2463]|0;c[7718]=a}Kc(a,b,d)|0;vd(c[7718]|0)|0}return}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;b=Bf(a,b,c)|0;if(b)if((b|0)<(c|0)){Of(a,c,b);b=1}else b=1;else b=0;return b|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function $g(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ce(b,d,e)|0}function bh(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=Yf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function ch(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(wf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function dh(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Mk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Lk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function eh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;a=ti(a)|0;c[d>>2]=a;a=Nb(Ag(16810,1,a)|0)|0;Ui(d);i=b;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=(b|0)){e=5;break}if(!a){a=0;break}d=d+1|0;a=c[a>>2]|0}return a|0}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=le(20)|0;c[e>>2]=Xi(a<<5)|0;c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=d;return e|0}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=le(28)|0;c[e+4>>2]=0;c[e+12>>2]=a;c[e+20>>2]=b;c[e+16>>2]=d;c[e+8>>2]=0;return e|0}function ih(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ni(Sa(57,e|0)|0)|0;i=d;return a|0}function jh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ni(Ha(195,e|0)|0)|0;i=d;return a|0}function kh(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=11704;c[a+4>>2]=4;c[a+8>>2]=d;c[a+12>>2]=b;Ei(11708,a)}function lh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[7720]|0;if(!b)Ei(20536,d);else{a=qi(b,a)|0;i=d;return a|0}return 0}function mh(a){a=a|0;var b=0;b=le(36)|0;c[b+28>>2]=128;c[b+20>>2]=le(128)|0;c[b+8>>2]=a;c[b+16>>2]=31568;c[b+12>>2]=31568;return b|0}function nh(a,b){a=a|0;b=b|0;a=a+12|0;do{a=c[a>>2]|0;if(!a){a=0;break}}while((Cf(c[a+4>>2]|0,b)|0)!=0);return a|0}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Jf(a,b,d,g)|0;i=f;return e|0}function ph(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if(!a){d=-1;break}if((a|0)==(b|0))break;d=d+1|0;a=c[a>>2]|0}return d|0}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[7714]=e;c[7715]=b;c[7716]=d;c[7717]=c[a+12>>2];Fe(c[a+4>>2]|0);return}function rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=La(6,d|0)|0;a=Ni((a|0)==-4?-115:a)|0;i=b;return a|0}function sh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(wf(d,a)|0))break;b=b+8|0}return b|0}function th(a,b,d){a=a|0;b=b|0;d=d|0;d=Tg(Re(a)|0,33,d,2)|0;b=Qg(a,b,lk(d)|0)|0;c[b+56>>2]=d;return b|0}function uh(a){a=a|0;var b=0;b=le(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Se(b,a)|0;return b|0}function vh(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=Ni(La(6,d|0)|0)|0;i=b;return a|0}function wh(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]}function xh(a){a=a|0;var b=0;b=i;i=i+16|0;a=cc(a)|0;if(!a)Ei(24269,b);else{i=b;return a|0}return 0}function yh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ob[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function zh(a,b){a=a|0;b=b|0;while(1){if(!a){a=0;break}if(!(Cf(c[a+4>>2]|0,b)|0))break;a=c[a>>2]|0}return a|0}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=le(d+1|0)|0;c=(c|0)<(d|0)?c:d;re(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Ch(a){a=a|0;while(1){if(!a)break;Ch(c[a>>2]|0);kb[c[7714]&3](c[a+12>>2]|0);a=c[a+4>>2]|0}return}function Dh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Aa(22965,22976,40,22992);else{b=c[b+4>>2]|0;Ui(a);return b|0}return 0}function Eh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Cj(c<<24>>24)|0;d=d+1|0}return b|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oj(a,b,f)|0;i=e;return d|0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Kc(a,b,f)|0;i=e;return d|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;b=b+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Ih(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;Fd(a,b,f);i=e;return}function Jh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=kj(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gf(a,b,f)|0;i=e;return d|0}function Lh(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;rf(a,b,f);i=e;return}function Mh(a,b){a=a|0;b=b|0;var c=0;c=Wd(a)|0;c=c-(Wd(b)|0)|0;if((c|0)<0)c=0;else c=(wf(a+c|0,b)|0)==0&1;return c|0}function Nh(a,b){a=a|0;b=b|0;dg(a,b,8);dg(a,b+8|0,8);dg(a,b+16|0,8);dg(a,b+24|0,8);dg(a,b+32|0,8);return}function Oh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);$j(c[b+8>>2]|0);wg(b+12|0);Ui(a)}return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Qh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Rh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;$j(b);b=d}c[a>>2]=0;return}function Sh(){var a=0,b=0;a=Ya(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;rh(b)|0;b=b+1|0}return}function Th(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Uh(b){b=b|0;if(!b)b=0;else while(1)if(!(Qj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Vh(a,b){a=a|0;b=b|0;if((c[a+8>>2]|0)>(c[b+4>>2]|0))a=(c[b+8>>2]|0)<=(c[a+4>>2]|0)&1;else a=-1;return a|0}function Wh(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Mk(a)|0)==0;a=If(a)|0}else a=If(a)|0;return a|0}function Xh(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;Yg(a,b,f);i=e;return}function Yh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ni(ua(42,d|0)|0)|0;i=b;return a|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,c)|0;if(c>>>0>b>>>0)Te(a+b|0,0,c-b|0)|0;return a|0}function _h(){}function $h(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 (C=d,a-c>>>0|0)|0}function ai(a){a=a|0;var b=0;if(!a)a=le(8)|0;else{b=le((Wd(a)|0)+8|0)|0;Tj(b+4|0,a)|0;a=b}return a|0}function bi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[185]=a;c[d>>2]=0;i=b;return}function ci(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;dg(a,d,4);i=c;return}function di(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Ei(23111,d);return 0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;Id(b,a)|0;c=c+-1|0}return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;a=df(a,b)|0;if(a)d=Ik(c[a+8>>2]|0)|0;return d|0}function gi(a){a=a|0;var b=0;b=le(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=le(a+1|0)|0;c[b+8>>2]=a;return b|0}function hi(){var a=0,b=0;b=i;i=i+16|0;a=Sc(2,1,0)|0;if((a|0)<0)ji(20876,b);i=b;return a|0}function ii(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);$j(c[b+8>>2]|0);Ui(a)}return}function ji(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;oi(a,e);i=d;return}function ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ic(b)|0;He(a)}return b|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[7720]|0)){Ti(Jb(a,b,0,d,0)|0);c[7721]=d}return}function mi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){qe(b);$j(c[b>>2]|0);Ui(a)}return}function ni(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+20>>2]|0);Jd(b+8|0);Ui(a)}return}function oi(a,b){a=a|0;b=b|0;var d=0;d=hd()|0;nb[c[d+8+(c[d+88>>2]<<2)>>2]&7](a,b);return}function pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function qi(a,b){a=a|0;b=b|0;a=df(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function si(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ti(a){a=a|0;var b=0;if(!a)a=0;else{b=Wd(a)|0;a=Bh(a,b,b)|0}return a|0}function ui(a){a=a|0;var b=0;b=i;i=i+16|0;a=xe(a,0,b)|0;i=b;return a|0}function vi(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wj(a,b);return Ac(a,b,c,d)|0}function xi(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function yi(a){a=a|0;switch(a|0){case 8:case 6:case 4:{a=1;break}default:a=0}return a|0}function zi(){var a=0;if(!(c[7723]|0))a=30936;else a=c[(Qk()|0)+64>>2]|0;return a|0}function Ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);Ui(a)}return}function Bi(a){a=a|0;if(!a)a=0;else{a=Uh(a)|0;Wg(a)}return a|0}function Ci(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Rh(b);$j(b);c[a>>2]=0}return}function Di(a){a=a|0;a=Wc(a)|0;if(!a)Ki();else return a|0;return 0}function Ei(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Wi(a,d)}function Fi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lb[a&7](b|0,c|0,d|0)|0}function Gi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);Ui(a)}return}function Hi(a){a=a|0;if((c[a+76>>2]|0)>-1?Mk(a)|0:0)Lk(a);return c[a+60>>2]|0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;a=Hf(a,c)|0;re(a|0,b|0,c|0)|0;return a|0}function Ji(b,c){b=b|0;c=c|0;b=fd(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ki(){var a=0;a=hd()|0;rb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Oa(-1)}function Li(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function Mi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){sg(b+52|0);Ui(a)}return}function Ni(a){a=a|0;if(a>>>0>4294963200){c[(zi()|0)>>2]=0-a;a=-1}return a|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gc(a,b,8,15,8,0,c,d)|0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&3](b|0,c|0,d|0)}function Qi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ci(b+20|0);Ui(a)}return}function Ri(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Si(a,b){a=a|0;b=b|0;if(!a)a=0;else a=xd(a,b,0)|0;return a|0}function Ti(a){a=a|0;c[7720]=a;if(lh(20028)|0)bi(Qe(20028,0)|0);return}function Ui(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)yk(b);return}function Vi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Wi(a,b){a=a|0;b=b|0;c[(hd()|0)+4>>2]=1;oi(a,b);Ki()}function Xi(a){a=a|0;var b=0;b=oe(a)|0;Te(b|0,0,a|0)|0;return b|0}function Yi(a,b){a=a|0;b=b|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb(a,b,c,d,0)|0}function _i(a){a=a|0;var b=0;b=uh(0)|0;return hh(a,b,Hf(b,512)|0)|0}function $i(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,0,-2147483648)|0;return a|0}function bj(a,b){a=a|0;b=b|0;return wf(c[a>>2]|0,c[b>>2]|0)|0}function cj(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,-2147483648,0)|0;return a|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return lc(a,b,21736,21745,c)|0}function ej(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function fj(a,b){a=a|0;b=b|0;return wf(c[a+4>>2]|0,c[b+4>>2]|0)|0}function gj(a,b){a=a|0;b=b|0;sj(b,c[a>>2]|0,c[7692]|0)|0;return}function hj(a,b,c){a=a|0;b=b|0;c=c|0;return mb[a&15](b|0,c|0)|0}function ij(a,b){a=a|0;b=b|0;c[7714]=b;Ch(c[a+4>>2]|0);return}function jj(a){a=a|0;c[7722]=0;ij(a,1);$g(30888);return c[7722]|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;return Zh(a,b,c)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,Wd(b)|0,c)|0}function mj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function nj(a){a=a|0;if(!(Oe(a)|0))Ki();else return}function oj(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,2147483647,b,c)|0}function pj(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;nb[a&7](b|0,c|0)}function rj(){if((Qa(14724)|0)==0?(Qa(14734)|0)==0:0)Oa(-1);Na()}function sj(a,b,c){a=a|0;b=b|0;c=c|0;Nc(a,b,c)|0;return a|0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,0+c|0)|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;return tb(_(c,b)|0)|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;return Kf(a,b,c)|0}function wj(a,b){a=a|0;b=b|0;lf(a,b,Wd(b)|0);return}function xj(a,b){a=a|0;b=b|0;qf(a,b,Wd(b)|0);return}function yj(a,b){a=a|0;b=b|0;return Bh(a,Wd(a)|0,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,0,c)|0}function Aj(a,b){a=a|0;b=b|0;Tj(b,c[a+4>>2]|0)|0;return}function Bj(a){a=a|0;var b=0;b=(jk(a)|0)==0;return (b?a:a&95)|0}function Cj(a){a=a|0;var b=0;b=(ik(a)|0)==0;return (b?a:a|32)|0}function Dj(a,b){a=a|0;b=b|0;return _g(a,b,(Wd(a)|0)+1|0)|0}function Ej(a){a=a|0;return Qg(18102,a,Hi(c[2492]|0)|0)|0}function Fj(a){a=a|0;if(!(c[a+68>>2]|0))Lk(a);return}function Gj(a){a=a|0;if(!(c[a+68>>2]|0))Lk(a);return}function Hj(a,b){a=a|0;b=b|0;return (Sf(a,Wd(a)|0,1,b)|0)+-1|0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,1,c)|0}function Jj(a){a=a|0;return ((a+-48|0)>>>0<10|(ak(a)|0)!=0)&1|0}function Kj(a){a=a|0;Hd(a,0,0);c[a+28>>2]=0;return}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return Mg(a,b,c)|0}function Mj(a,b){a=a|0;b=b|0;return pb[a&7](b|0)|0}function Nj(a){a=a|0;c[a>>2]=c[7722];c[7722]=a;return}function Oj(a){a=a|0;$j(c[a+4>>2]|0);$j(a);return}function Pj(a,b){a=a|0;b=b|0;i=a;j=b}function Qj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Rj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Sj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Tj(a,b){a=a|0;b=b|0;id(a,b)|0;return a|0}function Uj(a,b){a=a|0;b=b|0;kb[a&3](b|0)}function Vj(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Wj(a,b){a=a|0;b=b|0;return pe(a,b)|0}function Xj(a,b){a=a|0;b=b|0;return +(+je(a,b,1))}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function Zj(a){a=a|0;ei(a,0,240);return}function _j(a){a=a|0;ei(a,0,64);return}function $j(a){a=a|0;if(a|0)yk(a);return}function ak(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function bk(a,b){a=+a;b=+b;return +(+bg(a,b))}function ck(a,b){a=+a;b=b|0;return +(+Sd(a,b))}function dk(a,b){a=+a;b=b|0;return +(+Xd(a,b))}function ek(a){a=a|0;return (a+-3|0)>>>0<7|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function gk(a){a=a|0;return (lh(a)|0)!=0|0}function hk(b){b=b|0;a[b+48>>0]=1;return}function ik(a){a=a|0;return (a+-65|0)>>>0<26|0}function jk(a){a=a|0;return (a+-97|0)>>>0<26|0}function kk(a,b){a=a|0;b=b|0;Bb(b);return}function lk(a){a=a|0;return c[a+16>>2]|0}function mk(a,b){a=+a;b=+b;return +(+ec(a,b))}function nk(a){a=a|0;return a>>>0<2|0}function ok(a){a=a|0;return ej(a|0)|0}function pk(a){a=a|0;return ej(a|0)|0}function qk(a,b){a=a|0;b=b|0;ba(2);return 0}function rk(){c[186]=tg()|0;return}function sk(a){a=a|0;return a+8|0}function tk(a){a=a|0;rb[a&1]()}function uk(a){a=a|0;return tb(a)|0}function vk(a){a=a|0;return a+8|0}function wk(a){a=a|0;Bb(a);return}function xk(a){a=a|0;return Wh(a)|0}function yk(a){a=a|0;Bb(a);return}function zk(a){a=a|0;return +(+Xj(a,0))}function Ak(a){a=a|0;return 0}function Bk(a,b){a=a|0;b=b|0;ba(3)}function Ck(a){a=a|0;return 0}function Dk(a){a=a|0;i=a}function Ek(a){a=a|0;return 0+a|0}function Fk(a){a=a|0;C=a}function Gk(a){a=a|0;ba(5);return 0}function Hk(){return _i(8)|0}function Ik(a){a=a|0;return a|0}function Jk(){_d(30880);return}function Kk(){return c[185]|0}function Lk(a){a=a|0;return}function Mk(a){a=a|0;return 0}function Nk(){return C|0}function Ok(){return i|0}function Pk(a){a=a|0;ba(0)}function Qk(){return 0}function Rk(){ba(7)}
+function tb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[7736]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=30984+(b<<1<<2)|0;e=d+8|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[7740]|0)>>>0)Na();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Na()}else c[7736]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[7738]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=30984+(b<<1<<2)|0;e=d+8|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[7740]|0)>>>0)Na();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[7738]|0;break}else Na()}else{c[7736]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[7741]|0;b=l>>>3;d=30984+(b<<1<<2)|0;a=c[7736]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{m=a;n=b}}else{c[7736]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[7738]=h;c[7741]=e;N=j;i=O;return N|0}a=c[7737]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[31248+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[7740]|0;if(k>>>0<g>>>0)Na();j=k+q|0;if(k>>>0>=j>>>0)Na();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Na();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Na();a=f+12|0;if((c[a>>2]|0)!=(k|0))Na();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Na()}while(0);do if(h|0){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[7737]=c[7737]&~(1<<a);break}}else{if(h>>>0<(c[7740]|0)>>>0)Na();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[7740]|0;if(o>>>0<b>>>0)Na();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[7738]|0;if(a|0){f=c[7741]|0;b=a>>>3;e=30984+(b<<1<<2)|0;a=c[7736]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{r=a;s=b}}else{c[7736]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[7738]=d;c[7741]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[7737]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[31248+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[31248+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[7738]|0)-q|0)>>>0:0){f=c[7740]|0;if(k>>>0<f>>>0)Na();h=k+q|0;if(k>>>0>=h>>>0)Na();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Na();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Na();a=e+12|0;if((c[a>>2]|0)!=(k|0))Na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Na()}while(0);do if(g|0){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[7737]=c[7737]&~(1<<a);break}}else{if(g>>>0<(c[7740]|0)>>>0)Na();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[7740]|0;if(u>>>0<b>>>0)Na();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{w=a;x=b}}else{c[7736]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=31248+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Na()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[7738]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[7741]|0;if(a>>>0>15){N=b+q|0;c[7741]=N;c[7738]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[7738]=0;c[7741]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[7739]|0;if(a>>>0>q>>>0){L=a-q|0;c[7739]=L;N=c[7742]|0;M=N+q|0;c[7742]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[7854]|0)){c[7856]=4096;c[7855]=4096;c[7857]=-1;c[7858]=-1;c[7859]=0;c[7847]=0;x=p&-16^1431655768;c[p>>2]=x;c[7854]=x}h=q+48|0;g=c[7856]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[7846]|0;if(a|0?(w=c[7844]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[7847]&4)){a=c[7742]|0;c:do if(a){d=31392;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[7739]|0)&g;if(a>>>0<2147483647){b=Ga(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ga(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[7855]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[7844]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[7846]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ga(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[7856]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ga(y|0)|0)==(-1|0)){Ga(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[7847]=c[7847]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ga(k|0)|0,A=Ga(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[7844]|0)+f|0;c[7844]=a;if(a>>>0>(c[7845]|0)>>>0)c[7845]=a;j=c[7742]|0;do if(j){e=31392;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[7739]|0)|0;c[7742]=M;c[7739]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[7743]=c[7858];break}a=c[7740]|0;if(h>>>0<a>>>0){c[7740]=h;k=h}else k=a;d=h+f|0;a=31392;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=31392;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[7741]|0)){N=(c[7738]|0)+g|0;c[7738]=N;c[7741]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Na();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Na();b=f+12|0;if((c[b>>2]|0)!=(a|0))Na();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Na()}while(0);if(!h)break;b=c[a+28>>2]|0;d=31248+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[7740]|0)>>>0)Na();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[7737]=c[7737]&~(1<<b);break e}while(0);e=c[7740]|0;if(L>>>0<e>>>0)Na();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Na();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[7740]|0)>>>0)Na();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=30984+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Na();if((c[d+12>>2]|0)==(a|0))break;Na()}while(0);if((e|0)==(d|0)){c[7736]=c[7736]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Na();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Na()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;do if(!(b&a)){c[7736]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[7740]|0)>>>0){M=a;N=b;break}Na()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=31248+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Na()}}else{N=(c[7739]|0)+g|0;c[7739]=N;c[7742]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=31392;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[7742]=N;c[7739]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[7743]=c[7858];e=d+4|0;c[e>>2]=27;c[a>>2]=c[7848];c[a+4>>2]=c[7849];c[a+8>>2]=c[7850];c[a+12>>2]=c[7851];c[7848]=h;c[7849]=f;c[7851]=0;c[7850]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{J=a;K=b}}else{c[7736]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=31248+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[7737]|0;b=1<<d;if(!(a&b)){c[7737]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[7740]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Na()}}}else{N=c[7740]|0;if((N|0)==0|h>>>0<N>>>0)c[7740]=h;c[7848]=h;c[7849]=f;c[7851]=0;c[7745]=c[7854];c[7744]=-1;a=0;do{N=30984+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[7742]=M;c[7739]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[7743]=c[7858]}while(0);a=c[7739]|0;if(a>>>0>q>>>0){L=a-q|0;c[7739]=L;N=c[7742]|0;M=N+q|0;c[7742]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(zi()|0)>>2]=12;N=0;i=O;return N|0}function ub(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[382];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=fc(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=jc(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=jc(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=jc(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,re(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=jc(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=jc(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,re(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=jc(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=jc(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;Ad(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,re(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=jc(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,Ad(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,re(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=jc(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[382];e=-5;return e|0}}else{j=c[N>>2]|0;Ad(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;re(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[382];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?($b(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Cb(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,re(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Cb(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,re(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Cb(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,re(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){$b(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[27652+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[27140]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Cb(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,re(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Cb(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,re(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Cb(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,re(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=mb[c[772+((c[O+132>>2]|0)*12|0)+8>>2]&15](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{Ec(O);break}case 5:break;default:{xc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,Te(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;Ad(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;re(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;Ad(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,re(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[379];e=-2;return e|0}function vb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0}while((Qj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=jd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[30735+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=jd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[30744+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=jd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=jd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(zi()|0)>>2]=22;rg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=jd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=jd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;k=pi(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=pi(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=jd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else rg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=pi(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=rc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){rg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ph(o|0,n|0,2)|0;H=pi(H|0,C|0,-32,-1)|0;e=pi(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=pi(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=$h(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=pi(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+bk(+Sd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(zi()|0)>>2]=34;g=+ck(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=jd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=pi(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=pi(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=jd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=rc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){rg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=pi(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(zi()|0)>>2]=22;rg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(zi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[10400+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[10400+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[10400+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ph(c[p>>2]|0,0,29)|0;o=pi(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Zi(o|0,n|0,1e9,0)|0;o=Sg(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+bk(+Sd(1.0,105-o|0),j);m=+mk(j,+Sd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+mk(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(zi()|0)>>2]=34}while(0);g=+ck(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(zi()|0)>>2]=22;rg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function wb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(zi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)cd(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[28043+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}nc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Th(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=28523;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=28523;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=$h(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=28523;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?28523:28525;L=76}else{p=1;r=28524;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=28523;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=28523;o=N;break}case 109:{o=se(c[(zi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:30425;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Dd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?30433:30438}else{G=1;H=30435}else{q=-q;G=1;H=30432}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+dk(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ke(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[28507+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Dd(e,32,K,r,I);if(!(c[e>>2]&32))cd(y,w,e)|0;Dd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))cd(ea,o,e)|0;f=ba-p|0;Dd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))cd(t,f,e)|0;Dd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ph(c[r>>2]|0,0,t|0)|0;B=pi(B|0,C|0,o|0,0)|0;o=C;A=Sg(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Zi(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ke(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Dd(e,32,K,w,I);if(!(c[e>>2]&32))cd(H,G,e)|0;Dd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ke(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Te(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))cd(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;cd(30463,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ke(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Te(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))cd(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Dd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ke(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))cd(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}cd(30463,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Te(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))cd(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Dd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;cd(u,ba-u|0,e)|0}while(0);Dd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Dd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){cd(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))cd(s?(t?30744:30459):t?30451:30455,3,e)|0;Dd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=28523;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[28507+(o&15)>>0]|r;o=Th(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=28523;L=77}else{o=t;t=2;r=28523+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=28523;L=77}}else if((L|0)==76){f=ke(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Rc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=28523;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Si(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Dd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Si(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))cd(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Dd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Dd(e,32,o,s,p);if(!(c[e>>2]&32))cd(v,w,e)|0;Dd(e,48,o,s,p^65536);Dd(e,48,r,t,0);if(!(c[e>>2]&32))cd(f,t,e)|0;Dd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;nc(j+(m<<3)|0,n,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=ia;return m|0}function xb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Lk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Qj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{rg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=jd(e)|0}while((Qj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}rg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((jd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Te(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Te(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=tb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=jd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Dc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=pe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!($i(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=tb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=pe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=jd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+vb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Hb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;rg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=jd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Qj(d[m>>0]|0)|0))break;else n=m}rg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=jd(e)|0}while((Qj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Bb(l);Bb(f)}}else k=0;while(0);if(O|0)Kk(e);i=P;return k|0}function yb(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+272|0;Y=_+248|0;X=_+240|0;W=_+232|0;V=_+224|0;U=_+208|0;T=_+192|0;N=_+184|0;M=_+176|0;L=_+168|0;K=_+160|0;J=_+152|0;I=_+144|0;H=_+136|0;E=_+128|0;D=_+120|0;C=_+112|0;B=_+104|0;A=_+96|0;z=_+72|0;w=_+64|0;v=_+56|0;u=_+48|0;t=_+40|0;r=_+32|0;p=_+24|0;o=_+16|0;n=_;S=_+268|0;R=_+264|0;O=_+260|0;l=c[b>>2]|0;m=h+4|0;c[m>>2]=l;if((Wd(l)|0)>>>0>31){c[n>>2]=l;c[n+4>>2]=31;Lh(g,25509,n);l=c[m>>2]|0}if(!(a[l>>0]|0))Lh(g,25564,_+8|0);F=h+8|0;de(g,b,1,F,0,4,25595,0);G=h+12|0;de(g,b,2,G,0,4,25595,0);l=c[G>>2]|0;m=c[F>>2]|0;if(l>>>0<m>>>0){c[o>>2]=m;c[o+4>>2]=l;Lh(g,25603,o)}do if((e|0)>3){l=c[b+12>>2]|0;o=h+16|0;c[o>>2]=l;if((Wd(l)|0)>>>0>255){c[p>>2]=l;Lh(g,25639,p)}p=(k|0)==0;if(!p)c[o>>2]=ti(c[o>>2]|0)|0;if((e|0)>4){l=h+20|0;de(g,b,4,l,1,4,25595,0);if(p?(q=c[l>>2]|0,q>>>0>1e3):0){c[r>>2]=q;Lh(g,25694,r)}if((e|0)>5){l=b+20|0;if(p?(s=c[l>>2]|0,(Wd(s)|0)>>>0>1):0){c[t>>2]=s;Lh(g,25732,t)}t=a[c[l>>2]>>0]|0;a[h+24>>0]=t;a[h+25>>0]=0;switch(t<<24>>24){case 46:case 45:case 43:break;default:{c[u>>2]=c[l>>2];Lh(g,25732,u)}}if((e|0)>6){n=h+28|0;de(g,b,6,n,0,4,25595,0);if((e|0)>7){m=h+32|0;de(g,b,7,m,0,4,25595,0);l=c[n>>2]|0;if((c[m>>2]|0)>>>0<l>>>0){Lh(g,25776,v);l=c[n>>2]|0}do if(l|0){if(l>>>0>=(c[F>>2]|0)>>>0?l>>>0<=(c[G>>2]|0)>>>0:0)break;Lh(g,25802,w)}while(0);l=c[m>>2]|0;if(l|0?(y=c[F>>2]|0,x=c[G>>2]|0,l>>>0<y>>>0|l>>>0>x>>>0):0){w=c[n>>2]|0;c[z>>2]=c[o>>2];c[z+4>>2]=y;c[z+8>>2]=x;c[z+12>>2]=w;c[z+16>>2]=l;Lh(g,25867,z)}if((e|0)>8){l=c[b+32>>2]|0;if(!(Ji(l,44)|0))de(g,b,8,h+36|0,0,4,25595,0);else{l=ti(l)|0;if((_c(g,b,8,R,4,0,1,25595,0)|0)==3)c[h+36>>2]=d[R+1>>0]<<8|d[R>>0]<<16|d[R+2>>0];else{c[A>>2]=l;Lh(g,25956,A)}$j(l)}if((e|0)>9){r=h+40|0;de(g,b,9,r,0,4,25595,0);l=c[r>>2]|0;if(!l){c[B>>2]=0;Lh(g,26023,B);t=c[r>>2]|0}else t=l;l=i;i=i+((1*(t<<2)|0)+15&-16)|0;n=i;i=i+((1*(t<<2)|0)+15&-16)|0;s=i;i=i+((1*(t<<2)|0)+15&-16)|0;u=i;i=i+((1*(t<<2)|0)+15&-16)|0;if((e|0)<=10)break;if(p){m=_c(g,b,10,l,t,1,4,25595,1)|0;c[S>>2]=m;q=l}else{m=Xi((t<<2)+4|0)|0;q=h+44|0;c[q>>2]=m;m=_c(g,b,10,m,(c[r>>2]|0)+1|0,1,4,25595,1)|0;c[S>>2]=m;q=c[q>>2]|0}l=c[r>>2]|0;if((m|0)!=(l|0)){c[C>>2]=l;c[C+4>>2]=m;Lh(g,26066,C)}if((e|0)<=11)break;if(p){m=_c(g,b,11,n,t,1,4,25595,1)|0;c[S>>2]=m;p=n}else{m=Xi((c[r>>2]<<2)+4|0)|0;p=h+48|0;c[p>>2]=m;m=_c(g,b,11,m,(c[r>>2]|0)+1|0,1,4,25595,1)|0;c[S>>2]=m;p=c[p>>2]|0}l=c[r>>2]|0;if((m|0)!=(l|0)){c[D>>2]=l;c[D+4>>2]=m;Lh(g,26126,D)}l=c[p>>2]|0;if(!l)o=1;else{c[E>>2]=l;Lh(g,26187,E);o=1}while(1){l=c[r>>2]|0;if(o>>>0>=l>>>0)break;n=p+(o<<2)|0;l=c[n>>2]|0;m=c[F>>2]|0;do if((m+l|0)>>>0>=(c[G>>2]|0)>>>0)if(l>>>0<m>>>0){Lh(g,26456,I);break}else{Lh(g,26325,H);break}while(0);l=o+-1|0;if((c[n>>2]|0)<((c[q+(l<<2)>>2]|0)+(c[p+(l<<2)>>2]|0)|0)){c[J>>2]=l;c[J+4>>2]=o;Lh(g,26514,J)}o=o+1|0}J=l+-1|0;if(((c[p+(J<<2)>>2]|0)+(c[F>>2]|0)+(c[q+(J<<2)>>2]|0)|0)!=(c[G>>2]|0))Lh(g,26595,K);if((e|0)<=12)break;o=h+52|0;de(g,b,12,o,1,4,25595,1);l=c[o>>2]|0;if((l|0)<=0){c[L>>2]=l;Lh(g,26714,L)}n=(k|0)!=0;if(n){m=Xi((c[o>>2]<<2)+4|0)|0;c[h+56>>2]=m;m=_c(g,b,13,m,(c[o>>2]|0)+1|0,1,4,25595,1)|0}else m=_c(g,b,13,s,t,1,4,25595,1)|0;c[S>>2]=m;l=c[o>>2]|0;if((m|0)!=(l|0)){c[M>>2]=l;Lh(g,26755,M)}if((e|0)!=15)break;l=c[b+56>>2]|0;if(n){Bd(l,h+60|0,S);m=c[S>>2]|0}else{m=Ef(l,u,t)|0;c[S>>2]=m}l=c[o>>2]|0;if((m|0)==(l|0))break;c[N>>2]=l;Lh(g,26807,N)}}}else Z=34}else Z=23}else Z=23}else Z=23}else Z=23;while(0);if((Z|0)==23){c[h+28>>2]=c[F>>2];Z=34}if((Z|0)==34)c[h+32>>2]=c[G>>2];if(j|0){c[R>>2]=0;n=j+12|0;l=n;o=0;while(1){l=c[l>>2]|0;if((o|0)>=(f|0))break;m=c[c[l+12>>2]>>2]|0;if((((a[l+37>>0]|0)==0?(a[l+38>>0]|0)==0:0)?ek(m)|0:0)?a[l+36>>0]|0:0){c[O>>2]=0;de(g,b,o,O,1,4,25595,1);m=c[R>>2]|0;if(!m){m=ye(4,1)|0;c[R>>2]=m}tj(m,c[l+4>>2]|0,c[O>>2]|0)|0}o=o+1|0}p=fh(c[n>>2]|0,e)|0;o=e;while(1){if((o|0)>=(f|0))break;l=c[c[p+12>>2]>>2]|0;do if(!(a[p+37>>0]|0)){if(!(a[p+38>>0]|0)){if(ek(l)|0){O=(yi(l)|0)==0&1;e=Rf(l)|0;de(g,b,o,0,O,e,Af(l)|0,0);break}if(nk(l)|0){+Ie(g,b,o);break}if((l|0)==10?(P=c[b+(o<<2)>>2]|0,Q=Wd(P)|0,Q>>>0>255):0){e=c[p+4>>2]|0;O=T;c[O>>2]=Q;c[O+4>>2]=0;c[T+8>>2]=P;c[T+12>>2]=e;Lh(g,26862,T)}}}else if(ek(l)|0){e=(yi(l)|0)==0&1;m=Rf(l)|0;l=_c(g,b,o,0,10240,e,m,Af(l)|0,0)|0;c[S>>2]=l;m=c[p+24>>2]|0;if((m|0)>0){if((m|0)==(l|0))break;e=c[p+4>>2]|0;c[U>>2]=m;c[U+4>>2]=e;c[U+8>>2]=l;Lh(g,26931,U);break}l=c[R>>2]|0;m=p+28|0;if(!l){l=c[p+4>>2]|0;c[V>>2]=c[m>>2];c[V+4>>2]=l;Lh(g,26974,V);l=c[R>>2]|0}n=fi(l,c[m>>2]|0,-1)|0;if((n|0)!=-1){if((n|0)<=0){l=p+4|0;Z=115}}else{l=p+4|0;Z=c[l>>2]|0;c[W>>2]=c[m>>2];c[W+4>>2]=Z;Lh(g,26974,W);Z=115}if((Z|0)==115){Z=0;e=c[l>>2]|0;c[X>>2]=n;c[X+4>>2]=e;Lh(g,27051,X)}l=c[S>>2]|0;if((n|0)!=(l|0)){e=c[p+4>>2]|0;c[Y>>2]=n;c[Y+4>>2]=e;c[Y+8>>2]=l;Lh(g,26931,Y)}}while(0);p=c[p>>2]|0;o=o+1|0}_d(R)}i=_;return}function zb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function Ab(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=pi(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(23952==0?(wf(c[a+8>>2]|0,23966)|0)!=0:0){ba=a+32|0;T=ba;T=ob[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=pi(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=pi(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=pi(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=pi(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=$h(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=pi(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=$h((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=$h(k|0,j|0,f|0,d|0)|0;re(b|0,B+f|0,o|0)|0;e=pi(o|0,E|0,e|0,n|0)|0;f=C;d=$h(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=pi(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;ah(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=le(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=pi(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=$h(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(23952){y=pi(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=pi(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Zi(k|0,j|0,w|0,0)|0;t=pi(A|0,B|0,-1,-1)|0;t=pi(t|0,C|0,w|0,0)|0;w=Zi(t|0,C|0,w|0,0)|0;t=m+52|0;_f(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((zj(u,d,s)|0)<(s|0))f=0;else{$j(u);j=B;k=A;continue}while(1){o=zj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Ij(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=bh(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=bh(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=pi(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=$h(f|0,j|0,p|0,q|0)|0;k=C;f=oe(j)|0;c[W>>2]=f;m=ob[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}ah(Z,c[K>>2]|0,p,0)|0;uf(Z,c[K>>2]|0,f,j);Ui(W)}ce(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;ah(P,c[t>>2]|0,da+64|0,0)|0;uf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}$j(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);ah(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}xf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ei(23978,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Xh(4,24034,$);Xh(4,24080,aa);S=0;T=0;break}else if((n|0)==36){xf(Z,j,f,h);S=ba;S=pi(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=pi(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Bb(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;if(!a)return;d=a+-8|0;h=c[7740]|0;if(d>>>0<h>>>0)Na();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Na();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Na();if((k|0)==(c[7741]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[7738]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=30984+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Na();if((c[b+12>>2]|0)!=(k|0))Na()}if((d|0)==(b|0)){c[7736]=c[7736]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Na();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Na()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Na();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Na();a=e+12|0;if((c[a>>2]|0)!=(k|0))Na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Na()}while(0);if(f){a=c[k+28>>2]|0;b=31248+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[7737]=c[7737]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[7740]|0;if(i>>>0<d>>>0)Na();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Na();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Na();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Na();if(!(b&2)){if((m|0)==(c[7742]|0)){p=(c[7739]|0)+g|0;c[7739]=p;c[7742]=q;c[q+4>>2]=p|1;if((q|0)!=(c[7741]|0))return;c[7741]=0;c[7738]=0;return}if((m|0)==(c[7741]|0)){p=(c[7738]|0)+g|0;c[7738]=p;c[7741]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();d=b+12|0;if((c[d>>2]|0)!=(m|0))Na();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Na()}while(0);if(f|0){a=c[m+28>>2]|0;b=31248+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[7737]=c[7737]&~(1<<a);break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[7740]|0;if(n>>>0<d>>>0)Na();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Na();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[7740]|0)>>>0)Na();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=30984+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[7740]|0)>>>0)Na();if((c[b+12>>2]|0)!=(m|0))Na()}if((d|0)==(b|0)){c[7736]=c[7736]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[7740]|0)>>>0)Na();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Na()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[7741]|0)){c[7738]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=30984+(a<<1<<2)|0;b=c[7736]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[7740]|0)>>>0)Na();else{o=a;p=b}}else{c[7736]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=31248+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[7737]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[7740]|0)>>>0)Na();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[7740]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Na()}}else{c[7737]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[7744]|0)+-1|0;c[7744]=q;if(!q)a=31400;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[7744]=-1;return}function Cb(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}zb(f,f+2840|0);zb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}zb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)xc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Tb(f,10432,11584);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[27908+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Kb(f,g,q);h=f+2440|0;Kb(f,h,r);Tb(f,g,h)}while(0);Gc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Db(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[7740]|0;if(l>>>0<i>>>0)Na();if((l|0)==(c[7741]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[7738]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=30984+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Na();if((c[a+12>>2]|0)!=(l|0))Na()}if((b|0)==(a|0)){c[7736]=c[7736]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Na();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Na()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Na();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Na();d=e+12|0;if((c[d>>2]|0)!=(l|0))Na();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Na()}while(0);if(f){d=c[l+28>>2]|0;a=31248+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[7737]=c[7737]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[7740]|0;if(j>>>0<b>>>0)Na();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[7740]|0;if(o>>>0<h>>>0)Na();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[7742]|0)){q=(c[7739]|0)+g|0;c[7739]=q;c[7742]=r;c[r+4>>2]=q|1;if((r|0)!=(c[7741]|0))return;c[7741]=0;c[7738]=0;return}if((o|0)==(c[7741]|0)){q=(c[7738]|0)+g|0;c[7738]=q;c[7741]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Na();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Na();d=e+12|0;if((c[d>>2]|0)!=(o|0))Na();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Na()}while(0);if(f|0){d=c[o+28>>2]|0;a=31248+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[7737]=c[7737]&~(1<<d);break}}else{if(f>>>0<(c[7740]|0)>>>0)Na();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[7740]|0;if(n>>>0<b>>>0)Na();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Na();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=30984+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Na();if((c[a+12>>2]|0)!=(o|0))Na()}if((b|0)==(a|0)){c[7736]=c[7736]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Na();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Na()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[7741]|0)){c[7738]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=30984+(d<<1<<2)|0;a=c[7736]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[7740]|0)>>>0)Na();else{p=d;q=a}}else{c[7736]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=31248+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[7737]|0;a=1<<b;if(!(d&a)){c[7737]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[7740]|0)>>>0)Na();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[7740]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Na();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Eb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){$b(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=mc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,re(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[27652+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[27140+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,re(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,re(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,re(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Fb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Ji(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Xe(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Rc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Gb(a,d,f,g,j,k,l,m,n){a=a|0;d=d|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0;ba=i;i=i+512|0;$=ba+360|0;I=ba+352|0;v=ba+312|0;H=ba+296|0;S=ba+256|0;aa=ba+240|0;J=ba+232|0;p=ba+224|0;T=ba+476|0;Y=ba+480|0;D=ba+498|0;V=ba+496|0;U=ba+472|0;r=ba+216|0;y=ba+208|0;G=ba+468|0;_=ba+464|0;R=ba+200|0;O=ba+192|0;P=ba+494|0;Q=ba+184|0;z=ba+176|0;t=ba+424|0;u=ba+384|0;A=ba+168|0;E=ba+376|0;s=ba+372|0;w=ba+88|0;x=ba+8|0;Z=ba+368|0;K=ba+492|0;F=ba+490|0;M=ba+364|0;N=ba;B=ba+488|0;X=ba+486|0;W=ba+484|0;c[T>>2]=k;rk();o=$f(a,1)|0;c[Y>>2]=o;b[D>>1]=vi(c[k+12>>2]|0)|0;b[V>>1]=vi(m)|0;q=(m|0)!=0;if(q)L=Yc(m,k)|0;else L=0;m=We(d)|0;c[U>>2]=m;c[p>>2]=c[m+24>>2];c[p+4>>2]=d;Xh(2,13683,p);c[p>>2]=0;h[r>>3]=0.0;k=y;c[k>>2]=0;c[k+4>>2]=0;c[G>>2]=0;m=bc(o,m,L,p,r,y,c[7693]|0)|0;c[_>>2]=m;c[J>>2]=vi(m)|0;ff(1,13722,J);m=vi(m)|0;ca=+h[r>>3];c[aa>>2]=m;c[aa+4>>2]=a;h[aa+8>>3]=ca;Xh(2,13759,aa);m=md(n,13801)|0;c[aa>>2]=m;_j(m);Zj(c[aa>>2]|0);m=xk(c[aa>>2]|0)|0;k=J;c[k>>2]=m;c[k+4>>2]=((m|0)<0)<<31>>31;k=c[aa>>2]|0;dg(k,j,(Wd(j)|0)+1|0);c[S>>2]=e[D>>1];Xh(2,13804,S);k=S;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));p=xk(c[aa>>2]|0)|0;n=R;c[n>>2]=p;c[n+4>>2]=((p|0)<0)<<31>>31;Nh(c[aa>>2]|0,S);n=xk(c[aa>>2]|0)|0;p=O;c[p>>2]=n;c[p+4>>2]=((n|0)<0)<<31>>31;b[P>>1]=64;ei(c[aa>>2]|0,0,64);p=Q;c[p>>2]=0;c[p+4>>2]=0;if(q){n=xk(c[aa>>2]|0)|0;p=Q;c[p>>2]=n;c[p+4>>2]=((n|0)<0)<<31>>31;ei(c[aa>>2]|0,0,(e[V>>1]|0)*20|0);p=xk(c[aa>>2]|0)|0;n=p;p=((p|0)<0)<<31>>31}else{n=0;p=0}q=xk(c[aa>>2]|0)|0;a=z;c[a>>2]=q;c[a+4>>2]=((q|0)<0)<<31>>31;Gd(c[_>>2]|0,f,c[aa>>2]|0);a=Je(~~+h[r>>3],t,u)|0;q=xk(c[aa>>2]|0)|0;r=A;c[r>>2]=q;c[r+4>>2]=((q|0)<0)<<31>>31;c[E>>2]=0;c[s>>2]=0;dg(c[aa>>2]|0,y,8);r=y;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){d=s;m=0;o=0;k=0;j=0}else{k=Le(c[_>>2]|0,g)|0;c[s>>2]=Xi(k*24|0)|0;Kj(c[Y>>2]|0);if(L|0)hg(L,c[y>>2]|0);Ob(c[_>>2]|0,c[Y>>2]|0,c[T>>2]|0,g,c[s>>2]|0,k,l,c[aa>>2]|0,a,t,u,L,b[D>>1]|0,E);o=y;d=s;m=c[o>>2]|0;o=c[o+4>>2]|0;j=0}r=e[D>>1]|0;q=H;c[q>>2]=m;c[q+4>>2]=o;c[H+8>>2]=r;ff(1,13834,H);m=xk(c[aa>>2]|0)|0;o=((m|0)<0)<<31>>31;r=H;c[r>>2]=m;c[r+4>>2]=o;Lb(c[d>>2]|0,24,k,j,f,1,0,1,4,m,o,c[aa>>2]|0);Ui(s);ff(2,13902,v);s=y;if(!((c[s>>2]|0)==0&(c[s+4>>2]|0)==0)){d=c[Y>>2]|0;q=c[aa>>2]|0;r=e[D>>1]|0;s=A;s=$h(m|0,o|0,c[s>>2]|0,c[s+4>>2]|0)|0;vc(d,q,f,g,1,r,l,s,C,c[_>>2]|0,a,t,u,v,w,x,S)|0}a:do if(L|0){k=L+16|0;m=L+8|0;o=L+12|0;j=0;while(1){if((j|0)>=(e[L>>1]|0))break a;w=xk(c[aa>>2]|0)|0;x=(c[k>>2]|0)+(j<<3)|0;c[x>>2]=w;c[x+4>>2]=((w|0)<0)<<31>>31;c[7692]=c[(c[m>>2]|0)+(j<<2)>>2];Zb(c[(c[o>>2]|0)+(j<<2)>>2]|0,c[y>>2]|0,24,5);x=y;Bc(c[(c[o>>2]|0)+(j<<2)>>2]|0,24,c[x>>2]|0,c[x+4>>2]|0,f,1,c[7692]|0,2,16,c[aa>>2]|0);c[I>>2]=j;ff(1,13914,I);j=j+1|0}}while(0);if(l|0){I=g<<5;E=c[E>>2]|0;c[G>>2]=E>>>0>I>>>0?E:I}zg(c[aa>>2]|0);c[Z>>2]=-2021002517;b[K>>1]=4;b[F>>1]=0;c[M>>2]=0;I=N;c[I>>2]=0;c[I+4>>2]=0;b[B>>1]=c[7688];dg(c[aa>>2]|0,Z,4);dg(c[aa>>2]|0,K,2);dg(c[aa>>2]|0,F,2);dg(c[aa>>2]|0,z,8);dg(c[aa>>2]|0,A,8);dg(c[aa>>2]|0,H,8);dg(c[aa>>2]|0,D,2);dg(c[aa>>2]|0,B,2);dg(c[aa>>2]|0,J,8);dg(c[aa>>2]|0,R,8);dg(c[aa>>2]|0,G,4);dg(c[aa>>2]|0,O,8);if((xk(c[aa>>2]|0)|0)!=64)Aa(13949,13964,716,13978);c[$>>2]=0;Xh(2,13991,$);m=0;while(1){k=c[aa>>2]|0;if((m|0)==10)break;dg(k,M,4);dg(c[aa>>2]|0,M,4);dg(c[aa>>2]|0,N,8);dg(c[aa>>2]|0,N,8);m=m+1|0}Lj(k,c[R>>2]|0,0)|0;Nh(c[aa>>2]|0,S);Lj(c[aa>>2]|0,c[O>>2]|0,0)|0;dg(c[aa>>2]|0,P,2);dg(c[aa>>2]|0,V,2);dg(c[aa>>2]|0,Q,8);ei(c[aa>>2]|0,0,52);R=xk(c[aa>>2]|0)|0;S=O;S=$h(R|0,((R|0)<0)<<31>>31|0,c[S>>2]|0,c[S+4>>2]|0)|0;if(!((C|0)==0?(S|0)==(e[P>>1]|0):0))Aa(14018,13964,748,13978);if(b[V>>1]|0){Lj(c[aa>>2]|0,c[Q>>2]|0,0)|0;o=L+16|0;k=L+4|0;m=0;while(1){if((m|0)>=(e[V>>1]|0))break;b[$>>1]=0;b[X>>1]=1;dg(c[aa>>2]|0,$,2);dg(c[aa>>2]|0,X,2);dg(c[aa>>2]|0,(c[o>>2]|0)+(m<<3)|0,8);ei(c[aa>>2]|0,0,4);b[W>>1]=b[(c[k>>2]|0)+(m<<1)>>1]|0;dg(c[aa>>2]|0,W,2);ei(c[aa>>2]|0,0,2);m=m+1|0}$=xk(c[aa>>2]|0)|0;if(!(($|0)==(n|0)&((($|0)<0)<<31>>31|0)==(p|0)))Aa(14062,13964,770,13978)}Lj(c[aa>>2]|0,0,2)|0;dg(c[aa>>2]|0,Z,4);Jd(Y);nj(aa);_d(U);pg(_);vg(T);i=ba;return}function Hb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(zi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0}while((Qj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=jd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=jd(b)|0;if((d[30470+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){rg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[30470+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;rg(b,0);c[(zi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=jd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=bh(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=pi(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[30726+((e*23|0)>>>5&7)>>0]|0;j=a[30470+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Th(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ph(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[30470+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Zi(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=bh(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=pi(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0;j=a[30470+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[30470+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=jd(b)|0}while((d[30470+i>>0]|0)>>>0<e>>>0);c[(zi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(zi()|0)>>2]=34;g=pi(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(zi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=$h(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Ib(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){$b(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=mc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[27652+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[27140+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Cb(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,re(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,re(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Cb(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;Ad(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,re(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Jb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ye(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(wf(r,19383)|0)){j=g;h=k;N=4;break}s=Ji(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Qj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Wd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Jj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)lj(Q,o,(m|0)==0?19805:m)|0;else{l=sh(o,f)|0;if(!l){l=sh(o,96)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}cj(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}aj(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Xj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Xj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?19805:m;l=sh(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=qi(Q,o)|0;l=ai(m)|0;if(!n){lj(Q,o,l)|0;break}else{Qh(n,l);break}}lj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ei(19394,z);break}case 34:{c[A>>2]=o;Ei(19420,A);break}case 36:{c[K>>2]=o;Ei(19459,K);break}case 38:{c[L>>2]=o;Ei(19495,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ei(19528,B);break}case 43:{c[C>>2]=o;Ei(19495,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ei(19570,D);break}case 48:{c[E>>2]=o;Ei(19614,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ei(19649,F);break}case 53:{c[G>>2]=o;Ei(19689,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ei(19725,H);break}case 57:{c[I>>2]=c[l>>2];Ei(19766,I);break}case 65:{Ei(19808,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Kb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Lb(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=uh(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=mb[k&15](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=Hf(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=bh(z|0,y|0,b|0,v|0)|0;p=a+p|0;qb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=pi(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=mb[k&15](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=pi(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=bh(q|0,C|0,b|0,v|0)|0;qb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=pi(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}$g(Q);c[H>>2]=vi(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Xh(2,18707,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}Hf(I,48)|0;y=Ii(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}$g(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;$g(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;dg(n,P,4);dg(n,M,4);dg(n,L,8);dg(n,g+12|0,4);dg(n,g+16|0,4);dg(n,g+20|0,4);dg(n,g+24|0,4);dg(n,O,8);dg(n,N,4);dg(n,K,4);if((g|0)!=(Q|0))qc(g,c[M>>2]|0,o,n);Ci(R);i=S;return}function Mb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Fb(d,16314)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Ve(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Pg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(zi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Ng(16815,f)|0))m=c[F>>2]|0;else{ag(F)|0;f=ag(F)|0;if(!f){O=20;break a}if((((Ng(17418,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(wf(f,17421)|0)if(wf(f,17425)|0){if(I?(g=wf(f,17429)|0,!((H|g|0)==0&G)):0)if(!(wf(f,17433)|0)){f=o;break}else{O=30;break a}if(!(wf(f,17520)|0)){O=34;break a}if(!(wf(f,17429)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Ji(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Uh(f+1|0)|0}if(!(Cf(m,17572)|0)){if(o|0)c[e>>2]=ti(f)|0;if(k)h=ti(f)|0}}while(!(I&(Cf(m,17581)|0)==0));if((Ng(17595,f)|0)!=0?(q=(Ji(f,32)|0)+1|0,r=Ji(q,45)|0,(r|0)!=0):0){l=r+1|0;m=rd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=rd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=se(f)|0;c[z+4>>2]=d;ji(17229,z);f=0;break}case 10:{c[v>>2]=d;ji(17266,v);f=0;break}case 11:{c[x>>2]=d;ji(17322,x);f=0;break}case 15:{c[y>>2]=2e3;ji(17354,y);f=0;break}case 20:{c[u>>2]=d;ji(17392,u);f=0;break}case 30:{if(!g)ji(17437,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ji(17480,E);f=0;break}case 34:{c[w>>2]=d;ji(17524,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ji(17549,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;oh(N,256,21498,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ji(17602,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?31568:17696;c[K+8>>2]=f?17421:17425;c[K+12>>2]=h|0?h:17712;ji(17722,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;oh(N,256,21498,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ji(17763,M);f=0}break}}i=P;return f|0}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;x=A+64|0;q=A+56|0;u=A+48|0;t=A+40|0;s=A+32|0;r=A+24|0;v=A+16|0;p=A+8|0;o=A;w=A+84|0;z=A+80|0;g=mh(b)|0;c[z>>2]=g;c[w>>2]=0;h=g+20|0;a:while(1){if(!(cc(g)|0)){b=w;e=47;break}n=le(20)|0;do if(Cf(c[h>>2]|0,21620)|0){if(!(Cf(c[h>>2]|0,21626)|0)){a[n+17>>0]=1;break}if(Cf(c[h>>2]|0,21606)|0){c[o>>2]=c[h>>2];Qf(g,21907,o)}}else a[n+16>>0]=1;while(0);xh(g)|0;j=n+4|0;c[j>>2]=ti(c[h>>2]|0)|0;xh(g)|0;c[n+8>>2]=ti(c[h>>2]|0)|0;xh(g)|0;Tf(g,21946);k=n+12|0;while(1){if((a[c[h>>2]>>0]|0)==41)break;l=le(48)|0;b=Gg(c[h>>2]|0)|0;if(!b){c[p>>2]=c[h>>2];Qf(g,21948,p)}m=l+12|0;c[m>>2]=b;xh(g)|0;if((c[c[m>>2]>>2]&-2|0)==12){c[l+16>>2]=ti(c[h>>2]|0)|0;xh(g)|0}switch(a[c[h>>2]>>0]|0){case 91:{if((c[c[m>>2]>>2]|0)==13)a[l+38>>0]=1;else a[l+37>>0]=1;xh(g)|0;b=c[h>>2]|0;d=a[b>>0]|0;do if((d+-48|0)>>>0<10){c[l+24>>2]=Td(b)|0;xh(g)|0}else{if(!(ak(d)|0)){Qf(g,21990,r);break}d=ti(c[h>>2]|0)|0;c[l+28>>2]=d;b=nh(n,d)|0;if(!b){e=23;break a}c[l+32>>2]=b;a[b+36>>0]=1;xh(g)|0}while(0);Tf(g,21701);break}case 40:{xh(g)|0;e=l+40|0;while(1){b=c[h>>2]|0;if((a[b>>0]|0)==41)break;d=ai(b)|0;c[d>>2]=c[e>>2];c[e>>2]=d;xh(g)|0;d=c[h>>2]|0;b=a[d>>0]|0;switch(b<<24>>24){case 41:case 44:break;default:{c[s>>2]=d;Qf(g,22036,s);b=a[c[h>>2]>>0]|0}}if(b<<24>>24==41)continue;xh(g)|0}Tf(g,21640);$g(e);break}default:{}}b=ti(c[h>>2]|0)|0;d=l+4|0;c[d>>2]=b;f=nh(n,b)|0;if(f|0){e=35;break a}xh(g)|0;c[l+44>>2]=De(g,0)|0;if(!(wf(c[h>>2]|0,22102)|0)){a[l+39>>0]=1;if(((c[c[m>>2]>>2]|0)+-3|0)>>>0>=7){e=38;break a}xh(g)|0}Tf(g,22155);c[l+8>>2]=ti(c[h>>2]|0)|0;xh(g)|0;if((c[c[m>>2]>>2]|0)==2?c[l+24>>2]|0:0)a[l+37>>0]=0;c[l>>2]=c[k>>2];c[k>>2]=l}$g(k);if(zh(c[w>>2]|0,c[j>>2]|0)|0){c[q>>2]=c[j>>2];Qf(g,22157,q)}Qh(w,n)}if((e|0)==23){c[v>>2]=d;Ei(21966,v)}else if((e|0)==35){c[t>>2]=c[f+4>>2];c[t+4>>2]=b;Ei(22065,t)}else if((e|0)==38){c[u>>2]=c[d>>2];Ei(22107,u)}else if((e|0)==47){b:while(1){h=c[b>>2]|0;b=c[w>>2]|0;if(!h){e=58;break}f=h+17|0;j=h+4|0;d=h+12|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;e=c[g>>2]|0;if(e|0){v=zh(b,e)|0;e=d+20|0;c[e>>2]=v;if(!v){e=52;break b}if(a[f>>0]|0?(a[(c[e>>2]|0)+17>>0]|0)==0:0){e=55;break b}}}b=h;e=47}if((e|0)==52){c[x>>2]=c[g>>2];Ei(22184,x)}else if((e|0)==55){A=c[d+4>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=A;Ei(22208,y)}else if((e|0)==58){ni(z);i=A;return b|0}}return 0}function Ob(b,d,e,f,g,h,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,_=0,$=0,aa=0;aa=i;i=i+32|0;Y=aa+16|0;W=aa+12|0;Z=aa+8|0;X=aa+4|0;_=aa;R=p&65535;S=R+1|0;T=i;i=i+((1*(S<<2)|0)+15&-16)|0;c[W>>2]=0;U=gi(0)|0;V=i;i=i+((1*(l<<2)|0)+15&-16)|0;r=0;while(1){if((r|0)>=(l|0))break;c[V+(r<<2)>>2]=0;r=r+1|0}Q=R+-1|0;c[Z>>2]=0;c[X>>2]=0;c[_>>2]=le(64)|0;P=U+12|0;M=(j|0)==0;N=U+4|0;O=(o|0)==0;K=(p&65535)>3;L=T+(Q<<2)|0;z=0;A=0;v=0;t=0;y=0;u=0;r=0;s=0;B=0;j=0;x=0;D=0;E=b;a:while(1){if(Fg(d,Y)|0){p=c[Y>>2]|0;if(!(c[7693]|0))p=Od(p,T,S)|0;else p=Nd(p,9,T,S)|0;Of(d,R,p);yb(T,c[7688]|0,R,d,c[_>>2]|0,e,0);J=c[_>>2]|0;b=c[J+4>>2]|0;c[Z>>2]=c[J+8>>2];c[X>>2]=c[J+12>>2];J=wf(b,c[E+4>>2]|0)|0;p=(J|0)==0;s=p&1;if((u|0)<(f|0)&(J|v|0)==0){J=v;H=b;I=u;G=s;F=x}else{u=(v|0)==0;t=b;w=s;$=12}}else{p=(s|0)!=0;u=0;v=1;w=s;$=12}if(($|0)==12){$=0;b=c[P>>2]|0;r=(b|0)>(r|0)?b:r;if(M)dg(k,c[N>>2]|0,b);else{b=Vj(b)|0;if((c[7695]|0)>>>0<b>>>0){Ui(30784);c[7695]=b;s=oe(b)|0;c[7696]=s}else s=c[7696]|0;J=jf(c[N>>2]|0,c[P>>2]|0,s,b)|0;dg(k,c[7696]|0,J)}c[P>>2]=0;a[c[N>>2]>>0]=0;if(O)b=x;else{b=xk(k)|0;b=$h(b|0,((b|0)<0)<<31>>31|0,z|0,A|0)|0;Yd(o,z,A,b,C,x,B);b=B}J=g+(j*24|0)|0;c[J>>2]=z;c[J+4>>2]=A;c[g+(j*24|0)+8>>2]=c[W>>2];c[g+(j*24|0)+12>>2]=D;c[g+(j*24|0)+16>>2]=y;j=j+1|0;if(u){J=v;H=t;I=0;G=w;F=b}else{$=46;break}}b:do if(p)p=E;else{p=c[E>>2]|0;if(!p){$=23;break a}if(!(wf(H,c[p+4>>2]|0)|0))b=0;else{$=25;break a}while(1){if((b|0)>=(l|0))break b;c[V+(b<<2)>>2]=0;b=b+1|0}}while(0);c[W>>2]=c[p+12>>2];if(!I){A=xk(k)|0;b=c[X>>2]|0;z=A;A=((A|0)<0)<<31>>31;s=b;D=c[Z>>2]|0}else{s=c[X>>2]|0;b=y}y=b>>>0<s>>>0?s:b;if(!O){of(o,T,B);B=B+1|0}qf(U,W,4);qf(U,Z,4);qf(U,X,4);if(K){b=3;while(1){if((b|0)==(Q|0))break;xj(U,c[T+(b<<2)>>2]|0);Wf(U,9)|0;b=b+1|0}xj(U,c[L>>2]|0)}Wf(U,0)|0;v=c[Z>>2]|0;w=c[X>>2]|0;x=0;while(1){if((x|0)>=(l|0))break;u=V+(x<<2)|0;b=c[u>>2]|0;t=n+(x<<2)|0;if(v>>>0<b>>>0)s=m+(x<<2)|0;else{c[t>>2]=(c[t>>2]|0)+1;s=m+(x<<2)|0;b=(c[s>>2]|0)+v|0;c[u>>2]=b}while(1){if(w>>>0<=b>>>0)break;c[t>>2]=(c[t>>2]|0)+1;E=(c[s>>2]|0)+b|0;c[u>>2]=E;b=E}x=x+1|0}v=J;t=H;u=I+1|0;s=G;x=F;E=p}if(($|0)==23)Aa(14428,13964,258,14442);else if(($|0)==25)Aa(14454,13964,259,14442);else if(($|0)==46)if((j|0)==(h|0)){Ui(_);c[q>>2]=r;i=aa;return}else Aa(14485,13964,324,14442)}function Pb(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,D=0.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.0;da=i;i=i+96|0;Y=da+48|0;$=da+76|0;ca=da+80|0;aa=da+72|0;ba=da+68|0;X=da+64|0;V=da;W=da+60|0;c[$>>2]=f;c[ca>>2]=0;T=_(j,e)|0;U=Xi(f*24|0)|0;c[aa>>2]=U;c[ba>>2]=U;U=U+(f*24|0)|0;I=xk(o)|0;H=p;c[H>>2]=I;c[H+4>>2]=((I|0)<0)<<31>>31;dg(o,$,4);c[X>>2]=gh(l,o,m)|0;H=r+8|0;I=r+16|0;J=r+24|0;K=r+32|0;L=V+4|0;M=V+8|0;N=V+12|0;O=V+24|0;P=V+20|0;Q=V+32|0;R=V+28|0;S=V+16|0;j=1;a:while(1){if(!a)break;E=$d(d,c[a+4>>2]|0)|0;c[W>>2]=E;F=a+12|0;G=a+16|0;E=jj(E)|0;b=0;while(1){if(!E)break;D=+(Ik(c[E+12>>2]|0)|0);m=c[E+4>>2]|0;B=c[E+8>>2]|0;p=B-m|0;if(!j){y=r;y=pi(c[y>>2]|0,c[y+4>>2]|0,p|0,0)|0;z=r;c[z>>2]=y;c[z+4>>2]=C;if(D<+h[H>>3])h[H>>3]=D;if(D>+h[I>>3])h[I>>3]=D;s=+(p>>>0);h[J>>3]=D*s+ +h[J>>3];s=D*D*s+ +h[K>>3]}else{z=r;c[z>>2]=p;c[z+4>>2]=0;h[I>>3]=D;h[H>>3]=D;s=+(p>>>0);h[J>>3]=D*s;s=D*D*s}h[K>>3]=s;do if(b){j=c[b+12>>2]|0;if(j>>>0>m>>>0){A=D;break}else{Hc(b,ca,T,ba,U,n,c[X>>2]|0);Z=16;break}}else Z=16;while(0);if((Z|0)==16){Z=0;c[L>>2]=c[F>>2];c[M>>2]=m;j=m+e|0;c[N>>2]=j;b=c[G>>2]|0;j=j>>>0>b>>>0?b:j;c[N>>2]=j;A=D;g[O>>2]=A;g[P>>2]=A;g[Q>>2]=0.0;g[R>>2]=0.0;c[S>>2]=0;b=V}t=b+12|0;u=b+8|0;v=b+16|0;w=b+20|0;x=b+24|0;y=b+28|0;s=D*D;z=b+32|0;while(1){if(B>>>0<=j>>>0){j=p;break}f=ri(m,B,c[u>>2]|0,j)|0;if((f|0)<=0){Z=20;break a}j=c[t>>2]|0;c[Y>>2]=B-m;c[Y+4>>2]=j;c[Y+8>>2]=f;Xh(3,14561,Y);c[v>>2]=(c[v>>2]|0)+f;if(+g[w>>2]>D)g[w>>2]=A;if(+g[x>>2]<D)g[x>>2]=A;fa=+(f|0);g[y>>2]=D*fa+ +g[y>>2];g[z>>2]=s*fa+ +g[z>>2];Hc(b,ca,T,ba,U,n,c[X>>2]|0);m=c[t>>2]|0;c[u>>2]=m;j=m+e|0;c[t>>2]=j;ea=c[G>>2]|0;j=j>>>0>ea>>>0?ea:j;c[t>>2]=j;g[x>>2]=A;g[w>>2]=A;g[z>>2]=0.0;g[y>>2]=0.0;c[v>>2]=0;p=p-f|0}c[v>>2]=(c[v>>2]|0)+j;if(+g[w>>2]>D)g[w>>2]=A;if(+g[x>>2]<D)g[x>>2]=A;fa=+(j>>>0);g[y>>2]=D*fa+ +g[y>>2];g[z>>2]=s*fa+ +g[z>>2];j=0;E=c[E>>2]|0}if(b|0)Hc(b,ca,T,ba,U,n,c[X>>2]|0);Qi(W);a=c[a>>2]|0}if((Z|0)==20)Aa(14511,13964,434,14523);mi(X);b=xk(o)|0;j=((b|0)<0)<<31>>31;ea=q;c[ea>>2]=b;c[ea+4>>2]=j;if((c[ba>>2]|0)==(U|0)){Lb(c[aa>>2]|0,24,c[$>>2]|0,0,k,l,0,1,4,b,j,o);Ui(aa);$g(ca);i=da;return c[ca>>2]|0}else Aa(14598,13964,472,14523);return 0}function Qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=lb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=pj(h)|0;c[b+16>>2]=e;f=zd(c[f>>2]|0)|0;if(!f){s=0;break}s=Wd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;$j(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}we(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)eg(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Kg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;we(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;xg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Zd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ei(23233,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Zd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Zd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Rb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[7740]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Na();f=c[k+4>>2]|0;if(!(f&1))Na();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[7856]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Db(m,d);return a|0}if((k|0)==(c[7742]|0)){d=(c[7739]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[7742]=l;c[7739]=m;return a|0}if((k|0)==(c[7741]|0)){e=(c[7738]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[7738]=d;c[7741]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Na();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Na();d=g+12|0;if((c[d>>2]|0)!=(k|0))Na();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Na()}while(0);if(h|0){d=c[k+28>>2]|0;e=31248+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[7737]=c[7737]&~(1<<d);break}}else{if(h>>>0<(c[7740]|0)>>>0)Na();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[7740]|0;if(j>>>0<f>>>0)Na();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Na();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[7740]|0)>>>0)Na();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=30984+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Na();if((c[e+12>>2]|0)!=(k|0))Na()}if((f|0)==(e|0)){c[7736]=c[7736]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Na();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Na()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Db(l,m);return a|0}return 0}function Sb(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+240|0;G=H+232|0;F=H+224|0;t=H+208|0;A=H+184|0;z=H+160|0;y=H+136|0;x=H+112|0;w=H+88|0;v=H+64|0;u=H+40|0;q=H+32|0;r=H+16|0;p=H;m=d+12|0;n=f+12|0;C=(j|0)!=0;B=C?1:2;j=b[d+16>>1]|0;l=j&255;d=b[f+16>>1]|0;f=d&255;j=(j&65535)>>>8&255;d=(d&65535)>>>8&255;do if(l<<24>>24==f<<24>>24){if(j<<24>>24!=d<<24>>24){c[r>>2]=a;c[r+4>>2]=j<<24>>24;c[r+8>>2]=e;c[r+12>>2]=d<<24>>24;Xh(B,22306,r);k=0;f=25;break}if(!(l<<24>>24))Ei(22348,q);else{k=0;s=m;o=n}while(1){o=c[o>>2]|0;s=c[s>>2]|0;j=(k|0)<(g|0);if(!(j&((o|0)!=0&(s|0)!=0))){f=23;break}d=s+4|0;j=o+4|0;if(ch(c[d>>2]|0,c[j>>2]|0)|0){f=9;break}d=c[s+36>>2]|0;j=c[o+36>>2]|0;f=(d&65535)>>>8&255;m=(j&65535)>>>8&255;l=d>>>16;n=j>>>16;if((d&255)<<24>>24!=(j&255)<<24>>24){f=11;break}if(f<<24>>24!=m<<24>>24){d=f;j=m;f=13;break}if((l&255)<<24>>24!=(n&255)<<24>>24){d=l;j=n;f=15;break}d=s+12|0;j=o+12|0;if(ch(c[(c[d>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0){f=17;break}d=c[s+24>>2]|0;j=c[o+24>>2]|0;if((d|0)!=(j|0)){f=19;break}d=s+28|0;j=o+28|0;if(ch(c[d>>2]|0,c[j>>2]|0)|0){f=21;break}k=k+1|0}if((f|0)==9){z=c[d>>2]|0;A=c[j>>2]|0;c[u>>2]=k+1;c[u+4>>2]=a;c[u+8>>2]=z;c[u+12>>2]=e;c[u+16>>2]=A;Xh(B,22412,u);f=25;break}else if((f|0)==11){c[v>>2]=k+1;c[v+4>>2]=a;c[v+8>>2]=d<<24>>24;c[v+12>>2]=e;c[v+16>>2]=j<<24>>24;Xh(B,22461,v);f=25;break}else if((f|0)==13){c[w>>2]=k+1;c[w+4>>2]=a;c[w+8>>2]=d<<24>>24;c[w+12>>2]=e;c[w+16>>2]=j<<24>>24;Xh(B,22515,w);f=25;break}else if((f|0)==15){c[x>>2]=k+1;c[x+4>>2]=a;c[x+8>>2]=d<<24>>24;c[x+12>>2]=e;c[x+16>>2]=j<<24>>24;Xh(B,22565,x);f=25;break}else if((f|0)==17){z=c[(c[d>>2]|0)+4>>2]|0;A=c[(c[j>>2]|0)+4>>2]|0;c[y>>2]=k+1;c[y+4>>2]=a;c[y+8>>2]=z;c[y+12>>2]=e;c[y+16>>2]=A;Xh(B,22616,y);f=25;break}else if((f|0)==19){c[z>>2]=k+1;c[z+4>>2]=a;c[z+8>>2]=d;c[z+12>>2]=e;c[z+16>>2]=j;Xh(B,22670,z);f=25;break}else if((f|0)==21){y=c[d>>2]|0;z=c[j>>2]|0;c[A>>2]=k+1;c[A+4>>2]=a;c[A+8>>2]=y;c[A+12>>2]=e;c[A+16>>2]=z;Xh(B,22723,A);f=25;break}else if((f|0)==23){if(!j){D=1;E=k;break}c[t>>2]=g;c[t+4>>2]=a;c[t+8>>2]=e;c[t+12>>2]=k;Ei(22781,t)}}else{c[p>>2]=a;c[p+4>>2]=l<<24>>24;c[p+8>>2]=e;c[p+12>>2]=f<<24>>24;Xh(B,22265,p);k=0;f=25}while(0);do if((f|0)==25)if(C)Ei(22906,F);else{c[G>>2]=k;Xh(B,22924,G);D=0;E=k;break}while(0);if(h|0)c[h>>2]=E;i=H;return D|0}function Tb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[27652+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[912+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[1264+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[27140+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[1048+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[1380+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Ub(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){$b(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,re(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,re(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Cb(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,re(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Cb(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;Ad(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,re(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Vb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Gh(0,24103,b)|0}b=d+112|0;if(c[b>>2]|0)sg(b);b=d+128|0;if(c[b>>2]|0)sg(b);$j(c[d+4>>2]|0);$j(c[d+8>>2]|0);Ui(d+12|0);$j(c[d+40>>2]|0);$j(c[d+44>>2]|0);$j(c[d+48>>2]|0);$j(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)sg(b);Mi(d+80|0)}Ui(a);i=e;return}function Wb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Aa(14810,14830,448,14846);h=wa()|0;c[s>>2]=h;if((h|0)<0)og(14859,l);if(h|0)if(!(ih(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;og(15397,k)}r=Li()|0;c[s>>2]=r;if(ih(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;og(14870,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Vg(m)|0;j=wa()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}jg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))ng(t);if(c[k>>2]|0)ng(m);g=0;f=0;j=h;h=k}if((b|0)==14)og(14859,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){qd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;ta(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];og(15104,o)}qd(k,0,h,e);h=Og(1,f,g)|0;if((h|0)<0)og(15015,p);if((h|0)==(g|0)){rh(1)|0;Oa(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ei(15050,q)}}else if((b|0)==28){rh(0)|0;rh(1)|0;Sh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=ib(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;jg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)og(15177,u);else if((b|0)==35){c[v>>2]=h;Ei(15192,v)}else if((b|0)==39){v=Ze(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ei(15222,w)}else if((b|0)==41)Aa(15277,14830,242,15301);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2463]|0;v=Ze(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Gh(h,15320,x)|0;h=c[k>>2]|0}Oa(h>>>8&255|0)}else if((b|0)==47)Aa(15367,14830,396,15387);else if((b|0)==49)Oa(0)}}function Xb(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;z=A+72|0;y=A+64|0;v=A+40|0;u=A+32|0;w=A+24|0;o=A+16|0;n=A+8|0;m=A;switch(g|0){case 1:case 2:case 4:case 8:break;default:{c[m>>2]=g;Ei(23444,m)}}m=Th(-1,-1,8-g<<3|0)|0;x=(f|0)!=0;m=Th(m|0,C|0,x&1|0)|0;f=C;do if((a[d>>0]|0)==45){if(!x){c[o>>2]=h;oh(k,l,23586,o)|0;f=3;break}if(!j){p=pi(m|0,f|0,1,0)|0;q=C;s=1;r=d+1|0;t=9;break}else{oh(k,l,23559,n)|0;f=4;break}}else{q=f;p=m;s=0;r=d;t=9}while(0);a:do if((t|0)==9){j=0;m=0;f=r;while(1){n=a[f>>0]|0;if((n+-48&255)>=10){t=18;break}o=bh(j|0,m|0,10,0)|0;d=C;if(d>>>0<m>>>0|(d|0)==(m|0)&o>>>0<j>>>0){t=12;break}j=(n<<24>>24)+-48|0;j=pi(j|0,((j|0)<0)<<31>>31|0,o|0,d|0)|0;m=C;if(m>>>0<d>>>0|(m|0)==(d|0)&j>>>0<o>>>0){t=14;break}if(m>>>0>q>>>0|(m|0)==(q|0)&j>>>0>p>>>0){t=16;break}f=f+1|0}if((t|0)==12){c[w>>2]=x?23632:31568;c[w+4>>2]=h;oh(k,l,23640,w)|0;f=2;break}else if((t|0)==14){c[u>>2]=x?23632:31568;c[u+4>>2]=h;oh(k,l,23640,u)|0;f=2;break}else if((t|0)==16){c[v>>2]=x?23632:31568;c[v+4>>2]=h;c[v+8>>2]=s|0?23656:31568;f=v+16|0;c[f>>2]=p;c[f+4>>2]=q;oh(k,l,23658,v)|0;f=2;break}else if((t|0)==18){if(n<<24>>24){c[y>>2]=x?23632:31568;c[y+4>>2]=h;oh(k,l,23688,y)|0;f=1;break}if((f|0)==(r|0)){c[z>>2]=x?23632:31568;c[z+4>>2]=h;oh(k,l,23721,z)|0;f=1;break}if(!e){f=0;break}switch(g|0){case 1:{if(!x){a[e>>0]=j;f=0;break a}if(!s){a[e>>0]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;a[e>>0]=f;f=0;break a}}case 2:{if(!x){b[e>>1]=j;f=0;break a}if(!s){b[e>>1]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;b[e>>1]=f;f=0;break a}}case 4:{if(!x){c[e>>2]=j;f=0;break a}if(!s){c[e>>2]=j;f=0;break a}else{f=$h(0,0,j|0,m|0)|0;c[e>>2]=f;f=0;break a}}case 8:{if(!x){f=e;c[f>>2]=j;c[f+4>>2]=m;f=0;break a}if(!s){f=e;c[f>>2]=j;c[f+4>>2]=m;f=0;break a}else{z=$h(0,0,j|0,m|0)|0;f=e;c[f>>2]=z;c[f+4>>2]=C;f=0;break a}}default:{f=0;break a}}}}while(0);i=A;return f|0}function Yb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=lg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((lg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=pi(m|0,l|0,-1,-1)|0;d=C;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;$h(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=$h(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){kd(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)kd(a,d,e,f,o);else oc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}oc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;oc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;oc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Ue(a,b,d)|0){b=hi()|0;if((b|0)>=0){if((ae(b,1)|0)<0){rh(b)|0;b=-1;break}b:do if((sf(b,d,16)|0)<0){n=zi()|0;d=c[n>>2]|0;if((d|0)!=115){w=se(d)|0;c[e>>2]=d;c[e+4>>2]=w;ji(16245,e);rh(b)|0;b=-1;break a}db(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Xf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}db(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=se(d)|0;c[t>>2]=d;c[t+4>>2]=C;ji(16021,t);rh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ji(16153,u);rh(b)|0;e=23;break}c[r>>2]=4;do if((_e(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=se(d)|0;c[w>>2]=d;c[w+4>>2]=C;ji(16109,w);rh(b)|0;break}}else{B=c[n>>2]|0;C=se(B)|0;c[v>>2]=B;c[v+4>>2]=C;ji(16079,v);rh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((ae(b,0)|0)<0){rh(b)|0;b=-1;break}if((yf(b,120)|0)<0){rh(b)|0;b=-1}}}else b=-1;else{ji(15901,x+24|0);b=-1}while(0);i=x;return b|0}function $b(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;re(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;re(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=fc(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=jc(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;Te((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;Te((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function ac(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,eg(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Te(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ac(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(zi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function bc(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.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+80|0;F=K+56|0;E=K+32|0;H=K+24|0;G=K+16|0;D=K;J=K+64|0;z=(d|0)==0;if(z)A=3;else A=(ug(d)|0)+1|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;c[J>>2]=0;ve(a);w=(j|0)==0;x=a+28|0;y=a+4|0;o=0;n=0;j=0;m=0;p=0;q=-1;l=1073741823;r=0;a:while(1){u=p;while(1){if(w)p=Bf(a,B,A)|0;else p=nf(a,9,B,A)|0;if(!p){I=26;break a}Nf(a,A,p);s=c[B>>2]|0;v=Ke(a,B,1)|0;t=Ke(a,B,2)|0;if(!z)df(d,B);if((t|0)<(v|0)){I=12;break a}o=pi(o|0,n|0,1,0)|0;n=C;p=t-v|0;j=pi(p|0,((p|0)<0)<<31>>31|0,j|0,m|0)|0;m=C;if(r){p=wf(c[r+4>>2]|0,s)|0;if(p)if((p|0)>0){I=16;break a}else I=17}else I=17;if((I|0)==17){I=0;p=cf(b,s)|0;if(!p){I=18;break a}q=Ik(c[p+8>>2]|0)|0;r=le(20)|0;c[r+4>>2]=ti(s)|0;c[r+12>>2]=u;c[r+16>>2]=q;c[r>>2]=c[J>>2];c[J>>2]=r;u=u+1|0;q=-1}p=c[r+16>>2]|0;if(t>>>0>p>>>0){I=21;break a}t=r+8|0;c[t>>2]=(c[t>>2]|0)+1;if((q|0)<=-1){q=v;continue}p=v-q|0;if((p|0)<(l|0)){q=v;l=p;p=u;break}else q=v}if((l|0)<0){I=25;break}}if((I|0)==12){J=c[x>>2]|0;K=c[y>>2]|0;c[D>>2]=t;c[D+4>>2]=v;c[D+8>>2]=J;c[D+12>>2]=K;Ei(20023,D)}else if((I|0)==16){K=c[x>>2]|0;c[G>>2]=c[y>>2];c[G+4>>2]=K;Ei(20064,G)}else if((I|0)==18){c[H>>2]=s;Ei(20186,H)}else if((I|0)==21){e=c[r+4>>2]|0;J=c[x>>2]|0;K=c[y>>2]|0;c[E>>2]=t;c[E+4>>2]=e;c[E+8>>2]=p;c[E+12>>2]=J;c[E+16>>2]=K;Ei(20227,E)}else if((I|0)==25){K=c[x>>2]|0;c[F>>2]=c[y>>2];c[F+4>>2]=K;Ei(20285,F)}else if((I|0)==26){$g(J);if((o|0)==0&(n|0)==0)k=0.0;else k=(+(j>>>0)+4294967296.0*+(m>>>0))/(+(o>>>0)+4294967296.0*+(n>>>0));c[e>>2]=l;h[f>>3]=k;e=g;c[e>>2]=o;c[e+4>>2]=n;i=K;return c[J>>2]|0}return 0}function cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;n=q;m=q+4|0;do if(!(a[b>>0]|0)){f=b+4|0;c[f>>2]=0;p=b+16|0;h=b+8|0;j=b+12|0;k=b+33|0;l=b+34|0;d=c[p>>2]|0;a:while(1){g=Uh(d)|0;c[f>>2]=g-(c[p>>2]|0)+(c[f>>2]|0);d=a[g>>0]|0;b:do if(!(d<<24>>24))o=14;else{if(!(d<<24>>24==47&(a[k>>0]|0)!=0))if(d<<24>>24==35&(a[l>>0]|0)!=0){o=14;break}else{j=d;o=18;break a}switch(a[g+1>>0]|0){case 47:{o=14;break b}case 42:break;default:{j=47;o=18;break a}}d=g+2|0;while(1){d=Fb(d,21045)|0;if(d|0)break;if(!(Qb(c[h>>2]|0,j,m)|0)){o=10;break a}d=c[j>>2]|0}d=d+2|0;c[p>>2]=d}while(0);if((o|0)==14){o=0;if(!(Qb(c[h>>2]|0,j,m)|0)){o=17;break}c[f>>2]=(c[f>>2]|0)+1;d=c[j>>2]|0;c[p>>2]=d}}if((o|0)==10){c[n>>2]=c[(c[h>>2]|0)+4>>2];Ei(21048,n)}else if((o|0)==17){a[b+1>>0]=1;e=0;break}else if((o|0)==18){c:do if(j<<24>>24==95|(Jj(j<<24>>24)|0)!=0){d=g;while(1){d=d+1|0;if(Jj(a[d>>0]|0)|0)continue;if((a[d>>0]|0)!=95){e=d;break}}}else{switch(j<<24>>24){case 39:case 34:break;default:{d=g+1|0;e=d;break c}}k=(a[b+32>>0]|0)==0;f=g+1|0;g=k?f:g;d=g+2|0;while(1){e=a[f>>0]|0;if(e<<24>>24==j<<24>>24){if((a[f+-1>>0]|0)!=92){o=29;break}if(f>>>0>=d>>>0?(a[f+-2>>0]|0)==92:0){o=29;break}}else if(!(e<<24>>24)){o=30;break}f=f+1|0}if((o|0)==29){d=f+1|0;e=d;h=f;d=j<<24>>24==0?f:d}else if((o|0)==30){e=f+1|0;h=f;d=f}e=k?h:e}while(0);c[p>>2]=d;f=e-g|0;d=b+28|0;if((f|0)<(c[d>>2]|0)){e=b+20|0;d=e;e=c[e>>2]|0}else{e=f+128|0;c[d>>2]=e;d=b+20|0;e=kj(c[d>>2]|0,0,e)|0;c[d>>2]=e}re(e|0,g|0,f|0)|0;a[(c[d>>2]|0)+f>>0]=0;e=c[d>>2]|0;break}}else{a[b>>0]=0;e=c[b+20>>2]|0}while(0);i=q;return e|0}function dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Fb(b,16305)|0))e=pf(b,0,r)|0;else{if((Ng(23007,b)|0)==0?(Ng(23015,b)|0)==0:0){if(!(Ng(23024,b)|0)){c[g>>2]=b;Ei(17162,g)}ic(b,o);if(wf(o,16338)|0){c[f>>2]=b;Ei(16825,f)}b=o+4112|0;g=sd(b,Td(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(wi(g,16872,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,oh(m,256,16879,j)|0,(wi(g,m,0,0)|0)==0):0){rh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Wd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?16891:16896;c[k+4>>2]=j;oh(m,256,16901,k)|0;wj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Ji(j,40)|0;a[(Ji(j,41)|0)>>0]=0;if((Ne(s+1|0,16909,k,7)|0)!=6)Ei(16911,h);f=(Td(c[k+16>>2]|0)|0)<<8;f=_b(b,(Td(c[k+20>>2]|0)|0)+f|0)|0;Gi(l);if((f|0)<0){rh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((td(f,1e6)|0)>0){b=26;break}if((td(g,0)|0)>0?(Ac(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ji(16947,n);rh(g)|0;rh(f)|0;e=-1;break}else if((b|0)==24){rh(g)|0;rh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}vd(c[2492]|0)|0;vd(c[2433]|0)|0;vd(c[2463]|0)|0;b=le(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;re(b+20|0,o|0,10280)|0;f=b+4|0;if(Yh(f)|0){c[p>>2]=se(c[(zi()|0)>>2]|0)|0;Ei(17012,p)}b=Va(b|0,0,3,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=se(b)|0;c[q>>2]=b;c[q+4>>2]=s;Ei(17116,q)}}}else{rh(g)|0;e=-1}while(0)}break}e=dj(b,16821,0)|0}while(0);i=r;return e|0}function ec(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Th(d|0,m|0,52)|0;e=e&2047;j=Th(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ph(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ph(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ph(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ph(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ph(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ph(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ph(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ph(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=$h(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ph(d|0,f|0,1)|0;f=C;e=e+-1|0;l=$h(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ph(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=pi(d|0,f|0,0,-1048576)|0;d=C;e=Ph(e|0,0,52)|0;d=d|C;e=o|e}else{e=Th(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function fc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function gc(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=4;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=lb[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=lb[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=lb[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=lb[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=lb[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Lc(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[381];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){nb[c[o>>2]&7](c[n>>2]|0,i);j=c[e>>2]|0}nb[c[o>>2]&7](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function hc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=vi(b)|0;c[t>>2]=q;c[v>>2]=Xi(q<<2)|0;dg(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=Vj(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=xk(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}dg(g,r,jf(p,h-s|0,r,q)|0);u=u-o|0}x=xk(g)|0;u=((x|0)<0)<<31>>31;Lb(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,2,7,x,u,g);Ui(v);C=u;i=w;return x|0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Wd(b)|0)>>>0>4095){c[e>>2]=b;Ei(16286,e)}Tj(f,b)|0;Bi(f)|0;b=Fb(f,16305)|0;if(!b){a[d>>0]=a[16309]|0;a[d+1>>0]=a[16310]|0;a[d+2>>0]=a[16311]|0;a[d+3>>0]=a[16312]|0;a[d+4>>0]=a[16313]|0}else{a[b>>0]=0;Eh(f)|0;Lf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Ji(f,47)|0;if(g){Ve(g,b,e,1);if(!((Cf(d,16309)|0)!=0?(Cf(d,16326)|0)!=0:0)){e=Pd(g,16332,16334)|0;Lf(d+6176|0,4096,e);$j(e)}a[g>>0]=0;if(!(Cf(d,16338)|0)){g=g+1|0;Vd(g,d+6176|0,Wd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Ji(f,64)|0;if(!g){if(!((Cf(d,16309)|0)!=0?(Cf(d,16326)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Cf(d,16338)|0)){b=d+16|0;e=16342;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=16352;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Ji(f,58)|0;if(!b){e=d+16|0;Lf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Lf(e,2048,f);f=d+2064|0;Lf(f,2048,b+1|0);b=f}Cd(e,e,Wd(e)|0);Cd(b,b,Wd(b)|0);f=g+1|0}b=Ji(f,58)|0;do if(!b){if(!(Cf(d,16309)|0)){h=d+6160|0;a[h>>0]=a[16370]|0;a[h+1>>0]=a[16371]|0;a[h+2>>0]=a[16372]|0}if(!(Cf(d,16326)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Cf(d,16338)|0)){h=d+6160|0;a[h>>0]=a[16373]|0;a[h+1>>0]=a[16374]|0;a[h+2>>0]=a[16375]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Lf(d+6160|0,16,e);break}else{c[h>>2]=e;Ei(16376,h)}}while(0);Lf(d+4112|0,2048,f);i=j;return}function jc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[1540+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+4>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+8>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+12>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+16>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+20>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+24>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2]^c[f+28>>2];a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[3588+((a>>>8&255)<<2)>>2]^c[4612+((a&255)<<2)>>2]^c[2564+((a>>>16&255)<<2)>>2]^c[1540+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[1540+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function kc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ni(na(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=na(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=na(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ni(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=na(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;na(221,l|0)|0}d=Ni(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=na(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=na(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;na(221,r|0)|0}d=Ni(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;La(6,p|0)|0}d=Ni(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ni(na(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ni(na(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function lc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=gi(512)|0;ic(b,s);h=Qa(16623)|0;p=(h|0)!=0;if(p){ic(h,q);re(r|0,q|0,10280)|0;h=bf(r,b)|0}else{re(r|0,s|0,10280)|0;h=bf(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ti(b)|0;j=Dj(b,59)|0;if((j|0)!=0?(Ng(16314,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Ih(k,16634,l);$j(b);c[m>>2]=f;Ih(k,16645,m);if((wf(s,16309)|0)==0?(wf(16370,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((wf(s,16326)|0)==0?(wf(16405,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Ih(k,16673,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Ih(k,16662,n)}b=c[t>>2]|0;re(r|0,s|0,10280)|0;Ae(r,16687,b);if(p){re(r|0,q|0,10280)|0;Ae(r,16701,b);k=c[t>>2]|0}else k=b;xj(k,16721);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Ih(k,16760,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Ih(k,16735,u);break}}while(0);if(g|0)xj(c[t>>2]|0,g);v=c[t>>2]|0;xj(v,16781);lf(h,c[v+4>>2]|0,c[v+12>>2]|0);Gi(t)}i=w;return h|0}function mc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function nc(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 oc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(mb[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((mb[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((mb[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((mb[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){Kd(b,p,e);kd(a,b,d,g,h)}i=r;return}function pc(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;d=a+4|0;e=c[d>>2]|0;do if(e){i=c[a+12>>2]|0;k=c[a+16>>2]|0;j=0;while(1){g=j+1|0;h=k+(j<<2)|0;c[h>>2]=e;d=e+12|0;f=mb[i&15](b,c[d>>2]|0)|0;if((f|0)<0){e=c[e>>2]|0;if(!e){d=h;f=j;g=5;break}else{j=g;continue}}if((f|0)<=0){g=9;break}e=c[e+4>>2]|0;if(!e){d=h;f=j;g=8;break}else j=g}if((g|0)==5){e=c[d>>2]|0;d=e;i=0;h=f;g=10;break}else if((g|0)==8){e=c[d>>2]|0;d=e+4|0;i=0;h=f;g=10;break}else if((g|0)==9){d=c[d>>2]|0;break}}else{i=1;e=0;k=0;h=0;g=10}while(0);a:do if((g|0)==10){f=a+24|0;g=c[f>>2]|0;if(!g)g=Hf(c[a+20>>2]|0,16)|0;else c[f>>2]=c[g+4>>2];c[g+4>>2]=0;c[g>>2]=0;c[g+12>>2]=b;c[g+8>>2]=i;c[d>>2]=g;b=a+8|0;c[b>>2]=(c[b>>2]|0)+1;if((h|0)>0){j=h;d=g;while(1){i=e+8|0;if(c[i>>2]|0){d=0;break a}g=j+-1|0;f=c[k+(g<<2)>>2]|0;h=c[f>>2]|0;if((e|0)==(h|0))h=c[f+4>>2]|0;if(!h)break;h=h+8|0;if((c[h>>2]|0)==1)break;c[i>>2]=1;c[h>>2]=1;if(!g){d=0;break a}c[f+8>>2]=0;d=j+-2|0;e=c[k+(d<<2)>>2]|0;j=d;d=f}d=dd(a,g,f,e,d)|0;c[d+8>>2]=1;c[(c[d+4>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+8>>2]=0;d=0}else d=0}while(0);return d|0}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}Zf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=xk(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=bh(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=pi(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Xh(2,18754,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Xh(2,18786,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Xh(2,18814,o);f=f+1|0}Xh(2,18818,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;Cc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=xk(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=xk(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=18882;Ei(18820,s)}else if((f|0)==14){Qc(b,a,0,d+-2|0,e);i=t;return}}function rc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=bh(f|0,b|0,10,0)|0;f=C;e=pi(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=pi(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=jd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=$h(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function sc(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;j=k;c[j+4>>2]=b;c[j+8>>2]=d;j=$e(a,j)|0;do if(j){e=j+4|0;f=c[e>>2]|0;if((f|0)<=(b|0)?(h=j+8|0,g=c[h>>2]|0,(g|0)>=(d|0)):0){if((f|0)<(b|0)){g=Hf(c[a+20>>2]|0,16)|0;c[g+4>>2]=c[e>>2];c[g+8>>2]=b;c[g+12>>2]=c[j+12>>2];c[e>>2]=b;pc(a,g)|0;b=c[h>>2]|0}else b=g;if((b|0)>(d|0)){g=Hf(c[a+20>>2]|0,16)|0;c[g+4>>2]=d;c[g+8>>2]=c[h>>2];b=j+12|0;c[g+12>>2]=c[b>>2];c[h>>2]=d;pc(a,g)|0}else b=j+12|0;c[b>>2]=(c[b>>2]|0)+1;break}h=a+20|0;g=Dg(a,b,d)|0;while(1){if(!g)break;e=g+4|0;f=c[e>>2]|0;if((b|0)>=(f|0)){if((b|0)>(f|0)){j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=c[e>>2];c[j+8>>2]=b;c[j+12>>2]=c[g+12>>2];c[e>>2]=b;pc(a,j)|0}}else{j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=c[e>>2];c[j+12>>2]=Ek(1)|0;pc(a,j)|0}b=g+12|0;c[b>>2]=(c[b>>2]|0)+1;b=c[g+8>>2]|0;g=c[g>>2]|0}if((b|0)<(d|0)){j=Hf(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=Ek(1)|0;pc(a,j)|0}}else{j=Hf(c[a+20>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=Ek(1)|0;pc(a,j)|0}while(0);i=k;return}function tc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=pi(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;dg(o,z,1);dg(o,B,1);dg(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;Te(r|0,0,m|0)|0;nb[l&7](G,r);dg(o,r,m);dg(o,A,8);G=A;G=pi(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;ei(o,0,x);p=p+1|0}k=t}if((d|0)==9)Aa(19288,19271,491,19315);else if((d|0)==13){i=E;return w|0}return 0}function uc(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;o=i;i=i+64|0;n=o+40|0;l=o+32|0;e=o+24|0;j=o+16|0;h=o+8|0;g=o;p=o+48|0;m=o+52|0;k=o+44|0;c[p>>2]=b;li(p,d,16);c[2]=Re(14098,c[2]|0)|0;c[3]=Re(14108,c[3]|0)|0;c[7690]=gg(14121,c[7690]|0)|0;c[7694]=(gk(14124)|0)==0&1;c[7687]=gg(14128,0)|0;c[7693]=gk(14139)|0;if((c[p>>2]|0)!=4)kh();if(!(gk(14143)|0)){if(c[7691]|0)Ei(14249,e)}else{b=ti(gg(14143,31568)|0)|0;e=Ji(b,43)|0;if(e|0?(f=e+1|0,a[e>>0]=0,((a[f>>0]|0)+-48|0)>>>0<10):0)c[7689]=ui(f)|0;if(!(Ng(14148,b)|0))Ei(14152,g);b=ui(b+3|0)|0;c[7688]=b;if((b|0)<3){c[h>>2]=b;Ei(14179,h)}if((b|0)>15){c[j>>2]=b;Ei(14214,j)}}f=c[d+4>>2]|0;b=c[7688]|0;if(!b){b=$f(f,1)|0;c[m>>2]=b;if(!(Fg(b,k)|0)){c[l>>2]=c[b+4>>2];Ei(14366,l)}b=c[k>>2]|0;if(!(c[7693]|0))b=Od(b,0,0)|0;else b=Nd(b,9,0,0)|0;if((b|0)>256){c[n>>2]=c[(c[m>>2]|0)+4>>2];Ei(14378,n)}Jd(m);c[7688]=b;if((b|0)>15){c[7689]=b+-15;c[7688]=15;b=15}}e=c[7690]|0;if(!e)c[7691]=$c(b,(c[7689]|0)+b|0)|0;else Hg(e,30764,0);kg(f,c[d+8>>2]|0,c[d+12>>2]|0);Jk();if((Mk()|0)>1)yd();i=o;return 0}function vc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;A=B+24|0;y=B+16|0;x=B+8|0;w=B;z=B+28|0;if((m|0)<=0)Aa(20407,20423,304,20439);v=(h|0)==0;t=Ph(j|0,k|0,31)|0;t=Ah(t|0,C|0,32)|0;u=C;j=0;while(1){if((j|0)>=(m|0)){t=5;break}k=c[o+(j<<2)>>2]|0;if(!(0>u>>>0|(0==(u|0)?(v?k<<5:k<<4&2147483632)>>>0>t>>>0:0))){t=8;break}j=j+1|0}if((t|0)==5){c[w>>2]=0;c[w+4>>2]=0;Xh(2,20458,w);t=9}else if((t|0)==8){j=c[n+(j<<2)>>2]|0;c[x>>2]=j;c[x+4>>2]=k;Xh(2,20458,x);if(!j)t=9}if((t|0)==9){k=c[o>>2]|0;j=c[n>>2]|0}v=uh(0)|0;c[z>>2]=v;Kj(a);u=sb[f&1](l,g,a,j,k,4,d,e,h,v,b,q,r,s)|0;ff(2,20505,y);c[p>>2]=j;t=j<<2;j=1;do{f=k;k=vi(u)|0;if((k|0)>=(f|0))break;f=xk(b)|0;y=q+(j<<3)|0;c[y>>2]=f;c[y+4>>2]=((f|0)<0)<<31>>31;y=Vc(u,d,e,h,b)|0;f=r+(j<<3)|0;c[f>>2]=y;c[f+4>>2]=C;c[p+(j<<2)>>2]=t;j=j+1|0;t=t<<2;u=Jc(u,t,v)|0}while((j|0)<10);Ci(z);ff(2,20586,A);i=B;return j|0}function wc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;dg(n,B,1);dg(n,D,1);dg(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=pi(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=bh(o|0,p|0,f|0,x|0)|0;p=d+p|0;Te(v|0,0,k|0)|0;nb[j&7](p,v);dg(n,v,k);dg(n,pb[l&7](p)|0,m);p=pi(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;ei(n,0,y);r=pi(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=$h(u|0,t|0,p|0,0)|0;q=C;p=pi(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)Aa(19352,19271,529,19368);else if((o|0)==11){i=E;return}}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[7723]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ni(hb(146,n|0)|0)|0}else{va(2,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ni(hb(146,m|0)|0)|0;ma(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 zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Rc(30465,f<<24>>24,4)|0){e=tb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Ji(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Ji(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;na(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=na(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;na(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Ta(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[7724]|0))c[e+76>>2]=-1;_a(30920);f=c[7729]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[7729]=e;Ua(30920)}}else{c[(zi()|0)>>2]=22;e=0}i=o;return e|0}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=gi(4096)|0;while(1){if((td(b,1e6)|0)<=0){j=3;break}g=Pg(b,m,4096)|0;if(g){qf(c[o>>2]|0,m,g);if(!(Mh(c[(c[o>>2]|0)+4>>2]|0,18818)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Wd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Wd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ji(16444,n);g=0}else if((j|0)==18){g=Td(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ji(16488,p);g=0;break}if(!e)Gi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Bc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;dg(l,n,4);dg(l,p,4);dg(l,r,4);dg(l,s,4);dg(l,o,8);dg(l,m,4);dg(l,m,4);f=xk(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=tc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=xk(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=19271;c[q+4>>2]=572;Ei(19331,q)}else if((f|0)==8){wc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function Cc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=vi(c[k>>2]|0)|0;dg(m,n,1);dg(m,o,1);dg(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;dg(m,k+12|0,4);dg(m,k+16|0,4);dg(m,k+20|0,4);dg(m,k+24|0,4);dg(m,q,8);j=q;j=pi(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;ei(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=Cc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function Dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?30940:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[10084+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(zi()|0)>>2]=84;f=-1}i=l;return f|0}function Ec(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Xa(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Pg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=$h(1,0,g|0,e|0)|0;b=pi(b|0,C|0,d|0,h|0)|0}r=(Og(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=pi(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)cg(17060,l);if((b|0)==-1)cg(17091,o);rh(c[m>>2]|0)|0;rh(c[a+12>>2]|0)|0;rh(c[n>>2]|0)|0;i=q;return 0}function Gc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function Hc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=c[e>>2]|0;if(k>>>0>=f>>>0)Aa(20629,20423,682,20648);c[e>>2]=k+24;f=xk(c[i+12>>2]|0)|0;m=k;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=a+4|0;c[k+8>>2]=c[m>>2];c[k+12>>2]=c[a+8>>2];f=a+12|0;c[k+16>>2]=c[f>>2];Qd(i,a);e=c[b>>2]|0;if(((e|0)!=0?(c[e+4>>2]|0)==(c[m>>2]|0):0)?(l=c[f>>2]|0,((c[e+8>>2]|0)+d|0)>>>0>=l>>>0):0){c[e+12>>2]=l;f=e+16|0;c[f>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);j=+g[a+20>>2];f=e+20|0;if(j<+g[f>>2])g[f>>2]=j;j=+g[a+24>>2];f=e+24|0;if(j>+g[f>>2])g[f>>2]=j;m=e+28|0;g[m>>2]=+g[a+28>>2]+ +g[m>>2];m=e+32|0;g[m>>2]=+g[a+32>>2]+ +g[m>>2]}else{k=Hf(h,48)|0;i=k;f=a;e=i+48|0;do{c[i>>2]=c[f>>2];i=i+4|0;f=f+4|0}while((i|0)<(e|0));c[k>>2]=c[b>>2];c[b>>2]=k}return}function Ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Jd(b);break}if((rh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Ei(15555,k)}}else{if(!(c[a+20>>2]&2)){if(dh(d)|0){c[f>>2]=c[a+12>>2];Ei(15524,f)}}else{vd(d)|0;if(dh(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Ei(15494,e)}}if((Be(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Ei(15555,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((ib(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)og(15177,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Ei(15585,l)}if(b|0)Aa(15626,14830,435,15644);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Ei(15660,m)}i=n;return d>>>8&255|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;c[n>>2]=0;h=0;j=0;while(1){if(!a){a=15;break}if(((j|0)!=0?(c[j+4>>2]|0)==(c[a+4>>2]|0):0)?(m=c[a+12>>2]|0,m>>>0<=((c[j+8>>2]|0)+b|0)>>>0):0){e=j+12|0;if((c[e>>2]|0)>>>0>=m>>>0){a=8;break}c[e>>2]=m;e=j+16|0;c[e>>2]=(c[e>>2]|0)+(c[a+16>>2]|0);e=j+20|0;f=+g[a+20>>2];if(+g[e>>2]>f)g[e>>2]=f;e=j+24|0;f=+g[a+24>>2];if(+g[e>>2]<f)g[e>>2]=f;e=j+28|0;g[e>>2]=+g[a+28>>2]+ +g[e>>2];e=j+32|0;g[e>>2]=+g[a+32>>2]+ +g[e>>2];e=j}else{l=Hf(d,48)|0;e=l;j=a;k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[l>>2]=h;c[n>>2]=l;h=l;e=l}j=e;a=c[a>>2]|0}if((a|0)==8)Aa(20540,20423,729,20563);else if((a|0)==15){$g(n);i=o;return c[n>>2]|0}return 0}function Kc(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+120|0;r=s+80|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((wb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Lk(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=wb(b,d,o,q,r)|0;if(h){lb[c[b+36>>2]&7](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=wb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Lc(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=jc(0,0,0)|0;else d=fc(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Ig(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;Te(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[772+(h*12|0)+2>>1];c[a+140>>2]=e[772+(h*12|0)>>1];c[a+144>>2]=e[772+(h*12|0)+4>>1];c[a+124>>2]=e[772+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Mc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ti(31568)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Jj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=le(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Jj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;oh(h,4,14624,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Te(b|0,0,e|0)|0;return b|0}function Oc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=gi(512)|0;c[h>>2]=f;xj(f,b);xj(f,16305);d=b+16|0;if(a[d>>0]|0){d=Mc(d)|0;xj(f,d);$j(d);d=b+2064|0;if(a[d>>0]|0){xj(f,16401);d=Mc(d)|0;xj(f,d);$j(d)}xj(f,16403)}xj(f,b+4112|0);if(!((wf(b,16338)|0)==0?!(wf(16373,b+6160|0)|0):0))e=7;do if((e|0)==7){if((wf(b,16309)|0)==0?(wf(16370,b+6160|0)|0)==0:0)break;d=b+6160|0;if((wf(b,16326)|0)==0?(wf(16405,d)|0)==0:0)break;xj(f,16401);xj(f,d)}while(0);xj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Ih(f,16409,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Ih(f,21498,k)}k=Dh(h)|0;i=l;return k|0}function Pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Mb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}rh(a)|0;if((h|0)>0)$j(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Ng(23007,f)|0)==0?(Ng(23015,f)|0)==0:0){g=11;break}f=te(g,f)|0;c[j>>2]=f;a=dc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ji(17811,k);g=14}else if((g|0)==11){c[l>>2]=f;ji(17865,l);g=14}else if((g|0)==13){c[m>>2]=f;ji(17895,m);g=14}if((g|0)==14)if((b|0)>0){$j(f);b=0}else b=0;i=n;return b|0}function Qc(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=vi(c[g>>2]|0)|0;dg(j,k,1);dg(j,l,1);dg(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;dg(j,g+12|0,4);dg(j,g+16|0,4);dg(j,g+20|0,4);dg(j,g+24|0,4);f=g+32|0;dg(j,f,8);h=g+40|0;f=$h(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;dg(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;ei(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Qc(d,g,k,h,j)}}while(0);i=o;return}function Rc(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|0)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?b:0)|0}function Sc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ni(qa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(zi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ni(qa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;kc(e,2,j)|0}if(b&2048){c[h>>2]=kc(e,3,k)|0|2048;kc(e,4,h)|0}}}}while(0);i=l;return e|0}function Tc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[7723]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ni(gb(145,h|0)|0)|0}else{va(3,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ni(gb(145,g|0)|0)|0;ma(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=vi(a)|0;c[j>>2]=h;c[k>>2]=Xi(h<<2)|0;dg(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=xk(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;dg(f,e+4|0,4);dg(f,e+8|0,4);dg(f,e+12|0,4);dg(f,e+16|0,4);ci(f,+g[e+20>>2]);ci(f,+g[e+24>>2]);ci(f,+g[e+28>>2]);ci(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=xk(f)|0;e=((h|0)<0)<<31>>31;Lb(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,2,7,h,e,f);Ui(k)}else{h=hc(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=dc(a,0)|0;if((d|0)<0){c[e>>2]=a;ji(17895,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Ng(23007,a)|0)==0?(Ng(23015,a)|0)==0:0){e=0;g=7}else if(!(Pc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=ti(a)|0;Cd(a,b,Wd(a)|0);do if(!(Mh(b,23031)|0)){if(Mh(b,23035)|0){$j(b);g=12;break}f=(Mh(b,23038)|0)==0;$j(b);if(f)b=Qg(a,1,d)|0;else g=12}else{$j(b);g=12}while(0);if((g|0)==12)b=th(a,1,d)|0;if(e)$j(e)}}i=h;return b|0}function Xc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Aa(18621,18673,388,18685);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Xi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)$g(b);d=d+1|0}$j(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Yc(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o+8|0;m=o;l=le(24)|0;f=vi(a)|0;b[l>>1]=f;f=f&65535;a:do if(f|0){k=l+4|0;c[k>>2]=Xi(f<<1)|0;c[l+8>>2]=Xi((e[l>>1]|0)<<2)|0;c[l+12>>2]=Xi((e[l>>1]|0)<<2)|0;c[l+16>>2]=Xi((e[l>>1]|0)<<3)|0;g=d+12|0;j=0;while(1){if(!a)break a;h=a+4|0;f=qg(d,h)|0;if(!f){f=5;break}if(wf(c[(c[f+12>>2]|0)+4>>2]|0,21519)|0){f=7;break}h=(ph(c[g>>2]|0,f)|0)&65535;b[(c[k>>2]|0)+(j<<1)>>1]=h;j=j+1|0;a=c[a>>2]|0}if((f|0)==5){c[m>>2]=h;Ei(13571,m)}else if((f|0)==7)Ei(13639,n)}while(0);i=o;return l|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){nb[c[a+36>>2]&7](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;nb[c[b>>2]&7](c[e>>2]|0,d);d=b;b=c[f>>2]|0}nb[c[d>>2]&7](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function _c(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+288|0;r=s;q=s+24|0;o=e+1|0;p=b+28|0;n=b+4|0;b=0;e=c[d+(e<<2)>>2]|0;while(1){if(!e){f=10;break}if((b|0)==(g|0)|(a[e>>0]|0)==0){f=10;break}m=Ji(e,44)|0;d=(m|0)!=0;if(d)a[m>>0]=0;if((Xb(e,f,h,j,k,l,q,256)|0)>0){f=7;break}f=(f|0)==0?0:f+j|0;b=b+1|0;if(!d){e=0;continue}a[m>>0]=44;e=m+1|0}if((f|0)==7){p=c[p>>2]|0;s=c[n>>2]|0;c[r>>2]=q;c[r+4>>2]=b;c[r+8>>2]=o;c[r+12>>2]=p;c[r+16>>2]=s;c[r+20>>2]=e;Ei(23784,r)}else if((f|0)==10){i=s;return b|0}return 0}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+16|0;d=h;f=h+20|0;if((a+-3|0)>>>0>12){c[d>>2]=a;c[d+4>>2]=3;c[d+8>>2]=15;Ei(24312,d)}e=gi(0)|0;c[f>>2]=e;xj(e,24375);if((((((((((((a|0)>3?(xj(e,24590),(a|0)>4):0)?(xj(e,24630),(a|0)>5):0)?(xj(e,24672),(a|0)>6):0)?(xj(e,24716),(a|0)>7):0)?(xj(e,24794),(a|0)>8):0)?(xj(e,24869),(a|0)>9):0)?(xj(e,24927),(a|0)>10):0)?(xj(e,24969),(a|0)>11):0)?(xj(e,25039),(a|0)>12):0)?(xj(e,25113),(a|0)>13):0)?(xj(e,25150),(a|0)>14):0)xj(e,25237);d=a+1|0;while(1){if((d|0)>(b|0))break;a=d+1|0;c[g>>2]=a;Ih(e,25313,g);d=a}xj(e,25352);g=Dh(f)|0;i=h;return g|0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=le(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=gi(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){xj(e,14758);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){xj(e,16332);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}xj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Dh(j)|0;if(!(c[a>>2]|0))Ei(14762,k);if(!(b&8))e=0;else{Qh(l,Me(80,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Qh(l,Me(d,l)|0);e=e+1|0}i=m;return l|0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Lk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;re(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(me(f)|0){e=h;break}g=lb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Kk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Kk(f);return e|0}function cd(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(!(tf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=lb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((lb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);re(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 dd(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;g=c[e>>2]|0;h=(g|0)==(f|0);do if((c[d>>2]|0)==(e|0))if(h){c[e>>2]=f;f=e+4|0;c[d>>2]=c[f>>2];c[f>>2]=d;break}else{c[e+4>>2]=c[f>>2];c[f>>2]=e;e=f+4|0;c[d>>2]=c[e>>2];c[e>>2]=d;e=f;break}else if(h){c[d+4>>2]=c[f>>2];c[f>>2]=d;h=f+4|0;c[e>>2]=c[h>>2];c[h>>2]=e;e=f;break}else{c[d+4>>2]=g;c[e>>2]=d;c[e+4>>2]=f;break}while(0);do if(b){g=c[(c[a+16>>2]|0)+(b+-1<<2)>>2]|0;if((c[g>>2]|0)==(d|0)){c[g>>2]=e;break}else{c[g+4>>2]=e;break}}else c[a+4>>2]=e;while(0);return e|0}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(fd(b,e<<24>>24)|0)-b|0;i=g;return e|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Wd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function gd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=le(16)|0;else l=Hf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=yj(d,e)|0;else{k=Hf(h,e+1|0)|0;c[l+4>>2]=k;re(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Xc(b,si(m)|0);return l|0}function hd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Qk()|0;Ck(30788)|0;if((c[7704]|0)!=0&(a|0)==(c[7705]|0)){Og(2,15684,61)|0;Oa(1)}Ak(30788)|0;Ck(30824)|0;Ck(30788)|0;c[7705]=a;c[7704]=1;Ak(30788)|0;if(!(c[7713]|0))c[7713]=ye(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;oh(d,64,21498,b)|0;a=cf(c[7713]|0,d)|0;if(!a){a=le(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=2;c[a+140>>2]=0;c[a+92>>2]=1;a=lj(c[7713]|0,d,a)|0}Ck(30788)|0;c[7704]=0;Ak(30788)|0;Ak(30824)|0;i=e;return c[a+8>>2]|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function jd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=ig(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function kd(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((mb[d&15](k,j)|0)>-1?(mb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((mb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Kd(b,o,e);i=p;return}function ld(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=10288;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(zi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Kc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(wf(b,23119)|0){if(!(wf(b,18143)|0)){f=c[2433]|0;break}e=ee(b,d)|0;if(!e){a:do if(!d)e=31568;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=18171;break a}case 119:{e=18161;break a}default:{e=e<<24>>24==97?18150:31568;break a}}}while(0);d=se(c[(zi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ei(18180,g)}else f=e}else f=c[2492]|0;while(0);i=h;return f|0}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(gf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=cb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ok(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;wk(f);break}else{b=Wa(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ji(18002,f);b=0;break}}else{vf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function od(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=le(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[24247+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[24247+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[24247+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[24247+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function pd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[20969+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[20969+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Da(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))og(14903,k);l=Li()|0;if(ih(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Li()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;og(14926,f)}if(b|0?(yg(b,0)|0)<0:0)og(14953,g);if((d|0)!=1?(yg(d,1)|0)<0:0)og(14973,h);if((e|0)!=2?(yg(e,2)|0)<0:0)og(14994,j);Sh();i=k;return}function rd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Qj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=bh(c|0,d|0,10,0)|0;b=b+1|0;c=$h(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=$h(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function sd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=_b(a,b)|0;if((a|0)<0)a=-1;else{if((td(a,1e6)|0)>0)wi(a,31568,0,0)|0;c[g>>2]=0;c[h>>2]=d;oh(f,256,16531,h)|0;do if(wi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,oh(f,256,16541,j)|0,(wi(a,f,0,0)|0)==0):0){rh(a)|0;a=-1;break}if(!(wi(a,16551,0,0)|0)){rh(a)|0;a=-1}}else{rh(a)|0;a=-1}while(0)}i=k;return a|0}function td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Xf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(zi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=se(a)|0;ji(16426,m)}i=n;return a|0}function ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=pf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=le(5)|0;c[g>>2]=f;if((Pg(e,f,4)|0)<4)Ui(g);else a[f+4>>0]=0;rh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=he(e)|0,Ui(h),(g|0)!=0):0){h=Ug(Qe(b)|0,33,b,0)|0;e=Qg(b,d,lk(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function vd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ge(a)|0;break}d=(Lk(a)|0)==0;b=ge(a)|0;if(!d)Kk(a)}else{if(!(c[2462]|0))b=0;else b=vd(c[2462]|0)|0;_a(30920);a=c[7729]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Lk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ge(a)|0|b;if(d|0)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);Ua(30920)}while(0);return b|0}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=mg(e,0)|0;c[n>>2]=g;Lg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=mg(d,e)|0;else if(!f){e=pf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;og(15463,k)}else j=e}else j=0;c[m>>2]=j;e=Ff(a,b,j,g)|0;ng(m);if(!l)ng(n);i=o;return e|0}function xd(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[(zi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function yd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Li()|0;c[g>>2]=f;oh(a,256,20731,g)|0;d=kf(a,1)|0;c[g>>2]=d;if(!d){j=c[2463]|0;c[b>>2]=a;Gh(j,20768,b)|0;a=j}else{while(1){if(!(Fg(d,e)|0))break;a=c[e>>2]|0;if(Fb(a,20747)|0){j=5;break}}if((j|0)==5){j=c[2463]|0;c[h>>2]=f;c[h+4>>2]=a;Gh(j,20754,h)|0}Jd(g);a=c[2463]|0}vd(a)|0;i=k;return}function zd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=oe(k)|0;re(j|0,d|0,e|0)|0;$j(c);d=j;e=k;c=j}k=Ab(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ti(d)|0;$j(c);c=l}i=h;return c|0}function Ad(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function Bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;c[j>>2]=b;a:do if(b){b=fg(b,44)|0;if((b|0)>0){h=Xi(b<<2)|0;f=0;while(1){b=f+1|0;g[h+(f<<2)>>2]=+ue(j);l=c[j>>2]|0;f=l+1|0;c[j>>2]=f;if(!(a[l>>0]|0)){f=h;break a}if(!(a[f>>0]|0)){f=h;break}else f=b}}else f=0}else{f=0;b=0}while(0);c[d>>2]=f;c[e>>2]=b;i=k;return}function Cd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Kh(f,14620,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Dd(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;Te(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){cd(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;cd(h,f,a)|0}while(0);i=j;return}function Ed(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(!(tf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((lb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Fd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Jh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=ld((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Jh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}
+function Gd(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;h=vi(a)|0;if((h|0)>0){f=Xi(h<<4)|0;g=0;e=0;while(1){if((g|0)==(h|0))break;j=c[a+4>>2]|0;i=Wd(j)|0;c[f+(g<<4)+4>>2]=j;c[f+(g<<4)+8>>2]=c[a+12>>2];c[f+(g<<4)+12>>2]=c[a+16>>2];g=g+1|0;e=(i|0)>(e|0)?i:e;a=c[a>>2]|0}Zb(f,h,16,6)}else{f=0;e=0}Bc(f,16,h,((h|0)<0)<<31>>31,(h|0)>(b|0)?b:h,3,e,4,8,d);$j(f);return}function Hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;f=c[b+92>>2]|0;if(f|0)nb[f&7](b,23147);if(c[b+56>>2]|0){c[g>>2]=c[b+4>>2];og(23160,g)}a[b+48>>0]=0;f=c[b+72>>2]|0;if(!f){c[b+20>>2]=0;c[b+36>>2]=0;c[b+32>>2]=0;e=Pf(c[b+8>>2]|0,d,e)|0;c[b+16>>2]=e;if((e|0)==-1){c[h>>2]=c[b+4>>2];og(23204,h)}}else Uf(f,d,((d|0)<0)<<31>>31);i=j;return}function Id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Lk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Ed(d,b)|0;Kk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Ed(d,b)|0}while(0);return e|0}function Jd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Hi(c[2492]|0)|0):0){rh(c[d>>2]|0)|0;$j(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Vb(d)}else ki(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)kb[d&3](f);$j(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)_d(g);Ui(b)}return}function Kd(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;re(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;re(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Ld(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=$h(h^a|0,g^b|0,h|0,g|0)|0;b=C;Yb(a,b,$h(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=$h(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Md(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Pg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;og(18300,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ei(18325,g)}else if((d|0)==8){i=h;return}}function Nd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(Qj(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(Qj(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Wd(b)|0;h=Wd(c)|0;d=0;e=Fb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Fb(e+g|0,b)|0}f=Wd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=le((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Fb(a,b)|0;d=f;while(1){if(!a)break;Tj(d,e)|0;j=a+g|0;i=d+(a-e)|0;Tj(i,c)|0;e=j;a=Fb(j,b)|0;d=i+h|0}Tj(d,e)|0;return f|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;c[f+(e<<5)>>2]=c[b+4>>2];c[f+(e<<5)+4>>2]=c[b+8>>2];c[f+(e<<5)+8>>2]=c[b+12>>2];c[f+(e<<5)+12>>2]=c[b+16>>2];c[f+(e<<5)+16>>2]=c[b+20>>2];c[f+(e<<5)+20>>2]=c[b+24>>2];c[f+(e<<5)+24>>2]=c[b+28>>2];c[f+(e<<5)+28>>2]=c[b+32>>2];b=e+1|0;c[d>>2]=b;if((b|0)>=(c[a+8>>2]|0))qe(a);return}function Rd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Oi(f,-1,27134,56)|0;if(a|0){f=a;i=g;return f|0}a=ub(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Zc(f)|0;i=g;return f|0}else{Zc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Sd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ph(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Td(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Qj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(lb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((lb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Vd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Kh(f,14620,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Wd(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 Xd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Th(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Xd(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 Yd(a,b,d,f,g,h,i){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;m=a+12|0;a=e[a>>1]|0;k=0;while(1){if((k|0)==(a|0))break;j=c[(c[m>>2]|0)+(k<<2)>>2]|0;l=h;while(1){if((l|0)>=(i|0))break;n=j+(l*24|0)+8|0;c[n>>2]=b;c[n+4>>2]=d;n=j+(l*24|0)+16|0;c[n>>2]=f;c[n+4>>2]=g;l=l+1|0}k=k+1|0}return}function Zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(cf(c[e>>2]|0,d)|0)){lj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Gh(g,23229,h)|0}}}while(0);i=j;return}function _d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Oj(d);d=g}e=e+1|0}}else{Ci(b);b=d+8|0}while(0);$j(c[b>>2]|0);Ui(a)}return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k;d=Hk()|0;e=h+4|0;f=h+8|0;while(1){if(!(Fg(a,g)|0))break;if(!(hf(b,c[g>>2]|0)|0)){j=4;break}Od(c[g>>2]|0,h,3)|0;l=ui(c[e>>2]|0)|0;sc(d,l,ui(c[f>>2]|0)|0)}if((j|0)==4)hk(a);i=k;return d|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=kc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((kc(a,4,f)|0)<0){c[g>>2]=se(c[(zi()|0)>>2]|0)|0;ji(15990,g);d=-1}else d=0}else{c[e>>2]=se(c[(zi()|0)>>2]|0)|0;ji(15959,e);d=-1}i=h;return d|0}function be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d<<24>>24;f=b;b=0;while(1){if(!f)break;if(!(a[f>>0]|0))break;d=Ji(f,g)|0;if(!d){d=0;e=ai(f)|0}else{h=d-f|0;e=le(h+8|0)|0;re(e+4|0,f|0,h|0)|0;d=d+1|0}c[e>>2]=b;f=d;b=e}d=0;while(1){if(!b)break;g=c[b>>2]|0;c[b>>2]=d;h=b;b=g;d=h}return d|0}function ce(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[20977+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[20985+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[20985+f>>0]}while(0);return}function de(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0;m=i;i=i+288|0;l=m;k=m+24|0;b=c[b+(d<<2)>>2]|0;if((Xb(b,e,f,g,h,j,k,256)|0)>0){e=c[a+28>>2]|0;m=c[a+4>>2]|0;c[l>>2]=k;c[l+4>>2]=d+1;c[l+8>>2]=e;c[l+12>>2]=m;c[l+16>>2]=b;Ei(23747,l)}else{i=m;return}}function ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Rc(30465,a[d>>0]|0,4)|0){h=Mf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ni(ab(5,e|0)|0)|0;if((e|0)>=0){b=zc(e,d)|0;if(!b){c[f>>2]=e;La(6,f|0)|0;b=0}}else b=0}else{c[(zi()|0)>>2]=22;b=0}i=g;return b|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ei(19021,d)}d=Wj(a,b)|0;if(!d){g=c[(zi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ei(19085,e)}else{i=f;return d|0}return 0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(lb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)lb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Ng(22967,a)|0))if(!(Ng(22970,a)|0))if(!(Ng(22974,a)|0))if(!(Ng(22977,a)|0))a=0;else{a=22982;e=5}else{a=22986;e=5}else{a=22990;e=5}else{a=22992;e=5}if((e|0)==5){c[d>>2]=a;oh(b,20,22995,d)|0;a=ti(b)|0}i=f;return a|0}function ie(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=$h(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return $h((Yb(h,g,$h(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;rg(h,0);e=+vb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ke(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=Sg(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Zi(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 le(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ei(19157,b)}b=uk(a)|0;if(!b){f=c[(zi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ei(19210,d)}else{Te(b|0,0,a|0)|0;i=e;return b|0}return 0}function me(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)lb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ne(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=20919;break}case 2:{a=20898;break}case -1:{a=20887;break}case -2:{a=20871;break}case -3:{a=20871;break}case -4:{a=20856;break}case -5:{a=20841;break}case -6:{a=20822;break}case 0:{a=0;break}default:{c[b>>2]=a;oh(31440,128,20803,b)|0;a=31440}}i=d;return a|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ei(18897,b)}b=uk(a)|0;if(!b){f=c[(zi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ei(18955,d)}else{i=e;return b|0}return 0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=tb(b)|0;return a|0}if(b>>>0>4294967231){c[(zi()|0)>>2]=12;a=0;return a|0}d=Rb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=tb(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;re(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Bb(a);a=d;return a|0}function qe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;d=a+4|0;b=c[d>>2]|0;if(b|0){b=b<<5;if(!(c[a+16>>2]|0))dg(c[a+12>>2]|0,c[a>>2]|0,b);else{h=Vj(b)|0;f=Pa()|0;g=i;i=i+((1*h|0)+15&-16)|0;b=jf(c[a>>2]|0,b,g,h)|0;dg(c[a+12>>2]|0,g,b);za(f|0)}c[d>>2]=0}i=e;return}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ma(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 se(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[28533+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=28621;e=5;break}}if((e|0)==2)if(!c)b=28621;else{b=28621;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 te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;ic(b,g);ic(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Lf(e,2048,d);Lf(f+2064|0,2048,g+2064|0)}g=Oc(f)|0;i=h;return g|0}function ue(b){b=b|0;var d=0,e=0.0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g;d=g+4|0;h=c[b>>2]|0;e=+Xj(h,d);d=c[d>>2]|0;f=d;a:do if((d|0)!=(h|0)){switch(a[d>>0]|0){case 44:case 0:break;default:break a}c[b>>2]=f;i=g;return +e}while(0);d=Ji(h,44)|0;if(d|0)a[d>>0]=0;c[j>>2]=h;Ei(17943,j);return +(0.0)}function ve(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Fg(b,d)|0))break;if((Ng(23888,c[d>>2]|0)|0)==0?(Ng(23896,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Xh(2,23939,f)}if((g|0)==5){c[e>>2]=c[d>>2];Xh(2,23902,e);a[b+48>>0]=1}i=h;return}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function xe(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ei(17912,k)}else{c[j>>2]=e;Wi(d,j)}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Aa(18621,18673,357,18696);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=uh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Xi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function ze(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;rg(j,0);e=Hb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Ae(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;oh(h,256,16602,j)|0;j=od(h,Wd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Ih(e,16608,k);Ui(g)}i=l;return}function Be(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){_a(30920);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[7729]|0)==(a|0))c[7729]=b;Ua(30920)}b=vd(a)|0;b=pb[c[a+12>>2]&7](a)|0|b;d=c[a+92>>2]|0;if(d|0)Bb(d);if(!e)Bb(a);return b|0}function Ce(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=Pf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=18502;else e=(d|0)==2?18461:18470;else e=18493;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;og(18511,g);return 0}function De(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;d=c[e>>2]|0;if(((wf(d,21680)|0)!=0?(wf(d,21688)|0)!=0:0)?(wf(d,21695)|0)!=0:0)d=0;else{d=le(12)|0;c[d+4>>2]=ti(c[e>>2]|0)|0;xh(b)|0;if((a[c[e>>2]>>0]|0)==91){xh(b)|0;c[d+8>>2]=af(b)|0;xh(b)|0;Tf(b,21701)}}return d|0}function Ee(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=g+12|0;c[e>>2]=0;if((b|0)>15){c[f>>2]=b;Ei(25358,f)}if((b|0)<3)Ei(25432,g+8|0);else{h=$c(15,15)|0;f=eh(h)|0;c[e>>2]=f;f=Sb(25490,a,25496,f,b,0,d)|0;$j(h);vg(e);i=g;return f|0}return 0}function Fe(a){a=a|0;var b=0,d=0,e=0;while(1){if(!a)break;b=a+12|0;e=mb[c[7717]&15](c[b>>2]|0,c[7715]|0)|0;d=mb[c[7717]&15](c[b>>2]|0,c[7716]|0)|0;if((e|0)<=-1){if((d|0)>=1)break}else{Fe(c[a>>2]|0);if((d|0)>=1)break;kb[c[7714]&3](c[b>>2]|0)}a=c[a+4>>2]|0}return}function Ge(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2433]|0;if((c[f+76>>2]|0)>-1)g=Lk(f)|0;else g=0;do if((Hj(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=(Ed(f,10)|0)<0}while(0);if(g|0)Kk(f);return d<<31>>31|0}function He(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;$j(e);f=f+1|0}$j(b);$j(i);i=h}Ui(g+12|0);Ui(g+28|0);Ui(a)}return}function Ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Xj(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Ei(23840,g);return +(0.0)}function Je(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+16|0;f=h;e=(a|0)<10?10:a;a=0;while(1){if((a|0)>=10){a=10;break}c[d+(a<<2)>>2]=0;c[b+(a<<2)>>2]=e;if((e|0)>536870911){g=4;break}e=e<<2;a=a+1|0}if((g|0)==4){a=a+1|0;c[f>>2]=a;Xh(2,20372,f)}i=h;return a|0}function Ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Ei(23396,f)}j=Td(d)|0;i=g;return j|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;e=b+-1|0;d=0;while(1){if(!a)break;j=c[a+8>>2]|0;h=((e+j|0)>>>0)/(b>>>0)|0;c[f>>2]=c[a+4>>2];c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=b;Xh(2,20605,f);d=h+d|0;a=c[a>>2]|0}i=g;return d|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=le((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ti(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Uc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(ed(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Oe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2433]|0);if((b|0)==(c[2492]|0)|d)if(d){vd(b)|0;b=1}else b=1;else if(!(Be(b)|0))b=1;else{cg(18556,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(bd(b,d,1,a)|0)!=1:0){b=dh(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Ei(18269,f)}else{f=se(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Ei(18240,e)}}i=g;return}function Qe(a){a=a|0;var b=0;b=ti(a)|0;if(!(((Ng(23007,a)|0)==0?(Ng(23015,a)|0)==0:0)?!(Ng(23024,a)|0):0))Cd(a,b,Wd(a)|0);if(!(Mh(b,23031)|0))if(!(Mh(b,23035)|0))if(!(Mh(b,23038)|0)){a=(Mh(b,23043)|0)==0;a=a?0:724}else a=760;else a=748;else a=736;$j(b);return a|0}function Re(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=lh(b)|0;do if((f|0)!=0?(wf(f,19805)|0)!=0:0){d=cj(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ei(19528,h)}else e=d;while(0);i=j;return e|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Xi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ei(19994,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Te(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 Ue(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Sj(e&65535)|0;if(d){h=pk(nd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Dj(b,59)|0;if((g|0?Ng(16314,g)|0:0)?(i=(Ji(g,61)|0)+1|0,h=Ji(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=rd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=rd(b)|0;c[e>>2]=f}}return}function We(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ye(0,1)|0;b=Di(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(Zg(b,f,2)|0))break;b=c[f>>2]|0;tj(d,b,ui(c[a>>2]|0)|0)|0;b=c[e>>2]|0}Jd(e);i=g;return d|0}function Xe(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 Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ni(qa(102,h|0)|0)|0;i=g;return e|0}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=gi(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){xj(e,16332);b=c[d>>2]|0}xj(e,b);f=f+1|0}g=Dh(g)|0;i=h;return g|0}function _e(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ni(qa(102,h|0)|0)|0;i=g;return e|0}function $e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+12>>2]|0;a=a+4|0;while(1){e=c[a>>2]|0;if(!e){a=0;break}a=e+12|0;d=mb[f&15](b,c[a>>2]|0)|0;if((d|0)<0){a=e;continue}if((d|0)<=0){g=7;break}a=e+4|0}if((g|0)==7)a=c[a>>2]|0;return a|0}function af(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+20>>2]|0;if(((a[d>>0]|0)+-48|0)>>>0<10){e=ui(d)|0;i=f;return e|0}else{f=c[b+8>>2]|0;b=c[f+28>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=b;c[e+8>>2]=f;Ei(21642,e)}return 0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(wf(a,16309)|0)if(!(wf(a,16326)|0)){d=di(a+4112|0,Td(a+6160|0)|0)|0;break}else{c[e>>2]=b;Ei(16560,e)}else d=_b(a+4112|0,Td(a+6160|0)|0)|0;while(0);i=f;return d|0}function cf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((wf(c[e+4>>2]|0,d)|0)!=0);return e|0}function df(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;h=a+4|0;i=a+8|0;f=e[a>>1]|0;g=0;while(1){if((g|0)>=(f|0))break;a=Wd(c[b+((e[(c[h>>2]|0)+(g<<1)>>1]|0)<<2)>>2]|0)|0;d=(c[i>>2]|0)+(g<<2)|0;if((a|0)>(c[d>>2]|0))c[d>>2]=a;g=g+1|0}return}function ef(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((Ni(eb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function ff(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+32|0;f=g;e=g+8|0;if(!b)Aa(18042,18056,55,18071);if((c[23]|0)<0)c[23]=tg()|0;h=tg()|0;c[e>>2]=d;Yg(a,b,e);c[f>>2]=h-(c[23]|0);Xh(a,18083,f);c[23]=h;i=g;return}function gf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Ji(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function hf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Wd(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(Qj(d<<24>>24)|0)!=0;d=d&1}return d|0}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=Rd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=ne(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Ei(20935,g)}return 0}function kf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(wf(a,23119)|0){if(Qe(a)|0){c=ud(a,b)|0;break}c=pf(a,0,c)|0;if((c|0)==-1)c=0;else c=Qg(a,b,c)|0}else c=Ej(b)|0;while(0);i=d;return c|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Og(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)og(18367,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ei(18393,e)}}function mf(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;return sb[a&1](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)|0}function nf(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;k=i;i=i+16|0;j=k+4|0;h=k;while(1){if(!(Qb(b,h,j)|0)){g=0;break}g=c[h>>2]|0;if((a[g>>0]|0)==35)continue;g=Nd(g,d,e,f)|0;if(g|0)break}i=k;return g|0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;f=a+4|0;g=a+12|0;h=0;while(1){if((h|0)>=(e[a>>1]|0|0))break;i=ti(c[b+((e[(c[f>>2]|0)+(h<<1)>>1]|0)<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+(h<<2)>>2]|0)+(d*24|0)>>2]=i;h=h+1|0}return}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ni(ab(5,f|0)|0)|0;i=e;return d|0}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Jh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;re(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function rf(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+16|0;e=h+8|0;g=h;f=gi(0)|0;c[h+12>>2]=f;h=c[a+4>>2]|0;c[g>>2]=c[a+28>>2];c[g+4>>2]=h;Ih(f,23282,g);Fd(f,b,d);c[e>>2]=c[f+4>>2];Ei(23304,e)}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ni(qa(102,f|0)|0)|0;i=e;return d|0}function tf(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 uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=pi(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;lf(b,d,e);return}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ac(2,a,d)|0)<0){b=se(c[(zi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ji(17961,e);a=0}else{c[b>>2]=ok(c[d>>2]|0)|0;a=1}i=f;return a|0}function wf(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 xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=pi(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Md(b,d,e);return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Ye(a,1,20,d,8)|0)>=0)if((Ye(a,1,21,d,8)|0)<0){ji(15854,e);a=-1}else a=0;else{ji(15804,f);a=-1}i=f;return a|0}function zf(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,Ta(54,f|0)|0):0)a[b+75>>0]=-1;f=yc(b,d,e)|0;i=g;return f|0}function Af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;a=Rf(a)|0;switch(a|0){case 1:{b=21399;break}case 2:{b=21893;break}case 4:{b=25595;break}case 8:{b=21875;break}default:{c[d>>2]=a;Ei(21773,d)}}i=e;return b|0}function Bf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Qb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=Od(f,d,e)|0;if(f|0)break}i=j;return f|0}function Cf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Bj(a[e>>0]|0)|0;c=c<<24>>24;b=(Bj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Df(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 Ef(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b;b=0;while(1){if(!f)break;if((b|0)==(d|0)|(a[f>>0]|0)==0)break;e=Ji(f,44)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}g[c+(b<<2)>>2]=+zk(f);f=e;b=b+1|0}return b|0}function Ff(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;Lg(b);a=ad(a,b)|0;if(!(b&1)){b=Vg(a+16|0)|0;c[f>>2]=b;Wb(a,b,d,e,0,0);ng(f)}else Cg(a,d,e,0,0);i=g;return a|0}function Gf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=xb(e,b,d)|0;i=g;return h|0}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Se(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function If(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=lb[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=ld(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ei(18570,g)}return 0}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Rc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;re(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Wd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Ei(18097,f)}else{Tj(a,d)|0;i=g;return}}function Mf(b){b=b|0;var c=0,d=0,e=0;d=(Ji(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Ji(b,120)|0)==0;d=e?d:d|128;b=(Ji(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((d|0)<(b|0)){g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Ei(23347,e)}else{i=f;return}}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Ei(23307,e)}}function Pf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ni(eb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;f=f+16|0;c[f>>2]=d;oi(b,f);f=c[a+8>>2]|0;b=c[f+4>>2]|0;d=c[a+12>>2]|0;c[e>>2]=c[f+28>>2];c[e+4>>2]=b;c[e+8>>2]=d;Ei(21076,e)}function Rf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;switch(a|0){case 4:case 3:{b=4;break}case 6:case 5:{b=2;break}case 8:case 7:{b=1;break}case 9:{b=8;break}default:{c[d>>2]=a;Ei(21703,d)}}i=e;return b|0}function Sf(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=(Lk(e)|0)==0;a=cd(a,f,e)|0;if(!g)Kk(e)}else a=cd(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a+20|0;if(!(Cf(c[d>>2]|0,b)|0))xh(a)|0;else{d=c[d>>2]|0;c[e>>2]=b;c[e+4>>2]=d;Qf(a,21117,e)}i=f;return}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=pi(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(23952)ah(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Vf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2433]|0;else{Ge(15746)|0;Ge(15771)|0;d=c[2433]|0;Kc(d,a,b)|0;Id(10,d)|0;vd(d)|0}vd(d)|0;d=c[2463]|0;Kc(d,a,b)|0;Id(10,d)|0;vd(d)|0}return}function Wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+12|0;e=c[g>>2]|0;f=c[b+8>>2]|0;if((e|0)>=(f|0)){Jh(b,f+256|0);e=c[g>>2]|0}b=c[b+4>>2]|0;c[g>>2]=e+1;b=b+e|0;a[b>>0]=d;a[b+1>>0]=0;return d|0}function Xf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ni(fb(142,h|0)|0)|0;i=g;return d|0}function Yf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)Zf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function _f(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=oe(h)|0;a=a+136|0;ah(a,b,d+64|0,0)|0;xf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function $f(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=kf(a,b)|0;if(!b){e=se(c[(zi()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Ei(23125,d)}else{i=e;return b|0}return 0}function ag(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Uh(e)|0,(a[d>>0]|0)!=0):0){e=Bg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function bg(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=se(c[(zi()|0)>>2]|0)|0;c[g+4>>2]=a;Fh(f,15798,g)|0;oi(f,e);i=d;return}function dg(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?(Sf(b,d,1,a)|0)!=1:0){a=se(dh(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Ei(18210,e)}i=f;return}function eg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else re(b,c,d)|0;return b|0}function fg(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=0;f=0;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=f;break}b=b+1|0;d=(e<<24>>24==c<<24>>24&1)+d|0;f=e}return ((b<<24>>24==0?1:b<<24>>24==c<<24>>24)&1^1)+d|0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[7720]|0;if((d|0?(e=sh(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Ei(19926,f);f=lh(a)|0;i=g;return ((f|0)==0?b:f)|0}function hg(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;c[a+20>>2]=b;b=b*24|0;d=a+12|0;f=0;while(1){if((f|0)>=(e[a>>1]|0|0))break;g=Xi(b)|0;c[(c[d>>2]|0)+(f<<2)>>2]=g;f=f+1|0}return}function ig(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(me(a)|0)!=0:0)b=-1;else if((lb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ei(15120,e)}}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=be(c[7687]|0,44)|0;f=eh(c[7691]|0)|0;Ee(f,c[7688]|0,1)|0;Gb(a,b,c[2]|0,c[3]|0,c[7691]|0,f,c[7694]|0,e,d);return}function lg(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 mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=pf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;og(15431,d)}else{i=e;return b|0}return 0}function ng(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((rh(b)|0)<0){c[d>>2]=b;og(15155,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=se(c[(zi()|0)>>2]|0)|0;c[f+4>>2]=a;Fh(e,15798,f)|0;Wi(e,d)}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Ai(b);d=f}c[a>>2]=0;i=e;return}function qg(a,b){a=a|0;b=b|0;a:do if(!a)a=0;else{a=a+12|0;while(1){a=c[a>>2]|0;if(!a){a=0;break a}if(!(wf(c[a+4>>2]|0,b)|0))break a}}while(0);return a|0}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function sg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((rh(b)|0)<0)og(18543,d);else{c[a>>2]=-1;break}while(0);i=e;return}function tg(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;d=e;db(d|0,0)|0;a=c[7721]|0;b=c[d>>2]|0;if(!a){c[7721]=b;a=b}i=e;return ((b-a|0)*1e3|0)+((c[d+4>>2]|0)/1e3|0)|0}function ug(a){a=a|0;var b=0,d=0,f=0,g=0;f=a+4|0;b=e[a>>1]|0;d=0;a=0;while(1){if((d|0)==(b|0))break;g=e[(c[f>>2]|0)+(d<<1)>>1]|0;d=d+1|0;a=(g|0)>(a|0)?g:a}return a|0}function vg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Oh(b);d=f}c[a>>2]=0;i=e;return}function wg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;ii(b);d=f}c[a>>2]=0;i=e;return}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=kj(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Aa(23063,23085,352,23101)}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=ra(63,e|0)|0}while((d|0)==-16);e=Ni(d)|0;i=f;return e|0}function zg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Lk(a)|0)==0;Ud(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Kk(a)}else{Ud(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=ti(b)|0;c[f+8>>2]=-1;b=Wd(e)|0;c[f+20>>2]=b;c[f+12>>2]=b;a[f+40>>0]=d;c[f+52>>2]=e;return f|0}function Bg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Qj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[a+16>>2]=Vg(h)|0;Wb(a,b,c[h>>2]|0,d,e,f);ng(h);i=g;return}function Dg(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+4>>2]=b;c[f+8>>2]=d;c[7722]=0;qh(a,f,f,1);$g(30888);i=e;return c[7722]|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(jh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function Fg(b,d){b=b|0;d=d|0;a:while(1){if(!(Qb(b,d,0)|0)){b=0;break}switch(a[(Uh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Gg(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=17){b=0;break}if(!(Cf(c[112+(b*36|0)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4)b=112+(b*36|0)|0;return b|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Eg(b)|0;b=md(b,20728)|0;g=oe(f+1|0)|0;c[d>>2]=g;Pe(b,g,f);a[g+f>>0]=0;Be(b)|0;if(e|0)c[e>>2]=f;return}function Ig(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=892;c[a+2852>>2]=a+2440;c[a+2860>>2]=1028;c[a+2864>>2]=a+2684;c[a+2872>>2]=1168;b[a+5816>>1]=0;c[a+5820>>2]=0;Gc(a);return}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;re(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Pg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Lg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ei(14629,c);break}default:{}}if((a&18|0)==16)Ei(14695,b);else{i=c;return}}function Mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Lk(a)|0)==0;b=Ud(a,b,d)|0;if(!e)Kk(a)}else b=Ud(a,b,d)|0;return b|0}function Ng(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ni(bb(4,f|0)|0)|0;i=e;return a|0}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ni(Ya(3,f|0)|0)|0;i=e;return a|0}function Qg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=ti(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=le(65537)|0;return f|0}function Rg(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;ba(8);return 0}function Sg(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;Yb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Ff(g,b,d,e)|0;i=f;return e|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=wd(g,b,d,e)|0;i=f;return e|0}function Vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Yh(b)|0)<0)og(14792,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Wg(b){b=b|0;var c=0,d=0;c=Wd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Qj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[22]|0)>=(a|0)){a=c[7718]|0;if(!a){a=c[2463]|0;c[7718]=a}Kc(a,b,d)|0;vd(c[7718]|0)|0}return}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;b=Bf(a,b,c)|0;if(b)if((b|0)<(c|0)){Of(a,c,b);b=1}else b=1;else b=0;return b|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function $g(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=pi(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ce(b,d,e)|0}function bh(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=Yf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function ch(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(wf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function dh(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Lk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Kk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function eh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;a=ti(a)|0;c[d>>2]=a;a=Nb(Ag(22260,1,a)|0)|0;Ui(d);i=b;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=(b|0)){e=5;break}if(!a){a=0;break}d=d+1|0;a=c[a>>2]|0}return a|0}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=le(20)|0;c[e>>2]=Xi(a<<5)|0;c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=d;return e|0}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=le(28)|0;c[e+4>>2]=0;c[e+12>>2]=a;c[e+20>>2]=b;c[e+16>>2]=d;c[e+8>>2]=0;return e|0}function ih(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ni(Sa(57,e|0)|0)|0;i=d;return a|0}function jh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ni(Ha(195,e|0)|0)|0;i=d;return a|0}function kh(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=11704;c[a+4>>2]=4;c[a+8>>2]=d;c[a+12>>2]=b;Ei(11708,a)}function lh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[7719]|0;if(!b)Ei(19894,d);else{a=qi(b,a)|0;i=d;return a|0}return 0}function mh(a){a=a|0;var b=0;b=le(36)|0;c[b+28>>2]=128;c[b+20>>2]=le(128)|0;c[b+8>>2]=a;c[b+16>>2]=31568;c[b+12>>2]=31568;return b|0}function nh(a,b){a=a|0;b=b|0;a=a+12|0;do{a=c[a>>2]|0;if(!a){a=0;break}}while((Cf(c[a+4>>2]|0,b)|0)!=0);return a|0}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Jf(a,b,d,g)|0;i=f;return e|0}function ph(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if(!a){d=-1;break}if((a|0)==(b|0))break;d=d+1|0;a=c[a>>2]|0}return d|0}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[7714]=e;c[7715]=b;c[7716]=d;c[7717]=c[a+12>>2];Fe(c[a+4>>2]|0);return}function rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=La(6,d|0)|0;a=Ni((a|0)==-4?-115:a)|0;i=b;return a|0}function sh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(wf(d,a)|0))break;b=b+8|0}return b|0}function th(a,b,d){a=a|0;b=b|0;d=d|0;d=Tg(Qe(a)|0,33,d,2)|0;b=Qg(a,b,lk(d)|0)|0;c[b+56>>2]=d;return b|0}function uh(a){a=a|0;var b=0;b=le(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Se(b,a)|0;return b|0}function vh(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=Ni(La(6,d|0)|0)|0;i=b;return a|0}function wh(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]}function xh(a){a=a|0;var b=0;b=i;i=i+16|0;a=cc(a)|0;if(!a)Ei(21094,b);else{i=b;return a|0}return 0}function yh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ob[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function zh(a,b){a=a|0;b=b|0;while(1){if(!a){a=0;break}if(!(Cf(c[a+4>>2]|0,b)|0))break;a=c[a>>2]|0}return a|0}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=le(d+1|0)|0;c=(c|0)<(d|0)?c:d;re(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Ch(a){a=a|0;while(1){if(!a)break;Ch(c[a>>2]|0);kb[c[7714]&3](c[a+12>>2]|0);a=c[a+4>>2]|0}return}function Dh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Aa(20681,20692,40,20708);else{b=c[b+4>>2]|0;Ui(a);return b|0}return 0}function Eh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Cj(c<<24>>24)|0;d=d+1|0}return b|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oj(a,b,f)|0;i=e;return d|0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Kc(a,b,f)|0;i=e;return d|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;b=b+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Ih(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;Fd(a,b,f);i=e;return}function Jh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=kj(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gf(a,b,f)|0;i=e;return d|0}function Lh(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;rf(a,b,f);i=e;return}function Mh(a,b){a=a|0;b=b|0;var c=0;c=Wd(a)|0;c=c-(Wd(b)|0)|0;if((c|0)<0)c=0;else c=(wf(a+c|0,b)|0)==0&1;return c|0}function Nh(a,b){a=a|0;b=b|0;dg(a,b,8);dg(a,b+8|0,8);dg(a,b+16|0,8);dg(a,b+24|0,8);dg(a,b+32|0,8);return}function Oh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);$j(c[b+8>>2]|0);wg(b+12|0);Ui(a)}return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Qh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Rh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;$j(b);b=d}c[a>>2]=0;return}function Sh(){var a=0,b=0;a=Ia(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;rh(b)|0;b=b+1|0}return}function Th(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Uh(b){b=b|0;if(!b)b=0;else while(1)if(!(Qj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Vh(a,b){a=a|0;b=b|0;if((c[a+8>>2]|0)>(c[b+4>>2]|0))a=(c[b+8>>2]|0)<=(c[a+4>>2]|0)&1;else a=-1;return a|0}function Wh(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Lk(a)|0)==0;a=If(a)|0}else a=If(a)|0;return a|0}function Xh(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;Yg(a,b,f);i=e;return}function Yh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ni(ua(42,d|0)|0)|0;i=b;return a|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;a=fe(a,c)|0;if(c>>>0>b>>>0)Te(a+b|0,0,c-b|0)|0;return a|0}function _h(){}function $h(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 (C=d,a-c>>>0|0)|0}function ai(a){a=a|0;var b=0;if(!a)a=le(8)|0;else{b=le((Wd(a)|0)+8|0)|0;Tj(b+4|0,a)|0;a=b}return a|0}function bi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[22]=a;c[d>>2]=0;i=b;return}function ci(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;dg(a,d,4);i=c;return}function di(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Ei(20993,d);return 0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;Id(b,a)|0;c=c+-1|0}return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;a=cf(a,b)|0;if(a)d=Ik(c[a+8>>2]|0)|0;return d|0}function gi(a){a=a|0;var b=0;b=le(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=le(a+1|0)|0;c[b+8>>2]=a;return b|0}function hi(){var a=0,b=0;b=i;i=i+16|0;a=Sc(2,1,0)|0;if((a|0)<0)ji(15929,b);i=b;return a|0}function ii(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);$j(c[b+8>>2]|0);Ui(a)}return}function ji(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;oi(a,e);i=d;return}function ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ic(b)|0;He(a)}return b|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[7719]|0)){Ti(Jb(a,b,0,d,0)|0);c[7720]=d}return}function mi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){qe(b);$j(c[b>>2]|0);Ui(a)}return}function ni(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+20>>2]|0);Jd(b+8|0);Ui(a)}return}function oi(a,b){a=a|0;b=b|0;var d=0;d=hd()|0;nb[c[d+8+(c[d+88>>2]<<2)>>2]&7](a,b);return}function pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function qi(a,b){a=a|0;b=b|0;a=cf(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function si(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ti(a){a=a|0;var b=0;if(!a)a=0;else{b=Wd(a)|0;a=Bh(a,b,b)|0}return a|0}function ui(a){a=a|0;var b=0;b=i;i=i+16|0;a=xe(a,0,b)|0;i=b;return a|0}function vi(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wj(a,b);return Ac(a,b,c,d)|0}function xi(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function yi(a){a=a|0;switch(a|0){case 8:case 6:case 4:{a=1;break}default:a=0}return a|0}function zi(){var a=0;if(!(c[7723]|0))a=30936;else a=c[(Qk()|0)+64>>2]|0;return a|0}function Ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);Ui(a)}return}function Bi(a){a=a|0;if(!a)a=0;else{a=Uh(a)|0;Wg(a)}return a|0}function Ci(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Rh(b);$j(b);c[a>>2]=0}return}function Di(a){a=a|0;a=Wc(a)|0;if(!a)Ki();else return a|0;return 0}function Ei(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Wi(a,d)}function Fi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lb[a&7](b|0,c|0,d|0)|0}function Gi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){$j(c[b+4>>2]|0);Ui(a)}return}function Hi(a){a=a|0;if((c[a+76>>2]|0)>-1?Lk(a)|0:0)Kk(a);return c[a+60>>2]|0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;a=Hf(a,c)|0;re(a|0,b|0,c|0)|0;return a|0}function Ji(b,c){b=b|0;c=c|0;b=fd(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ki(){var a=0;a=hd()|0;rb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Oa(-1)}function Li(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function Mi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){sg(b+52|0);Ui(a)}return}function Ni(a){a=a|0;if(a>>>0>4294963200){c[(zi()|0)>>2]=0-a;a=-1}return a|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gc(a,b,8,15,8,0,c,d)|0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&3](b|0,c|0,d|0)}function Qi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ci(b+20|0);Ui(a)}return}function Ri(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Si(a,b){a=a|0;b=b|0;if(!a)a=0;else a=xd(a,b,0)|0;return a|0}function Ti(a){a=a|0;c[7719]=a;if(lh(19386)|0)bi(Re(19386,0)|0);return}function Ui(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)yk(b);return}function Vi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Wi(a,b){a=a|0;b=b|0;c[(hd()|0)+4>>2]=1;oi(a,b);Ki()}function Xi(a){a=a|0;var b=0;b=oe(a)|0;Te(b|0,0,a|0)|0;return b|0}function Yi(a,b){a=a|0;b=b|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb(a,b,c,d,0)|0}function _i(a){a=a|0;var b=0;b=uh(0)|0;return hh(a,b,Hf(b,512)|0)|0}function $i(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,0,-2147483648)|0;return a|0}function bj(a,b){a=a|0;b=b|0;return wf(c[a>>2]|0,c[b>>2]|0)|0}function cj(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,-2147483648,0)|0;return a|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return lc(a,b,16784,16793,c)|0}function ej(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function fj(a,b){a=a|0;b=b|0;return wf(c[a+4>>2]|0,c[b+4>>2]|0)|0}function gj(a,b){a=a|0;b=b|0;sj(b,c[a>>2]|0,c[7692]|0)|0;return}function hj(a,b,c){a=a|0;b=b|0;c=c|0;return mb[a&15](b|0,c|0)|0}function ij(a,b){a=a|0;b=b|0;c[7714]=b;Ch(c[a+4>>2]|0);return}function jj(a){a=a|0;c[7722]=0;ij(a,1);$g(30888);return c[7722]|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;return Zh(a,b,c)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,Wd(b)|0,c)|0}function mj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function nj(a){a=a|0;if(!(Oe(a)|0))Ki();else return}function oj(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,2147483647,b,c)|0}function pj(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;nb[a&7](b|0,c|0)}function rj(){if((Qa(15779)|0)==0?(Qa(15789)|0)==0:0)Oa(-1);Na()}function sj(a,b,c){a=a|0;b=b|0;c=c|0;Nc(a,b,c)|0;return a|0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,0+c|0)|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;return tb(_(c,b)|0)|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;return Kf(a,b,c)|0}function wj(a,b){a=a|0;b=b|0;lf(a,b,Wd(b)|0);return}function xj(a,b){a=a|0;b=b|0;qf(a,b,Wd(b)|0);return}function yj(a,b){a=a|0;b=b|0;return Bh(a,Wd(a)|0,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,0,c)|0}function Aj(a,b){a=a|0;b=b|0;Tj(b,c[a+4>>2]|0)|0;return}function Bj(a){a=a|0;var b=0;b=(jk(a)|0)==0;return (b?a:a&95)|0}function Cj(a){a=a|0;var b=0;b=(ik(a)|0)==0;return (b?a:a|32)|0}function Dj(a,b){a=a|0;b=b|0;return _g(a,b,(Wd(a)|0)+1|0)|0}function Ej(a){a=a|0;return Qg(23119,a,Hi(c[2492]|0)|0)|0}function Fj(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function Gj(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function Hj(a,b){a=a|0;b=b|0;return (Sf(a,Wd(a)|0,1,b)|0)+-1|0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,1,c)|0}function Jj(a){a=a|0;return ((a+-48|0)>>>0<10|(ak(a)|0)!=0)&1|0}function Kj(a){a=a|0;Hd(a,0,0);c[a+28>>2]=0;return}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return Mg(a,b,c)|0}function Mj(a,b){a=a|0;b=b|0;return pb[a&7](b|0)|0}function Nj(a){a=a|0;c[a>>2]=c[7722];c[7722]=a;return}function Oj(a){a=a|0;$j(c[a+4>>2]|0);$j(a);return}function Pj(a,b){a=a|0;b=b|0;i=a;j=b}function Qj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Rj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Sj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Tj(a,b){a=a|0;b=b|0;id(a,b)|0;return a|0}function Uj(a,b){a=a|0;b=b|0;kb[a&3](b|0)}function Vj(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Wj(a,b){a=a|0;b=b|0;return pe(a,b)|0}function Xj(a,b){a=a|0;b=b|0;return +(+je(a,b,1))}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function Zj(a){a=a|0;ei(a,0,240);return}function _j(a){a=a|0;ei(a,0,64);return}function $j(a){a=a|0;if(a|0)yk(a);return}function ak(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function bk(a,b){a=+a;b=+b;return +(+bg(a,b))}function ck(a,b){a=+a;b=b|0;return +(+Sd(a,b))}function dk(a,b){a=+a;b=b|0;return +(+Xd(a,b))}function ek(a){a=a|0;return (a+-3|0)>>>0<7|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function gk(a){a=a|0;return (lh(a)|0)!=0|0}function hk(b){b=b|0;a[b+48>>0]=1;return}function ik(a){a=a|0;return (a+-65|0)>>>0<26|0}function jk(a){a=a|0;return (a+-97|0)>>>0<26|0}function kk(a,b){a=a|0;b=b|0;Bb(b);return}function lk(a){a=a|0;return c[a+16>>2]|0}function mk(a,b){a=+a;b=+b;return +(+ec(a,b))}function nk(a){a=a|0;return a>>>0<2|0}function ok(a){a=a|0;return ej(a|0)|0}function pk(a){a=a|0;return ej(a|0)|0}function qk(a,b){a=a|0;b=b|0;ba(2);return 0}function rk(){c[23]=tg()|0;return}function sk(a){a=a|0;return a+8|0}function tk(a){a=a|0;rb[a&1]()}function uk(a){a=a|0;return tb(a)|0}function vk(a){a=a|0;return a+8|0}function wk(a){a=a|0;Bb(a);return}function xk(a){a=a|0;return Wh(a)|0}function yk(a){a=a|0;Bb(a);return}function zk(a){a=a|0;return +(+Xj(a,0))}function Ak(a){a=a|0;return 0}function Bk(a,b){a=a|0;b=b|0;ba(3)}function Ck(a){a=a|0;return 0}function Dk(a){a=a|0;i=a}function Ek(a){a=a|0;return 0+a|0}function Fk(a){a=a|0;C=a}function Gk(a){a=a|0;ba(5);return 0}function Hk(){return _i(8)|0}function Ik(a){a=a|0;return a|0}function Jk(){_d(30876);return}function Kk(a){a=a|0;return}function Lk(a){a=a|0;return 0}function Mk(){return c[22]|0}function Nk(){return C|0}function Ok(){return i|0}function Pk(a){a=a|0;ba(0)}function Qk(){return 0}function Rk(){ba(7)}
 
 // EMSCRIPTEN_END_FUNCS
-var kb=[Pk,Nj,Gj,Fj];var lb=[Yj,zf,ff,yc,Tc,Jg,uj,vj];var mb=[qk,Ub,Ib,Eb,Yi,bj,fj,xi,Vh,qk,qk,qk,qk,qk,qk,qk];var nb=[Bk,gj,Vf,Aj,kk,Bk,Bk,Bk];var ob=[Vi];var pb=[Gk,vh,sk,vk,Fc,Gk,Gk,Gk];var qb=[fk,Hh,Xg,fk];var rb=[Rk,rj];var sb=[Rg,Pb];return{_i64Subtract:$h,_bitshift64Ashr:Ah,_free:Bb,_main:uc,_htonl:pk,_realloc:pe,_i64Add:pi,_memmove:eg,_pthread_self:Qk,_memset:Te,_pthread_mutex_unlock:Ak,_malloc:tb,_pthread_mutex_lock:Ck,_memcpy:re,_llvm_bswap_i32:ej,_bitshift64Lshr:Th,_htons:Sj,_bitshift64Shl:Ph,___errno_location:zi,_ntohs:Rj,runPostSets:_h,stackAlloc:Ri,stackSave:Ok,stackRestore:Dk,establishStackSpace:Pj,setThrew:mj,setTempRet0:Fk,getTempRet0:Nk,dynCall_vi:Uj,dynCall_iiii:Fi,dynCall_iii:hj,dynCall_vii:qj,dynCall_iiiiiii:yh,dynCall_ii:Mj,dynCall_viii:Pi,dynCall_v:tk,dynCall_iiiiiiiiiiiiiii:mf}})
+var kb=[Pk,Nj,Gj,Fj];var lb=[Yj,zf,ef,yc,Tc,Jg,uj,vj];var mb=[qk,Ub,Ib,Eb,Yi,bj,fj,xi,Vh,qk,qk,qk,qk,qk,qk,qk];var nb=[Bk,gj,Vf,Aj,kk,Bk,Bk,Bk];var ob=[Vi];var pb=[Gk,vh,sk,Fc,vk,Gk,Gk,Gk];var qb=[fk,Hh,Xg,fk];var rb=[Rk,rj];var sb=[Rg,Pb];return{_i64Subtract:$h,_bitshift64Ashr:Ah,_free:Bb,_main:uc,_htonl:pk,_realloc:pe,_i64Add:pi,_memmove:eg,_pthread_self:Qk,_memset:Te,_pthread_mutex_unlock:Ak,_malloc:tb,_pthread_mutex_lock:Ck,_memcpy:re,_llvm_bswap_i32:ej,_bitshift64Lshr:Th,_htons:Sj,_bitshift64Shl:Ph,___errno_location:zi,_ntohs:Rj,runPostSets:_h,stackAlloc:Ri,stackSave:Ok,stackRestore:Dk,establishStackSpace:Pj,setThrew:mj,setTempRet0:Fk,getTempRet0:Nk,dynCall_vi:Uj,dynCall_iiii:Fi,dynCall_iii:hj,dynCall_vii:qj,dynCall_iiiiiii:yh,dynCall_ii:Mj,dynCall_viii:Pi,dynCall_v:tk,dynCall_iiiiiiiiiiiiiii:mf}})
 
 
 // EMSCRIPTEN_END_ASM
diff --git a/bedTools/bedToBigBed_static.js.mem b/bedTools/bedToBigBed_static.js.mem
index b7f1c75127b0c0347fd11d407eddecfb532ade77..b97d481089bb0c24338b31f203aa40b190d593dd 100644
Binary files a/bedTools/bedToBigBed_static.js.mem and b/bedTools/bedToBigBed_static.js.mem differ
diff --git a/bedTools/bigBedInfo.c b/bedTools/bigBedInfo.c
new file mode 100644
index 0000000000000000000000000000000000000000..df34d9861519be9ccdf85586899a575700feed62
--- /dev/null
+++ b/bedTools/bigBedInfo.c
@@ -0,0 +1,137 @@
+/* bigBedInfo - Show information about a bigBed file.. */
+
+/* Copyright (C) 2014 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+#include "common.h"
+#include "linefile.h"
+#include "hash.h"
+#include "options.h"
+#include "udc.h"
+#include "bPlusTree.h"
+#include "bbiFile.h"
+#include "bigBed.h"
+#include "obscure.h"
+#include "hmmstats.h"
+
+
+void usage()
+/* Explain usage and exit. */
+{
+errAbort(
+  "bigBedInfo - Show information about a bigBed file.\n"
+  "usage:\n"
+  "   bigBedInfo file.bb\n"
+  "options:\n"
+  "   -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs\n"
+  "   -chroms - list all chromosomes and their sizes\n"
+  "   -zooms - list all zoom levels and their sizes\n"
+  "   -as - get autoSql spec\n"
+  "   -extraIndex - list all the extra indexes\n"
+  );
+}
+
+static struct optionSpec options[] = {
+   {"udcDir", OPTION_STRING},
+   {"chroms", OPTION_BOOLEAN},
+   {"zooms", OPTION_BOOLEAN},
+   {"as", OPTION_BOOLEAN},
+   {"extraIndex", OPTION_BOOLEAN},
+   {NULL, 0},
+};
+
+void printLabelAndLongNumber(char *label, long long l)
+/* Print label: 1,234,567 format number */
+{
+printf("%s: ", label);
+printLongWithCommas(stdout, l);
+printf("\n");
+}
+
+void bigBedInfo(char *fileName)
+/* bigBedInfo - Show information about a bigBed file.. */
+{
+struct bbiFile *bbi = bigBedFileOpen(fileName);
+printf("version: %d\n", bbi->version);
+printf("fieldCount: %d\n", bbi->fieldCount);
+printf("hasHeaderExtension: %s\n", (bbi->extensionOffset != 0 ? "yes" : "no"));
+printf("isCompressed: %s\n", (bbi->uncompressBufSize > 0 ? "yes" : "no"));
+printf("isSwapped: %d\n", bbi->isSwapped);
+printf("extraIndexCount: %d\n", bbi->extraIndexCount);
+if (optionExists("extraIndex"))
+    {
+    struct slName *el, *list = bigBedListExtraIndexes(bbi);
+    for (el = list; el != NULL; el = el->next)
+	{
+	int fieldIx = 0;
+	struct bptFile *bpt = bigBedOpenExtraIndex(bbi, el->name, &fieldIx);
+        printf("    %s (field %d) with %lld items\n", el->name, fieldIx, (long long)bpt->itemCount);
+	}
+    }
+printLabelAndLongNumber("itemCount", bigBedItemCount(bbi));
+printLabelAndLongNumber("primaryDataSize", bbi->unzoomedIndexOffset - bbi->unzoomedDataOffset);
+if (bbi->levelList != NULL)
+    {
+    long long indexEnd = bbi->levelList->dataOffset;
+    printLabelAndLongNumber("primaryIndexSize", indexEnd - bbi->unzoomedIndexOffset);
+    }
+struct bbiChromInfo *chrom, *chromList = bbiChromList(bbi);
+printf("zoomLevels: %d\n", bbi->zoomLevels);
+if (optionExists("zooms"))
+    {
+    struct bbiZoomLevel *zoom;
+    for (zoom = bbi->levelList; zoom != NULL; zoom = zoom->next)
+	{
+	printf("\t%d\t%d\n", zoom->reductionLevel, (int)(zoom->indexOffset - zoom->dataOffset));
+	for (chrom=chromList; chrom != NULL; chrom = chrom->next)
+	    {
+	    struct bbiSummary *sum, *sumList = bbiSummariesInRegion(zoom, bbi,   chrom->id,0, chrom->size);
+	     for (sum = sumList; sum != NULL; sum = sum->next)
+	             {
+		     printf("\t\t%s:%d-%d\n",chrom->name, sum->start, sum->end);
+		     }
+				       
+	    }
+
+	}
+    }
+printf("chromCount: %d\n", slCount(chromList));
+if (optionExists("chroms"))
+    for (chrom=chromList; chrom != NULL; chrom = chrom->next)
+	printf("\t%s %d %d\n", chrom->name, chrom->id, chrom->size);
+if (optionExists("as"))
+    {
+    char *asText = bigBedAutoSqlText(bbi);
+    if (asText == NULL)
+        printf("as:  n/a\n");
+    else
+	{
+	printf("as:\n");
+	printf("%s", asText);
+	}
+    }
+struct bbiSummaryElement sum = bbiTotalSummary(bbi);
+printLabelAndLongNumber("basesCovered", sum.validCount);
+double meanDepth = 0, depthStd = 0;
+if (sum.validCount > 0)
+    {
+    meanDepth = sum.sumData/sum.validCount;
+    depthStd = calcStdFromSums(sum.sumData, sum.sumSquares, sum.validCount);
+    }
+printf("meanDepth (of bases covered): %f\n", meanDepth);
+printf("minDepth: %f\n", sum.minVal);
+printf("maxDepth: %f\n", sum.maxVal);
+printf("std of depth: %f\n", depthStd);
+}
+
+int main(int argc, char *argv[])
+/* Process command line. */
+{
+optionInit(&argc, argv, options);
+if (argc != 2)
+    usage();
+udcSetDefaultDir(optionVal("udcDir", udcDefaultDir()));
+bigBedInfo(argv[1]);
+if (verboseLevel() > 1)
+    printVmPeak();
+return 0;
+}
diff --git a/bedTools/bigBedInfo_static.js b/bedTools/bigBedInfo_static.js
new file mode 100644
index 0000000000000000000000000000000000000000..ad252fa7add4f17a3a11bdf082b00328e8975a49
--- /dev/null
+++ b/bedTools/bigBedInfo_static.js
@@ -0,0 +1,17 @@
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+29888;__ATINIT__.push();memoryInitializer="bigBedInfo_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=oc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=oc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=23890;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=23917;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=lc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=23867;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=23890;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=23937;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=Si(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=24001;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=24030;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=lc(o,q,r)|0;else o=oc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=Si(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=24204;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=lc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11816+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=24225;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=oc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}ie(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11816+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=24066;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9640;c[H>>2]=9;c[I>>2]=11688;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=23982;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=24091;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=24091;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=24117;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=24154;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=24182;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=24300;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;ie(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=oc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=oc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=24278;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=oc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=23962;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=oc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=24248;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Mc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=lc(j,h,k)|0;else h=oc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6796]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=27224+(b<<1<<2)|0;e=d+8|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[6800]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6796]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6798]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=27224+(b<<1<<2)|0;e=d+8|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[6800]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6798]|0;break}else Za()}else{c[6796]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6801]|0;b=l>>>3;d=27224+(b<<1<<2)|0;a=c[6796]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{m=a;n=b}}else{c[6796]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6798]=h;c[6801]=e;N=j;i=O;return N|0}a=c[6797]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[27488+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6800]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=27488+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6797]=c[6797]&~(1<<a);break}}else{if(h>>>0<(c[6800]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6800]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6800]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6798]|0;if(a|0){f=c[6801]|0;b=a>>>3;e=27224+(b<<1<<2)|0;a=c[6796]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{r=a;s=b}}else{c[6796]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6798]=d;c[6801]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6797]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[27488+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[27488+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6798]|0)-q|0)>>>0:0){f=c[6800]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=27488+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6797]=c[6797]&~(1<<a);break}}else{if(g>>>0<(c[6800]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6800]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6800]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=27224+(a<<1<<2)|0;b=c[6796]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{w=a;x=b}}else{c[6796]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=27488+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6797]|0;b=1<<d;if(!(a&b)){c[6797]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6800]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6798]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6801]|0;if(a>>>0>15){N=b+q|0;c[6801]=N;c[6798]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6798]=0;c[6801]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6799]|0;if(a>>>0>q>>>0){L=a-q|0;c[6799]=L;N=c[6802]|0;M=N+q|0;c[6802]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6914]|0)){c[6916]=4096;c[6915]=4096;c[6917]=-1;c[6918]=-1;c[6919]=0;c[6907]=0;x=p&-16^1431655768;c[p>>2]=x;c[6914]=x}h=q+48|0;g=c[6916]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6906]|0;if(a|0?(w=c[6904]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6907]&4)){a=c[6802]|0;c:do if(a){d=27632;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6799]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6915]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6904]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6906]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6916]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6907]=c[6907]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6904]|0)+f|0;c[6904]=a;if(a>>>0>(c[6905]|0)>>>0)c[6905]=a;j=c[6802]|0;do if(j){e=27632;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6799]|0)|0;c[6802]=M;c[6799]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6803]=c[6918];break}a=c[6800]|0;if(h>>>0<a>>>0){c[6800]=h;k=h}else k=a;d=h+f|0;a=27632;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=27632;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6801]|0)){N=(c[6798]|0)+g|0;c[6798]=N;c[6801]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=27488+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6800]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6797]=c[6797]&~(1<<b);break e}while(0);e=c[6800]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6800]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=27224+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6796]=c[6796]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=27224+(a<<1<<2)|0;b=c[6796]|0;a=1<<a;do if(!(b&a)){c[6796]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6800]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=27488+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6797]|0;b=1<<d;if(!(a&b)){c[6797]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6800]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6799]|0)+g|0;c[6799]=N;c[6802]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=27632;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6802]=N;c[6799]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6803]=c[6918];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6908];c[a+4>>2]=c[6909];c[a+8>>2]=c[6910];c[a+12>>2]=c[6911];c[6908]=h;c[6909]=f;c[6911]=0;c[6910]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=27224+(a<<1<<2)|0;b=c[6796]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{J=a;K=b}}else{c[6796]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=27488+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6797]|0;b=1<<d;if(!(a&b)){c[6797]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6800]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6800]|0;if((N|0)==0|h>>>0<N>>>0)c[6800]=h;c[6908]=h;c[6909]=f;c[6911]=0;c[6805]=c[6914];c[6804]=-1;a=0;do{N=27224+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6802]=M;c[6799]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6803]=c[6918]}while(0);a=c[6799]|0;if(a>>>0>q>>>0){L=a-q|0;c[6799]=L;N=c[6802]|0;M=N+q|0;c[6802]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(si()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0}while((yj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=ed(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[27020+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ed(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[27029+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ed(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=ed(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(si()|0)>>2]=22;cg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=ed(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ed(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;k=ki(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=ki(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=ed(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else cg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=ki(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=uc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){cg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ih(o|0,n|0,2)|0;H=ki(H|0,C|0,-32,-1)|0;e=ki(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(si()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(si()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=ki(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Uh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=ki(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Lj(+Md(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(si()|0)>>2]=34;g=+Mj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ed(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|0)==48){h=0;e=0;while(1){h=ki(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=ki(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=uc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){cg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=ki(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(si()|0)>>2]=22;cg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(si()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(si()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9608+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9608+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9608+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ih(c[p>>2]|0,0,29)|0;o=ki(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ni(o|0,n|0,1e9,0)|0;o=Ig(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Lj(+Md(1.0,105-o|0),j);m=+Wj(j,+Md(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Wj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(si()|0)>>2]=34}while(0);g=+Mj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(si()|0)>>2]=22;cg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(si()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Yc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[24328+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}tc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Nh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=24808;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=24808;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Uh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=24808;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?24808:24810;L=76}else{p=1;r=24809;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=24808;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=24808;o=N;break}case 109:{o=je(c[(si()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:26710;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Bd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?26718:26723}else{G=1;H=26720}else{q=-q;G=1;H=26717}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Oj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=be(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[24792+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Bd(e,32,K,r,I);if(!(c[e>>2]&32))Yc(y,w,e)|0;Bd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Yc(ea,o,e)|0;f=ba-p|0;Bd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Yc(t,f,e)|0;Bd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ih(c[r>>2]|0,0,t|0)|0;B=ki(B|0,C|0,o|0,0)|0;o=C;A=Ig(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ni(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=be(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Bd(e,32,K,w,I);if(!(c[e>>2]&32))Yc(H,G,e)|0;Bd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=be(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ne(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Yc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Yc(26748,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=be(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ne(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Yc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Bd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=be(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Yc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Yc(26748,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ne(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Yc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Bd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Yc(u,ba-u|0,e)|0}while(0);Bd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Bd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Yc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Yc(s?(t?27029:26744):t?26736:26740,3,e)|0;Bd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=24808;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[24792+(o&15)>>0]|r;o=Nh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=24808;L=77}else{o=t;t=2;r=24808+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=24808;L=77}}else if((L|0)==76){f=be(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Nc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=24808;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Hi(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Bd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Hi(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Yc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Bd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Bd(e,32,o,s,p);if(!(c[e>>2]&32))Yc(v,w,e)|0;Bd(e,48,o,s,p^65536);Bd(e,48,r,t,0);if(!(c[e>>2]&32))Yc(f,t,e)|0;Bd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;tc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=lk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(yj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{cg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ed(e)|0}while((yj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}cg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((ed(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ne(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ne(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ed(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Dc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=he(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Oi(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ed(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=he(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ed(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ed(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;cg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ed(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(yj(d[m>>0]|0)|0))break;else n=m}cg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ed(e)|0}while((yj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)kk(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=ki(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[186]|0)==0?(mf(c[a+8>>2]|0,21411)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=ki(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=ki(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=ki(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=ki(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Uh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=ki(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Uh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Uh(k|0,j|0,f|0,d|0)|0;ie(b|0,B+f|0,o|0)|0;e=ki(o|0,E|0,e|0,n|0)|0;f=C;d=Uh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=ki(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Tg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=ce(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=ki(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Uh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[186]|0){y=ki(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=ki(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Ni(k|0,j|0,w|0,0)|0;t=ki(A|0,B|0,-1,-1)|0;t=ki(t|0,C|0,w|0,0)|0;w=Ni(t|0,C|0,w|0,0)|0;t=m+52|0;Nf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((ij(u,d,s)|0)<(s|0))f=0;else{Jj(u);j=B;k=A;continue}while(1){o=ij(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=rj(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Ug(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Ug(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=ki(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Uh(f|0,j|0,p|0,q|0)|0;k=C;f=ge(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Tg(Z,c[K>>2]|0,p,0)|0;kf(Z,c[K>>2]|0,f,j);Ji(W)}Wd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Tg(P,c[t>>2]|0,da+64|0,0)|0;kf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Jj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Tg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}nf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;wi(21423,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Ph(4,21479,$);Ph(4,21525,aa);S=0;T=0;break}else if((n|0)==36){nf(Z,j,f,h);S=ba;S=ki(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=ki(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[186]|0:d;c[I>>2]=b;c[I+4>>2]=m;Ph(4,21641,I);if(0){c[e>>2]=b;Ah(0,21662,e)|0}c[h>>2]=0;c[n>>2]=0;pd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Jj(d);u=ni(21411)|0;c[h>>2]=u;Jj(c[n>>2]|0);c[n>>2]=ni(b)|0;j=1}else{u=d;j=0}h=u;g=ce(16)|0;do if(!(mf(u,21671)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=21671}else{if(!(mf(u,21906)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=21906;break}if(mf(u,20800)|0?mf(u,22067)|0:0){if(!(mf(u,22073)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=22073;break}if(!(mf(u,21411)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=21411;break}else{c[k>>2]=u;wi(22109,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=20800}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[186]|0?(l=(ye(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){Ji(o);Jj(u);Jj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=ce(312)|0;c[d+4>>2]=ni(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;bd(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[186]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(ii(c[g>>2]|0)|0))t=29;else{de(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[186]|0;if(g){Ed(c[d+40>>2]|0);p=d+44|0;n=Fc(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(ii(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;Ph(4,22198,s);Ei(G);zf(c[p>>2]|0)|0;zf(c[K>>2]|0)|0;g=d+52|0;if(ii(c[g>>2]|0)|0)zf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];Ph(4,22289,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Id(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=ki(h|0,k|0,8191,0)|0;k=Nh(k|0,C|0,13)|0;af(j,A,4);af(j,x,4);af(j,I,8);af(j,v,8);af(j,w,4);af(j,y,4);af(j,z,8);af(j,z,8);af(j,z,8);af(j,z,8);g=d+136|0;h=Tg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;wi(22339,D)}a[E>>0]=0;Tg(g,j,((k+7|0)/8|0)+-1|0,1)|0;kf(g,j,E,1);dg(B);c[B>>2]=Id(c[d+48>>2]|0,577)|0;dg(B);g=Fc(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];wi(22406,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=Df(c[f+52>>2]|0,0,1)|0;Jd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=ki(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=Nh(H|0,C|0,13)|0;H=(ij(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Tg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Id(c[d+48>>2]|0,2)|0;if(xg(20800,u)|0){c[I>>2]=0;j=d+52|0;if(ii(c[j>>2]|0)|0)pg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;zf(c[j>>2]|0)|0;break}else{if(!(Vg(g,h)|0))break;K=eg(c[j>>2]|0,22436)|0;H=c[f>>2]|0;Yg(K,H,Qd(H)|0);bh(K,c[j>>2]|0)|0;Jj(K);break}}else c[d+132>>2]=ni(c[I>>2]|0)|0;while(0);Jj(c[I>>2]|0)}}}else{if(!(ii(b)|0)){d=0;break}K=Id(b,0)|0;c[d+56>>2]=K;we(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}Jj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6800]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6801]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6798]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=27224+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6796]=c[6796]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=27488+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6797]=c[6797]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6800]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6800]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6800]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6802]|0)){p=(c[6799]|0)+g|0;c[6799]=p;c[6802]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6801]|0))return;c[6801]=0;c[6798]=0;return}if((m|0)==(c[6801]|0)){p=(c[6798]|0)+g|0;c[6798]=p;c[6801]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=27488+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6797]=c[6797]&~(1<<a);break}}else{if(f>>>0<(c[6800]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6800]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6800]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=27224+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6800]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6796]=c[6796]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6800]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6801]|0)){c[6798]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=27224+(a<<1<<2)|0;b=c[6796]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{o=a;p=b}}else{c[6796]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=27488+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6797]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6800]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6797]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6804]|0)+-1|0;c[6804]=q;if(!q)a=27640;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6804]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=11404;C=256;D=11530}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11854;C=-1;D=11980}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6800]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6801]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6798]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=27224+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6796]=c[6796]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=27488+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6797]=c[6797]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6800]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6800]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6800]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6800]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6802]|0)){q=(c[6799]|0)+g|0;c[6799]=q;c[6802]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6801]|0))return;c[6801]=0;c[6798]=0;return}if((o|0)==(c[6801]|0)){q=(c[6798]|0)+g|0;c[6798]=q;c[6801]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=27488+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6797]=c[6797]&~(1<<d);break}}else{if(f>>>0<(c[6800]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6800]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6800]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=27224+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6796]=c[6796]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6801]|0)){c[6798]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=27224+(d<<1<<2)|0;a=c[6796]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6800]|0)>>>0)Za();else{p=d;q=a}}else{c[6796]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=27488+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6797]|0;a=1<<b;if(!(d&a)){c[6797]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6800]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6800]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Bi(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Re(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Nc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(si()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0}while((yj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=ed(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ed(b)|0;if((d[26755+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){cg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[26755+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;cg(b,0);c[(si()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ed(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Ug(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=ki(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[27011+((e*23|0)>>>5&7)>>0]|0;j=a[26755+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;j=a[26755+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Nh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ih(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;j=a[26755+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[26755+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;j=a[26755+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Ni(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Ug(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=ki(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;j=a[26755+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[26755+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0}while((d[26755+i>>0]|0)>>>0<e>>>0);c[(si()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(si()|0)>>2]=34;g=ki(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(si()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Uh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=24248;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=24278;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=24300;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=oe(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(mf(r,17819)|0)){j=g;h=k;N=4;break}s=Bi(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(yj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Qd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(sj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Vi(Q,o,(m|0)==0?18241:m)|0;else{l=mh(o,f)|0;if(!l){l=mh(o,68)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Qi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Pi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Gj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Gj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?18241:m;l=mh(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=li(Q,o)|0;l=Vh(m)|0;if(!n){Vi(Q,o,l)|0;break}else{Jh(n,l);break}}Vi(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;wi(17830,z);break}case 34:{c[A>>2]=o;wi(17856,A);break}case 36:{c[K>>2]=o;wi(17895,K);break}case 38:{c[L>>2]=o;wi(17931,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;wi(17964,B);break}case 43:{c[C>>2]=o;wi(17931,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;wi(18006,D);break}case 48:{c[E>>2]=o;wi(18050,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;wi(18085,F);break}case 53:{c[G>>2]=o;wi(18125,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;wi(18161,H);break}case 57:{c[I>>2]=c[l>>2];wi(18202,I);break}case 65:{wi(18244,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,14526)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Qe(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Bg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(si()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(xg(15333,f)|0))m=c[F>>2]|0;else{Pf(F)|0;f=Pf(F)|0;if(!f){O=20;break a}if((((xg(15973,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(mf(f,15976)|0)if(mf(f,15980)|0){if(I?(g=mf(f,15984)|0,!((H|g|0)==0&G)):0)if(!(mf(f,15988)|0)){f=o;break}else{O=30;break a}if(!(mf(f,16075)|0)){O=34;break a}if(!(mf(f,15984)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Bi(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Oh(f+1|0)|0}if(!(rf(m,16127)|0)){if(o|0)c[e>>2]=ni(f)|0;if(k)h=ni(f)|0}}while(!(I&(rf(m,16136)|0)==0));if((xg(16150,f)|0)!=0?(q=(Bi(f,32)|0)+1|0,r=Bi(q,45)|0,(r|0)!=0):0){l=r+1|0;m=nd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=nd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=je(f)|0;c[z+4>>2]=d;ci(15784,z);f=0;break}case 10:{c[v>>2]=d;ci(15821,v);f=0;break}case 11:{c[x>>2]=d;ci(15877,x);f=0;break}case 15:{c[y>>2]=2e3;ci(15909,y);f=0;break}case 20:{c[u>>2]=d;ci(15947,u);f=0;break}case 30:{if(!g)ci(15992,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ci(16035,E);f=0;break}case 34:{c[w>>2]=d;ci(16079,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ci(16104,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ih(N,256,19648,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ci(16157,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?27808:16251;c[K+8>>2]=f?15976:15980;c[K+12>>2]=h|0?h:16267;ci(16277,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ih(N,256,19648,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ci(16318,M);f=0}break}}i=P;return f|0}function Yb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;x=A+64|0;q=A+56|0;u=A+48|0;t=A+40|0;s=A+32|0;r=A+24|0;v=A+16|0;p=A+8|0;o=A;w=A+84|0;z=A+80|0;g=fh(b)|0;c[z>>2]=g;c[w>>2]=0;h=g+20|0;a:while(1){if(!(gc(g)|0)){b=w;e=47;break}n=ce(20)|0;do if(rf(c[h>>2]|0,19773)|0){if(!(rf(c[h>>2]|0,19779)|0)){a[n+17>>0]=1;break}if(rf(c[h>>2]|0,19759)|0){c[o>>2]=c[h>>2];Ef(g,19856,o)}}else a[n+16>>0]=1;while(0);qh(g)|0;j=n+4|0;c[j>>2]=ni(c[h>>2]|0)|0;qh(g)|0;c[n+8>>2]=ni(c[h>>2]|0)|0;qh(g)|0;Jf(g,19895);k=n+12|0;while(1){if((a[c[h>>2]>>0]|0)==41)break;l=ce(48)|0;b=og(c[h>>2]|0)|0;if(!b){c[p>>2]=c[h>>2];Ef(g,19897,p)}m=l+12|0;c[m>>2]=b;qh(g)|0;if((c[c[m>>2]>>2]&-2|0)==12){c[l+16>>2]=ni(c[h>>2]|0)|0;qh(g)|0}switch(a[c[h>>2]>>0]|0){case 91:{if((c[c[m>>2]>>2]|0)==13)a[l+38>>0]=1;else a[l+37>>0]=1;qh(g)|0;b=c[h>>2]|0;d=a[b>>0]|0;do if((d+-48|0)>>>0<10){c[l+24>>2]=Nd(b)|0;qh(g)|0}else{if(!(Kj(d)|0)){Ef(g,19939,r);break}d=ni(c[h>>2]|0)|0;c[l+28>>2]=d;b=hh(n,d)|0;if(!b){e=23;break a}c[l+32>>2]=b;a[b+36>>0]=1;qh(g)|0}while(0);Jf(g,19854);break}case 40:{qh(g)|0;e=l+40|0;while(1){b=c[h>>2]|0;if((a[b>>0]|0)==41)break;d=Vh(b)|0;c[d>>2]=c[e>>2];c[e>>2]=d;qh(g)|0;d=c[h>>2]|0;b=a[d>>0]|0;switch(b<<24>>24){case 41:case 44:break;default:{c[s>>2]=d;Ef(g,19985,s);b=a[c[h>>2]>>0]|0}}if(b<<24>>24==41)continue;qh(g)|0}Jf(g,19793);Sg(e);break}default:{}}b=ni(c[h>>2]|0)|0;d=l+4|0;c[d>>2]=b;f=hh(n,b)|0;if(f|0){e=35;break a}qh(g)|0;c[l+44>>2]=te(g,0)|0;if(!(mf(c[h>>2]|0,20051)|0)){a[l+39>>0]=1;if(((c[c[m>>2]>>2]|0)+-3|0)>>>0>=7){e=38;break a}qh(g)|0}Jf(g,20104);c[l+8>>2]=ni(c[h>>2]|0)|0;qh(g)|0;if((c[c[m>>2]>>2]|0)==2?c[l+24>>2]|0:0)a[l+37>>0]=0;c[l>>2]=c[k>>2];c[k>>2]=l}Sg(k);if(th(c[w>>2]|0,c[j>>2]|0)|0){c[q>>2]=c[j>>2];Ef(g,20106,q)}Jh(w,n)}if((e|0)==23){c[v>>2]=d;wi(19915,v)}else if((e|0)==35){c[t>>2]=c[f+4>>2];c[t+4>>2]=b;wi(20014,t)}else if((e|0)==38){c[u>>2]=c[d>>2];wi(20056,u)}else if((e|0)==47){b:while(1){h=c[b>>2]|0;b=c[w>>2]|0;if(!h){e=58;break}f=h+17|0;j=h+4|0;d=h+12|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;e=c[g>>2]|0;if(e|0){v=th(b,e)|0;e=d+20|0;c[e>>2]=v;if(!v){e=52;break b}if(a[f>>0]|0?(a[(c[e>>2]|0)+17>>0]|0)==0:0){e=55;break b}}}b=h;e=47}if((e|0)==52){c[x>>2]=c[g>>2];wi(20133,x)}else if((e|0)==55){A=c[d+4>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=A;wi(20157,y)}else if((e|0)==58){hi(z);i=A;return b|0}}return 0}function Zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Zi(h)|0;c[b+16>>2]=e;f=xd(c[f>>2]|0)|0;if(!f){s=0;break}s=Qd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Jj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}me(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Tf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=tg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;me(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;gg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Sd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;wi(20352,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Sd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Sd(b,f);s=1}else s=1}while(0);i=y;return s|0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((xg(20415,b)|0)==0?(xg(20423,b)|0)==0:0)?(xg(20432,b)|0)==0:0){c[j>>2]=b;wi(20495,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Ph(4,20439,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=Uh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Ph(4,20730,m);dg(x);j=h+128|0;if((c[j>>2]|0)>0)dg(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Ph(4,20577,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6782]|0)){c[6782]=ce(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=hf(j,k,c[6782]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=Uh(l|0,m|0,n|0,I|0)|0;J=C;I=ki(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;ag(20626,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=ki(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;wi(20679,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=ki(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=ke(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;ih(y,2048,20781,z)|0;j=jc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(xg(20800,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Lc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Jj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;wi(20805,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=hf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)ag(20834,G);else F=j;K=h+120|0;J=K;J=ki(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6800]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6916]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6802]|0)){d=(c[6799]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6802]=l;c[6799]=m;return a|0}if((k|0)==(c[6801]|0)){e=(c[6798]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6798]=d;c[6801]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=27488+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6797]=c[6797]&~(1<<d);break}}else{if(h>>>0<(c[6800]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6800]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6800]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=27224+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6796]=c[6796]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Ah(0,22459,b)|0}b=d+112|0;if(c[b>>2]|0)dg(b);b=d+128|0;if(c[b>>2]|0)dg(b);Jj(c[d+4>>2]|0);Jj(c[d+8>>2]|0);Ji(d+12|0);Jj(c[d+40>>2]|0);Jj(c[d+44>>2]|0);Jj(c[d+48>>2]|0);Jj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)dg(b);Ei(d+80|0)}Ji(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(13027,13047,448,13063);h=ya()|0;c[s>>2]=h;if((h|0)<0)ag(13076,l);if(h|0)if(!($g(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;ag(13614,k)}r=Di()|0;c[s>>2]=r;if($g(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;ag(13087,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Ng(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Wf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))_f(t);if(c[k>>2]|0)_f(m);g=0;f=0;j=h;h=k}if((b|0)==14)ag(13076,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){md(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];ag(13321,o)}md(k,0,h,e);h=zg(1,f,g)|0;if((h|0)<0)ag(13232,p);if((h|0)==(g|0)){lh(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;wi(13267,q)}}else if((b|0)==28){lh(0)|0;lh(1)|0;Lh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Wf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)ag(13394,u);else if((b|0)==35){c[v>>2]=h;wi(13409,v)}else if((b|0)==39){v=Te(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;wi(13439,w)}else if((b|0)==41)Da(13494,13047,242,13518);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2265]|0;v=Te(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Ah(h,13537,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(13584,13047,396,13604);else if((b|0)==49)_a(0)}}function cc(a){a=a|0;var b=0.0,d=0,f=0.0,g=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;v=i;i=i+192|0;u=v+184|0;t=v+176|0;s=v+168|0;r=v+160|0;p=v+152|0;o=v+136|0;q=v+96|0;m=v+80|0;l=v+72|0;j=v+64|0;g=v+48|0;d=v+40|0;k=v+32|0;w=v+24|0;x=v+16|0;y=v+8|0;z=v;n=Cj(a)|0;c[z>>2]=e[n+24>>1];Eh(12442,z)|0;c[y>>2]=e[n+56>>1];Eh(12455,y)|0;a=n+88|0;c[x>>2]=(c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0?12495:12499;Eh(12471,x)|0;c[w>>2]=c[n+80>>2]|0?12495:12499;Eh(12502,w)|0;c[k>>2]=c[n+16>>2];Eh(12520,k)|0;c[d>>2]=e[n+106>>1];Eh(12535,d)|0;a:do if(Pj(12556)|0){a=Ac(n)|0;while(1){if(!a)break a;c[d>>2]=0;w=a+4|0;y=xc(n,w,d)|0;z=c[d>>2]|0;y=y+24|0;x=c[y>>2]|0;y=c[y+4>>2]|0;c[g>>2]=w;c[g+4>>2]=z;z=g+8|0;c[z>>2]=x;c[z+4>>2]=y;Eh(12567,g)|0;a=c[a>>2]|0}}while(0);a=ch(n)|0;Fg(12602,a,C);a=n+48|0;g=a;d=n+40|0;d=Uh(c[g>>2]|0,c[g+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;Fg(12612,d,C);d=n+100|0;g=c[d>>2]|0;if(g|0){y=g+16|0;z=a;z=Uh(c[y>>2]|0,c[y+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;Fg(12628,z,C)}a=Kg(n)|0;c[j>>2]=e[n+26>>1];Eh(12645,j)|0;b:do if(Pj(12661)|0)while(1){d=c[d>>2]|0;if(!d)break b;z=c[d+4>>2]|0;y=d+24|0;j=d+16|0;j=Uh(c[y>>2]|0,c[y+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[l>>2]=z;c[l+4>>2]=j;Eh(12667,l)|0;j=a;while(1){if(!j)break;g=j+4|0;k=hc(d,n,c[j+8>>2]|0,0,c[j+12>>2]|0)|0;while(1){if(!k)break;y=c[k+8>>2]|0;z=c[k+12>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=y;c[m+8>>2]=z;Eh(12675,m)|0;k=c[k>>2]|0}j=c[j>>2]|0}}while(0);c[q>>2]=pi(a)|0;Eh(12687,q)|0;c:do if(Pj(12703)|0)while(1){if(!a)break c;y=c[a+8>>2]|0;z=c[a+12>>2]|0;c[o>>2]=c[a+4>>2];c[o+4>>2]=y;c[o+8>>2]=z;Eh(12710,o)|0;a=c[a>>2]|0}while(0);do if(Pj(12721)|0){a=vg(n)|0;if(!a){Ae(12828)|0;break}else{Ae(12824)|0;c[p>>2]=a;Eh(19703,p)|0;break}}while(0);wc(q,n);d=q;Fg(12724,c[d>>2]|0,c[d+4>>2]|0);d=q;a=c[d>>2]|0;d=c[d+4>>2]|0;if((a|0)==0&(d|0)==0){f=0.0;b=0.0}else{b=+h[q+24>>3];f=+Ai(b,+h[q+32>>3],a,d);b=b/(+(a>>>0)+4294967296.0*+(d>>>0))}h[r>>3]=b;Eh(12737,r)|0;h[s>>3]=+h[q+8>>3];Eh(12771,s)|0;h[t>>3]=+h[q+16>>3];Eh(12785,t)|0;h[u>>3]=f;Eh(12799,u)|0;i=v;return}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Xf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Xf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ki(m|0,l|0,-1,-1)|0;d=C;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;Uh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Uh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Oe(a,b,d)|0){b=$h()|0;if((b|0)>=0){if((Ud(b,1)|0)<0){lh(b)|0;b=-1;break}b:do if((gf(b,d,16)|0)<0){n=si()|0;d=c[n>>2]|0;if((d|0)!=115){w=je(d)|0;c[e>>2]=d;c[e+4>>2]=w;ci(14462,e);lh(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Lf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=je(d)|0;c[t>>2]=d;c[t+4>>2]=C;ci(14238,t);lh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ci(14370,u);lh(b)|0;e=23;break}c[r>>2]=4;do if((Ue(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=je(d)|0;c[w>>2]=d;c[w+4>>2]=C;ci(14326,w);lh(b)|0;break}}else{B=c[n>>2]|0;C=je(B)|0;c[v>>2]=B;c[v+4>>2]=C;ci(14296,v);lh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Ud(b,0)|0)<0){lh(b)|0;b=-1;break}if((pf(b,120)|0)<0){lh(b)|0;b=-1}}}else b=-1;else{ci(14118,x+24|0);b=-1}while(0);i=x;return b|0}function fc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Tf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ne(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(fc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(si()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;n=q;m=q+4|0;do if(!(a[b>>0]|0)){f=b+4|0;c[f>>2]=0;p=b+16|0;h=b+8|0;j=b+12|0;k=b+33|0;l=b+34|0;d=c[p>>2]|0;a:while(1){g=Oh(d)|0;c[f>>2]=g-(c[p>>2]|0)+(c[f>>2]|0);d=a[g>>0]|0;b:do if(!(d<<24>>24))o=14;else{if(!(d<<24>>24==47&(a[k>>0]|0)!=0))if(d<<24>>24==35&(a[l>>0]|0)!=0){o=14;break}else{j=d;o=18;break a}switch(a[g+1>>0]|0){case 47:{o=14;break b}case 42:break;default:{j=47;o=18;break a}}d=g+2|0;while(1){d=Tb(d,19105)|0;if(d|0)break;if(!(Zb(c[h>>2]|0,j,m)|0)){o=10;break a}d=c[j>>2]|0}d=d+2|0;c[p>>2]=d}while(0);if((o|0)==14){o=0;if(!(Zb(c[h>>2]|0,j,m)|0)){o=17;break}c[f>>2]=(c[f>>2]|0)+1;d=c[j>>2]|0;c[p>>2]=d}}if((o|0)==10){c[n>>2]=c[(c[h>>2]|0)+4>>2];wi(19108,n)}else if((o|0)==17){a[b+1>>0]=1;e=0;break}else if((o|0)==18){c:do if(j<<24>>24==95|(sj(j<<24>>24)|0)!=0){d=g;while(1){d=d+1|0;if(sj(a[d>>0]|0)|0)continue;if((a[d>>0]|0)!=95){e=d;break}}}else{switch(j<<24>>24){case 39:case 34:break;default:{d=g+1|0;e=d;break c}}k=(a[b+32>>0]|0)==0;f=g+1|0;g=k?f:g;d=g+2|0;while(1){e=a[f>>0]|0;if(e<<24>>24==j<<24>>24){if((a[f+-1>>0]|0)!=92){o=29;break}if(f>>>0>=d>>>0?(a[f+-2>>0]|0)==92:0){o=29;break}}else if(!(e<<24>>24)){o=30;break}f=f+1|0}if((o|0)==29){d=f+1|0;e=d;h=f;d=j<<24>>24==0?f:d}else if((o|0)==30){e=f+1|0;h=f;d=f}e=k?h:e}while(0);c[p>>2]=d;f=e-g|0;d=b+28|0;if((f|0)<(c[d>>2]|0)){e=b+20|0;d=e;e=c[e>>2]|0}else{e=f+128|0;c[d>>2]=e;d=b+20|0;e=Ui(c[d>>2]|0,0,e)|0;c[d>>2]=e}ie(e|0,g|0,f|0)|0;a[(c[d>>2]|0)+f>>0]=0;e=c[d>>2]|0;break}}else{a[b>>0]=0;e=c[b+20>>2]|0}while(0);i=q;return e|0}function hc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;B=i;i=i+32|0;A=B+16|0;z=B+12|0;y=B+8|0;x=B+4|0;w=B;c[A>>2]=0;h=b+8|0;t=c[h>>2]|0;r=a+24|0;Hf(t,c[r>>2]|0,c[r+4>>2]|0);h=Uc(c[b+4>>2]|0,c[h>>2]|0)|0;c[z>>2]=h;h=Of(h,d,e,f)|0;c[y>>2]=h;r=b+80|0;a=c[r>>2]|0;if(!a)s=0;else s=ge(a)|0;q=(s|0)==0;p=b+16|0;a=h;a:while(1){if(!a){a=24;break}ve(a,x,w);o=a+8|0;l=c[o>>2]|0;o=c[o+4>>2]|0;m=c[x>>2]|0;k=m+8|0;m=m+16|0;n=c[m>>2]|0;m=c[m+4>>2]|0;k=Uh(c[k>>2]|0,c[k+4>>2]|0,l|0,o|0)|0;m=ki(k|0,C|0,n|0,m|0)|0;n=C;Hf(t,l,o);o=ge(m)|0;Fe(t,o,m,n);n=o;while(1){if((a|0)==(c[w>>2]|0))break;m=a+16|0;h=c[m>>2]|0;if(q){l=n+h|0;h=n}else{l=s+(_e(n,h,s,c[r>>2]|0)|0)|0;h=s}b=l-h|0;if(b&31|0){a=11;break a}k=(b|0)/32|0;j=0;while(1){if((j|0)>=(k|0))break;b=h+32|0;if(c[p>>2]|0){c[h>>2]=Qj(c[h>>2]|0)|0;D=h+4|0;c[D>>2]=Qj(c[D>>2]|0)|0;D=h+8|0;c[D>>2]=Qj(c[D>>2]|0)|0;D=h+12|0;c[D>>2]=Qj(c[D>>2]|0)|0;D=h+16|0;g[D>>2]=+Mh(+g[D>>2]);D=h+20|0;g[D>>2]=+Mh(+g[D>>2]);D=h+24|0;g[D>>2]=+Mh(+g[D>>2]);D=h+28|0;g[D>>2]=+Mh(+g[D>>2])}if((c[h>>2]|0)==(d|0)?(u=h+4|0,E=c[u>>2]|0,v=h+8|0,D=c[v>>2]|0,((E>>>0>e>>>0?E:e)|0)<((D>>>0<f>>>0?D:f)|0)):0){E=ce(48)|0;c[E+4>>2]=c[h>>2];c[E+8>>2]=c[u>>2];c[E+12>>2]=c[v>>2];c[E+16>>2]=c[h+12>>2];c[E+20>>2]=c[h+16>>2];c[E+24>>2]=c[h+20>>2];c[E+28>>2]=c[h+24>>2];c[E+32>>2]=c[h+28>>2];c[E>>2]=c[A>>2];c[A>>2]=E}h=b;j=j+1|0}if((h|0)!=(l|0)){a=21;break a}a=c[a>>2]|0;n=n+(c[m>>2]|0)|0}Jj(o)}if((a|0)==11)Da(22748,22715,412,22774);else if((a|0)==21)Da(22795,22715,433,22774);else if((a|0)==24){Jj(s);Kh(y);_j(z);Sg(A);i=B;return c[A>>2]|0}return 0}function ic(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;k=i;i=i+128|0;h=k+112|0;g=k+96|0;f=k+72|0;j=k+40|0;e=k;do if(!((d|0)>232|(d|0)==232&b>>>0>3567587327)){if((d|0)>0|(d|0)==0&b>>>0>999999999){m=$d(b|0,d|0,1e9,0)|0;l=C;g=Ug(m|0,l|0,-1e9,-1)|0;g=ki(g|0,C|0,b|0,d|0)|0;h=C;b=$d(g|0,h|0,1e6,0)|0;d=C;e=Ug(b|0,d|0,-1e6,-1)|0;h=ki(e|0,C|0,g|0,h|0)|0;g=C;e=$d(h|0,g|0,1e3,0)|0;f=C;n=Ug(e|0,f|0,-1e3,-1)|0;g=ki(n|0,C|0,h|0,g|0)|0;h=j;c[h>>2]=m;c[h+4>>2]=l;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;h=j+16|0;c[h>>2]=e;c[h+4>>2]=f;h=j+24|0;c[h>>2]=g;c[h+4>>2]=C;zh(a,18539,j)|0;break}if((d|0)>0|(d|0)==0&b>>>0>999999){g=$d(b|0,d|0,1e6,0)|0;h=C;n=Ug(g|0,h|0,-1e6,-1)|0;n=ki(n|0,C|0,b|0,d|0)|0;m=C;j=$d(n|0,m|0,1e3,0)|0;l=C;e=Ug(j|0,l|0,-1e3,-1)|0;m=ki(e|0,C|0,n|0,m|0)|0;n=f;c[n>>2]=g;c[n+4>>2]=h;n=f+8|0;c[n>>2]=j;c[n+4>>2]=l;n=f+16|0;c[n>>2]=m;c[n+4>>2]=C;zh(a,18565,f)|0;break}if((d|0)>0|(d|0)==0&b>>>0>999){j=$d(b|0,d|0,1e3,0)|0;l=C;m=Ug(j|0,l|0,-1e3,-1)|0;m=ki(m|0,C|0,b|0,d|0)|0;n=g;c[n>>2]=j;c[n+4>>2]=l;n=g+8|0;c[n>>2]=m;c[n+4>>2]=C;zh(a,18584,g)|0;break}else{n=h;c[n>>2]=b;c[n+4>>2]=d;zh(a,19648,h)|0;break}}else{p=$d(b|0,d|0,-727379968,232)|0;o=C;n=Ug(p|0,o|0,727379968,-233)|0;n=ki(n|0,C|0,b|0,d|0)|0;m=C;d=$d(n|0,m|0,1e9,0)|0;f=C;g=Ug(d|0,f|0,-1e9,-1)|0;m=ki(g|0,C|0,n|0,m|0)|0;n=C;g=$d(m|0,n|0,1e6,0)|0;h=C;j=Ug(g|0,h|0,-1e6,-1)|0;n=ki(j|0,C|0,m|0,n|0)|0;m=C;j=$d(n|0,m|0,1e3,0)|0;l=C;b=Ug(j|0,l|0,-1e3,-1)|0;m=ki(b|0,C|0,n|0,m|0)|0;n=e;c[n>>2]=p;c[n+4>>2]=o;n=e+8|0;c[n>>2]=d;c[n+4>>2]=f;n=e+16|0;c[n>>2]=g;c[n+4>>2]=h;n=e+24|0;c[n>>2]=j;c[n+4>>2]=l;n=e+32|0;c[n>>2]=m;c[n+4>>2]=C;zh(a,18506,e)|0}while(0);i=k;return}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,14522)|0))e=df(b,0,r)|0;else{if((xg(20415,b)|0)==0?(xg(20423,b)|0)==0:0){if(!(xg(20432,b)|0)){c[g>>2]=b;wi(15717,g)}nc(b,o);if(mf(o,22073)|0){c[f>>2]=b;wi(15380,f)}b=o+4112|0;g=od(b,Nd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(qi(g,15427,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,ih(m,256,15434,j)|0,(qi(g,m,0,0)|0)==0):0){lh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Qd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?15446:15451;c[k+4>>2]=j;ih(m,256,15456,k)|0;fj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Bi(j,40)|0;a[(Bi(j,41)|0)>>0]=0;if((Ee(s+1|0,15464,k,7)|0)!=6)wi(15466,h);f=(Nd(c[k+16>>2]|0)|0)<<8;f=ec(b,(Nd(c[k+20>>2]|0)|0)+f|0)|0;yi(l);if((f|0)<0){lh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((qd(f,1e6)|0)>0){b=26;break}if((qd(g,0)|0)>0?(Bc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ci(15502,n);lh(g)|0;lh(f)|0;e=-1;break}else if((b|0)==24){lh(g)|0;lh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}td(c[2294]|0)|0;td(c[2235]|0)|0;td(c[2265]|0)|0;b=ce(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;ie(b+20|0,o|0,10280)|0;f=b+4|0;if(Qh(f)|0){c[p>>2]=je(c[(si()|0)>>2]|0)|0;wi(15567,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=je(b)|0;c[q>>2]=b;c[q+4>>2]=s;wi(15671,q)}}}else{lh(g)|0;e=-1}while(0)}break}e=Ri(b,15361,0)|0}while(0);i=r;return e|0}function kc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Nh(d|0,m|0,52)|0;e=e&2047;j=Nh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ih(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ih(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ih(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ih(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ih(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ih(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ih(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ih(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Uh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ih(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Uh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ih(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=ki(d|0,f|0,0,-1048576)|0;d=C;e=Ih(e|0,0,52)|0;d=d|C;e=o|e}else{e=Nh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;nc(b,h);if(mf(h,22073)|0){c[g>>2]=b;wi(14646,g)}b=h+6176|0;if(mf(b,21606)|0){p=od(h+4112|0,Nd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;ih(k,256,14804,q)|0;c[t>>2]=0;do if(qi(p,k,t,0)|0){if((Ee(c[(c[t>>2]|0)+4>>2]|0,14538,l,3)|0)!=2)wi(14814,j);n=l+4|0;j=nd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;yi(t);c[s>>2]=b;ih(k,256,14850,s)|0;if(!(qi(p,k,t,0)|0)){lh(p)|0;f=0;break}b=Ee(c[(c[t>>2]|0)+4>>2]|0,14538,l,3)|0;if((b|0)!=2){c[m>>2]=b;wi(14860,m)}j=c[n>>2]|0;if((Qd(j)|0)>>>0<14){c[o>>2]=j;wi(14902,o)}b=s;g=14951;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14971,q|0)|0)){c[r>>2]=s;wi(14989,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];wi(15022,u)}else{c[e>>2]=b;yi(t);lh(p)|0;f=1;break}}else{lh(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Qd(b)|0)>>>0>4095){c[e>>2]=b;wi(14503,e)}Bj(f,b)|0;ti(f)|0;b=Tb(f,14522)|0;if(!b){a[d>>0]=a[20800]|0;a[d+1>>0]=a[20801]|0;a[d+2>>0]=a[20802]|0;a[d+3>>0]=a[20803]|0;a[d+4>>0]=a[20804]|0}else{a[b>>0]=0;yh(f)|0;Af(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Bi(f,47)|0;if(g){Qe(g,b,e,1);if(!((rf(d,20800)|0)!=0?(rf(d,22067)|0)!=0:0)){e=Kd(g,14538,14540)|0;Af(d+6176|0,4096,e);Jj(e)}a[g>>0]=0;if(!(rf(d,22073)|0)){g=g+1|0;Pd(g,d+6176|0,Qd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Bi(f,64)|0;if(!g){if(!((rf(d,20800)|0)!=0?(rf(d,22067)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(rf(d,22073)|0)){b=d+16|0;e=14544;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=14554;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Bi(f,58)|0;if(!b){e=d+16|0;Af(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Af(e,2048,f);f=d+2064|0;Af(f,2048,b+1|0);b=f}Ad(e,e,Qd(e)|0);Ad(b,b,Qd(b)|0);f=g+1|0}b=Bi(f,58)|0;do if(!b){if(!(rf(d,20800)|0)){h=d+6160|0;a[h>>0]=a[14572]|0;a[h+1>>0]=a[14573]|0;a[h+2>>0]=a[14574]|0}if(!(rf(d,22067)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(rf(d,22073)|0)){h=d+6160|0;a[h>>0]=a[14575]|0;a[h+1>>0]=a[14576]|0;a[h+2>>0]=a[14577]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Af(d+6160|0,16,e);break}else{c[h>>2]=e;wi(14578,h)}}while(0);Af(d+4112|0,2048,f);i=j;return}function oc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[748+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[748+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function pc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Hf(t,f,g);Fe(t,s,1,0);Fe(t,w+32|0,1,0);u=c[b+12>>2]|0;v=Hg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;Ph(3,17341,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=Gg(t,u)|0;c[p+(f<<2)>>2]=Gg(t,u)|0;c[q+(f<<2)>>2]=Gg(t,u)|0;c[r+(f<<2)>>2]=Gg(t,u)|0;g=If(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(ef(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;pc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=Gg(t,u)|0;s=Gg(t,u)|0;e=Gg(t,u)|0;b=Gg(t,u)|0;f=If(t,u)|0;g=C;m=If(t,u)|0;n=C;if(ef(h,j,k,r,s,e,b)|0){b=ce(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function qc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Fi(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Fi(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Fi(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Fi(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=Fi(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Fi(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Fi(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function rc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=_h(512)|0;nc(b,s);h=ab(15141)|0;p=(h|0)!=0;if(p){nc(h,q);ie(r|0,q|0,10280)|0;h=We(r,b)|0}else{ie(r|0,s|0,10280)|0;h=We(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ni(b)|0;j=mj(b,59)|0;if((j|0)!=0?(xg(14526,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Bh(k,15152,l);Jj(b);c[m>>2]=f;Bh(k,15163,m);if((mf(s,20800)|0)==0?(mf(14572,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((mf(s,22067)|0)==0?(mf(14607,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Bh(k,15191,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Bh(k,15180,n)}b=c[t>>2]|0;ie(r|0,s|0,10280)|0;qe(r,15205,b);if(p){ie(r|0,q|0,10280)|0;qe(r,15219,b);k=c[t>>2]|0}else k=b;gj(k,15239);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Bh(k,15278,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Bh(k,15253,u);break}}while(0);if(g|0)gj(c[t>>2]|0,g);v=c[t>>2]|0;gj(v,15299);af(h,c[v+4>>2]|0,c[v+12>>2]|0);yi(t)}i=w;return h|0}function sc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=ce(120)|0;c[l+4>>2]=ni(a)|0;m=Lg(a,jk()|0)|0;c[l+8>>2]=m;Fe(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Qj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;wi(22668,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=Hg(m,n)|0;g=l+26|0;b[g>>1]=Hg(m,n)|0;h=If(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=If(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=If(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=Hg(m,n)|0;b[l+58>>1]=Hg(m,n)|0;j=If(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=If(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Gg(m,n)|0;j=If(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=ce(32)|0;c[j+4>>2]=Gg(m,n)|0;c[j+8>>2]=Gg(m,n)|0;p=If(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=If(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Sg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Hf(m,g,h);b[l+104>>1]=Hg(m,n)|0;b[l+106>>1]=Hg(m,n)|0;p=If(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Hf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=gd(a,m)|0;i=o;return l|0}function tc(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 uc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Ug(f|0,b|0,10,0)|0;f=C;e=ki(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ki(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Uh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Ph(4,20876,p);f=b+36|0;e=0;while(1){d=oe(0,1)|0;c[p>>2]=d;d=vj(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=ai(c[p>>2]|0,20962)|0;c[f>>2]=ni(d)|0;d=ke(a,d)|0;Td(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;ci(20909,g);n=0}else if((h|0)==7){d=ai(c[p>>2]|0,20972)|0;do if(!d){d=xe(a)|0;e=C;if((e|0)<0){Td(p);c[j>>2]=a;wi(20988,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=nd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=ai(c[p>>2]|0,21055)|0;if(!d){d=ai(c[p>>2]|0,21070)|0;if(!d){Td(p);c[m>>2]=a;wi(21076,m)}else o=d}else o=d;if(!(Ua(o|0,21151,k|0)|0)){Td(p);c[l>>2]=o;wi(21176,l)}d=xf(k)|0;if((d|0)==-1){Td(p);c[q>>2]=o;wi(21218,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Td(p);n=200;break}}while(0);i=r;return n|0}function wc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0;n=c[d+8>>2]|0;o=c[d+16>>2]|0;e=d+72|0;f=c[e>>2]|0;e=c[e+4>>2]|0;a:do if((f|0)==0&(e|0)==0)if((b[d+24>>1]|0)==1){i=0;e=0;f=d+100|0;while(1){f=c[f>>2]|0;if(!f)break;d=c[f+4>>2]|0;m=d>>>0>i>>>0;i=m?d:i;e=m?f:e}if(e){i=e+16|0;Hf(n,c[i>>2]|0,c[i+4>>2]|0);i=Gg(n,o)|0;f=0;d=0;m=0;l=0.0;k=0.0;j=0.0;g=0.0;while(1){if((m|0)==(i|0)){e=d;break a}Gg(n,o)|0;Gg(n,o)|0;Gg(n,o)|0;e=Gg(n,o)|0;if(!m){g=+Ag(n,o);l=+Ag(n,o);k=+Ag(n,o);d=0;j=+Ag(n,o)}else{e=ki(e|0,0,f|0,d|0)|0;d=C;p=+Ag(n,o);q=+Ag(n,o);k=k+ +Ag(n,o);l=q>l?q:l;j=j+ +Ag(n,o);g=p<g?p:g}f=e;m=m+1|0}}else{f=0;e=0;l=0.0;k=0.0;j=0.0;g=0.0}}else{f=0;e=0;l=0.0;k=0.0;j=0.0;g=0.0}else{Hf(n,f,e);f=If(n,o)|0;e=C;g=+yg(n,o);l=+yg(n,o);k=+yg(n,o);j=+yg(n,o)}while(0);o=a;c[o>>2]=f;c[o+4>>2]=e;h[a+8>>3]=g;h[a+16>>3]=l;h[a+24>>3]=k;h[a+32>>3]=j;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;p=t+48|0;o=t+40|0;n=t+32|0;r=t+24|0;q=t+16|0;k=t+8|0;h=t;j=t+56|0;s=c[a+8>>2]|0;m=c[a+16>>2]|0;f=Sh(a)|0;c[j>>2]=f;g=bg(f,b)|0;if(!g){l=c[a+4>>2]|0;c[h>>2]=b;c[h+4>>2]=l;wi(18944,h)}l=jh(c[f+12>>2]|0,g)|0;if(d|0)c[d>>2]=l;Hh(j);g=a+112|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if((f|0)==0&(g|0)==0){c[k>>2]=c[a+4>>2];wi(18962,k)}Hf(s,f,g);h=a+106|0;d=0;while(1){if((d|0)>=(e[h>>1]|0|0)){h=16;break}k=Hg(s,m)|0;j=Hg(s,m)|0;g=If(s,m)|0;f=C;Pe(s,4,0);if(k<<16>>16){h=10;break}if(j<<16>>16!=1){h=13;break}k=Hg(s,m)|0;Pe(s,2,0);if((k&65535|0)==(l|0)){h=14;break}d=d+1|0}if((h|0)==10){c[q>>2]=k&65535;ci(18980,q);c[r>>2]=18844;c[r+4>>2]=632;wi(22077,r)}else if((h|0)==13){ci(18858,n);c[o>>2]=18844;c[o+4>>2]=648;wi(22077,o)}else if((h|0)==14){Hf(s,g,f);a=gd(c[a+4>>2]|0,s)|0;i=t;return a|0}else if((h|0)==16){t=c[a+4>>2]|0;c[p>>2]=b;c[p+4>>2]=t;wi(19005,p)}return 0}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[6783]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Fi(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Fi(yb(146,m|0)|0)|0;la(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 zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Nc(26750,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Bi(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Bi(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6784]|0))c[e+76>>2]=-1;mb(27160);f=c[6789]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6789]=e;eb(27160)}}else{c[(si()|0)>>2]=22;e=0}i=o;return e|0}function Ac(a){a=a|0;var b=0,d=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;s=i;i=i+48|0;r=s+24|0;q=s+16|0;l=s+8|0;k=s;o=s+36|0;p=s+32|0;h=c[a+8>>2]|0;j=c[a+16>>2]|0;d=a+112|0;f=c[d>>2]|0;d=c[d+4>>2]|0;do if(!((f|0)==0&(d|0)==0)){Hf(h,f,d);d=a+106|0;f=0;g=0;while(1){if((f|0)>=(e[d>>1]|0|0)){b=g;break}Hg(h,j)|0;t=Hg(h,j)|0;Pe(h,8,0);Pe(h,4,0);if(t<<16>>16!=1){m=6;break}t=Hg(h,j)|0;Pe(h,2,0);t=cj(t&65535)|0;c[t>>2]=g;f=f+1|0;g=t}if((m|0)==6){ci(18858,k);c[l>>2]=18844;c[l+4>>2]=575;wi(22077,l)}c[o>>2]=Sh(a)|0;c[p>>2]=0;f=a+4|0;while(1){if(!b){m=12;break}d=_g(c[(c[o>>2]|0)+12>>2]|0,c[b+4>>2]|0)|0;if(!d){m=10;break}vi(p,c[d+4>>2]|0)|0;b=c[b>>2]|0}if((m|0)==10){c[q>>2]=c[f>>2];ci(18916,q);c[r>>2]=18844;c[r+4>>2]=590;wi(22077,r)}else if((m|0)==12){Hh(o);n=c[p>>2]|0;break}}else n=0;while(0);i=s;return n|0}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=_h(4096)|0;while(1){if((qd(b,1e6)|0)<=0){j=3;break}g=Bg(b,m,4096)|0;if(g){ff(c[o>>2]|0,m,g);if(!(Fh(c[(c[o>>2]|0)+4>>2]|0,14730)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Qd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Qd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ci(14686,n);g=0}else if((j|0)==18){g=Nd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ci(14732,p);g=0;break}if(!e)yi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Cc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Hf(c[n>>2]|0,d,e);Fe(c[n>>2]|0,p,1,0);Fe(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Hg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Fe(c[n>>2]|0,l,c[k>>2]|0,0);q=If(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;Cc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Fe(c[n>>2]|0,l,c[k>>2]|0,0);Fe(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function Dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?27180:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9292+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(si()|0)>>2]=84;f=-1}i=l;return f|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Bg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=ki(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Uh(1,0,g|0,e|0)|0;b=ki(b|0,C|0,d|0,h|0)|0}r=(zg(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=ki(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=ki(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Rf(15615,l);if((b|0)==-1)Rf(15646,o);lh(c[m>>2]|0)|0;lh(c[a+12>>2]|0)|0;lh(c[n>>2]|0)|0;i=q;return 0}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=df(a,2,h)|0;if((e|0)<0)if((c[(si()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;ag(22148,d)}else{we(e,h)|0;if((c[h+36>>2]|0)<64){lh(e)|0;b=0}else{Jd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Qj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;wi(22171,j)}}else f=0;b=ce(56)|0;c[b+4>>2]=Dg(e,f)|0;g=Ff(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Ff(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Dg(e,f)|0;Dg(e,f)|0;Ff(e,f)|0;Ff(e,f)|0;Ff(e,f)|0;Ff(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Gc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Gd(b);break}if((lh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];wi(13772,k)}}else{if(!(c[a+20>>2]&2)){if(Wg(d)|0){c[f>>2]=c[a+12>>2];wi(13741,f)}}else{td(d)|0;if(Wg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];wi(13711,e)}}if((re(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];wi(13772,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)ag(13394,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;wi(13802,l)}if(b|0)Da(13843,13047,435,13861);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;wi(13877,m)}i=n;return d>>>8&255|0}function Hc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=lk(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Ic(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ni(27808)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(sj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=ce(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(sj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;ih(h,4,12841,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Jc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ne(b|0,0,e|0)|0;return b|0}function Kc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=_h(512)|0;c[h>>2]=f;gj(f,b);gj(f,14522);d=b+16|0;if(a[d>>0]|0){d=Ic(d)|0;gj(f,d);Jj(d);d=b+2064|0;if(a[d>>0]|0){gj(f,14603);d=Ic(d)|0;gj(f,d);Jj(d)}gj(f,14605)}gj(f,b+4112|0);if(!((mf(b,22073)|0)==0?!(mf(14575,b+6160|0)|0):0))e=7;do if((e|0)==7){if((mf(b,20800)|0)==0?(mf(14572,b+6160|0)|0)==0:0)break;d=b+6160|0;if((mf(b,22067)|0)==0?(mf(14607,d)|0)==0:0)break;gj(f,14603);gj(f,d)}while(0);gj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Bh(f,14611,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Bh(f,19648,k)}k=wh(h)|0;i=l;return k|0}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}lh(a)|0;if((h|0)>0)Jj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((xg(20415,f)|0)==0?(xg(20423,f)|0)==0:0){g=11;break}f=ke(g,f)|0;c[j>>2]=f;a=jc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ci(16366,k);g=14}else if((g|0)==11){c[l>>2]=f;ci(16420,l);g=14}else if((g|0)==13){c[m>>2]=f;ci(22442,m);g=14}if((g|0)==14)if((b|0)>0){Jj(f);b=0}else b=0;i=n;return b|0}function Mc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){ie(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;ie(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){ie(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Nc(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|0)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?b:0)|0}function Oc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Fi(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(si()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Fi(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;qc(e,2,j)|0}if(b&2048){c[h>>2]=qc(e,3,k)|0|2048;qc(e,4,h)|0}}}}while(0);i=l;return e|0}function Pc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6783]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Fi(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Fi(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Sc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(17211,17263,388,17275);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Mi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Sg(b);d=d+1|0}Jj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+16|0;d=h;f=h+20|0;if((a+-3|0)>>>0>12){c[d>>2]=a;c[d+4>>2]=3;c[d+8>>2]=15;wi(22815,d)}e=_h(0)|0;c[f>>2]=e;gj(e,22878);if((((((((((((a|0)>3?(gj(e,23093),(a|0)>4):0)?(gj(e,23133),(a|0)>5):0)?(gj(e,23175),(a|0)>6):0)?(gj(e,23219),(a|0)>7):0)?(gj(e,23297),(a|0)>8):0)?(gj(e,23372),(a|0)>9):0)?(gj(e,23430),(a|0)>10):0)?(gj(e,23472),(a|0)>11):0)?(gj(e,23542),(a|0)>12):0)?(gj(e,23616),(a|0)>13):0)?(gj(e,23653),(a|0)>14):0)gj(e,23740);d=a+1|0;while(1){if((d|0)>(b|0))break;a=d+1|0;c[g>>2]=a;Bh(e,23816,g);d=a}gj(e,23855);g=wh(f)|0;i=h;return g|0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=ce(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Fe(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=Qj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;wi(17297,j)}}else f=0;c[d+24>>2]=Gg(b,f)|0;j=If(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=Gg(b,f)|0;c[d+44>>2]=Gg(b,f)|0;c[d+48>>2]=Gg(b,f)|0;c[d+52>>2]=Gg(b,f)|0;g=If(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=Gg(b,f)|0;Fe(b,h,4,0);b=Zi(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Vc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Ph(4,21911,p);Og(500);l=a+5|0;k=hd(l,21818)|0;c[p>>2]=k;tj(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Og(250);g=e-j|0;g=of(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Ph(4,21964,m);if(Wg(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;ci(21986,o);c[n>>2]=l;ag(21870,n)}else if((g|0)==6){Xi(p);i=q;return a|0}return 0}function Wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=ce(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=_h(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){gj(e,12975);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){gj(e,14538);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}gj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=wh(j)|0;if(!(c[a>>2]|0))wi(12979,k);if(!(b&8))e=0;else{Jh(l,Ce(56,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Jh(l,Ce(d,l)|0);e=e+1|0}i=m;return l|0}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=lk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;ie(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(ee(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)kk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)kk(f);return e|0}function Yc(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(!(jf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);ie(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 Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(_c(b,e<<24>>24)|0)-b|0;i=g;return e|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function $c(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=ce(16)|0;else l=vf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=hj(d,e)|0;else{k=vf(h,e+1|0)|0;c[l+4>>2]=k;ie(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Sc(b,mi(m)|0);return l|0}function ad(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=qk()|0;fk(27048)|0;if((c[6769]|0)!=0&(a|0)==(c[6770]|0)){zg(2,13901,61)|0;_a(1)}dk(27048)|0;fk(27084)|0;fk(27048)|0;c[6770]=a;c[6769]=1;dk(27048)|0;if(!(c[6778]|0))c[6778]=oe(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;ih(d,64,19648,b)|0;a=Xe(c[6778]|0,d)|0;if(!a){a=ce(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Vi(c[6778]|0,d,a)|0}fk(27048)|0;c[6769]=0;dk(27048)|0;dk(27084)|0;i=e;return c[a+8>>2]|0}function bd(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=_h(Qd(f)|0)|0;c[j>>2]=g;h=f;f=Bi(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;gj(g,h);gj(g,21606);m=f+1|0;h=m;f=Bi(m,47)|0}gj(g,h);f=wh(j)|0;j=Qd(d)|0;m=Qd(e)|0;m=j+3+m+(Qd(f)|0)|0;j=ce(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;ih(j,m,21608,k)|0;c[b+44>>2]=$f(b,21617)|0;c[b+48>>2]=$f(b,21624)|0;c[b+52>>2]=$f(b,21635)|0}i=l;return}function cd(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function dd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Ri(b,d,0)|0;if((d|0)>-1){b=Eg(b,1,d)|0;c[h>>2]=b;a:do if((((Zb(b,g,0)|0)!=0?(xg(15333,c[g>>2]|0)|0)!=0:0)?(Pf(g)|0,f=Pf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Nd(f)|0;if(e)while(1){if(!(Zb(c[h>>2]|0,g,0)|0))break a;f=Pf(g)|0;if(!f)break a;b=xh(f)|0;Vi(e,b,ni(Oh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Gd(h)}else d=c[(si()|0)>>2]|0;i=j;return d|0}function ed(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Vf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9496;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(si()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Hc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=ce(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Fe(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Qj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;wi(17780,j)}}else f=0;c[d+12>>2]=Gg(b,f)|0;c[d+16>>2]=Gg(b,f)|0;c[d+20>>2]=Gg(b,f)|0;g=If(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Fe(b,h,4,0);Fe(b,h,4,0);b=Zi(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function hd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(mf(b,20342)|0){if(!(mf(b,16608)|0)){f=c[2235]|0;break}e=Xd(b,d)|0;if(!e){a:do if(!d)e=27808;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=16636;break a}case 119:{e=16626;break a}default:{e=e<<24>>24==97?16615:27808;break a}}}while(0);d=je(c[(si()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;wi(16645,g)}else f=e}else f=c[2294]|0;while(0);i=h;return f|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;pd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=ce(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;bd(a,b,h,d);c[e>>2]=0;b=a+44|0;j=Vh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=Vh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=Vh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Sg(e);Jj(c[a+40>>2]|0);Jj(c[b>>2]|0);Jj(c[f>>2]|0);Jj(a);Jj(h);Jj(d);d=c[e>>2]|0}i=g;return d|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ze(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Xj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;bk(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ci(16522,f);b=0;break}}else{lf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function kd(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=ce(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[22603+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[22603+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[22603+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[22603+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function ld(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[19029+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[19029+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))ag(13120,k);l=Di()|0;if($g(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Di()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;ag(13143,f)}if(b|0?(hg(b,0)|0)<0:0)ag(13170,g);if((d|0)!=1?(hg(d,1)|0)<0:0)ag(13190,h);if((e|0)!=2?(hg(e,2)|0)<0:0)ag(13211,j);Lh();i=k;return}function nd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(yj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Ug(c|0,d|0,10,0)|0;b=b+1|0;c=Uh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Uh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function od(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=ec(a,b)|0;if((a|0)<0)a=-1;else{if((qd(a,1e6)|0)>0)qi(a,27808,0,0)|0;c[g>>2]=0;c[h>>2]=d;ih(f,256,14775,h)|0;do if(qi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,ih(f,256,14785,j)|0,(qi(a,f,0,0)|0)==0):0){lh(a)|0;a=-1;break}if(!(qi(a,14795,0,0)|0)){lh(a)|0;a=-1}}else{lh(a)|0;a=-1}while(0)}i=k;return a|0}function pd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Bi(b,58)|0;if(!h)h=0;else{m=hj(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Bi(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){ue(l,1024,b,k+1-b|0);c[g>>2]=Ld(l)|0}j=Bi(b,47)|0;if(!j)j=b+(Qd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Ld(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Lf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(si()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=je(a)|0;ci(14628,m)}i=n;return a|0}function rd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=df(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=ce(5)|0;c[g>>2]=f;if((Bg(e,f,4)|0)<4)Ji(g);else a[f+4>>0]=0;lh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=_d(e)|0,Ji(h),(g|0)!=0):0){h=Mg(Je(b)|0,33,b,0)|0;e=Eg(b,d,Vj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function sd(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Rc(g,23861,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=le(g)|0;i=j;return h|0}le(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function td(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Zd(a)|0;break}d=(lk(a)|0)==0;b=Zd(a)|0;if(!d)kk(a)}else{if(!(c[2264]|0))b=0;else b=td(c[2264]|0)|0;mb(27160);a=c[6789]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=lk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Zd(a)|0|b;if(d|0)kk(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(27160)}while(0);return b|0}function ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Yf(e,0)|0;c[n>>2]=g;ug(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Yf(d,e)|0;else if(!f){e=df(d,0,h)|0;if((e|0)<0){c[k>>2]=d;ag(13680,k)}else j=e}else j=0;c[m>>2]=j;e=tf(a,b,j,g)|0;_f(m);if(!l)_f(n);i=o;return e|0}function vd(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[(si()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function wd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Di()|0;c[g>>2]=f;ih(a,256,18596,g)|0;d=$e(a,1)|0;c[g>>2]=d;if(!d){j=c[2265]|0;c[b>>2]=a;Ah(j,18633,b)|0;a=j}else{while(1){if(!(mg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,18612)|0){j=5;break}}if((j|0)==5){j=c[2265]|0;c[h>>2]=f;c[h+4>>2]=a;Ah(j,18619,h)|0}Gd(g);a=c[2265]|0}td(a)|0;i=k;return}function xd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=ge(k)|0;ie(j|0,d|0,e|0)|0;Jj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ni(d)|0;Jj(c);c=l}i=h;return c|0}function yd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Ph(4,21677,j);h=Le(a)|0;n=hd(h,21818)|0;c[j>>2]=n;tj(n,b,0)|0;a=of(g+256|0,f,e,n)|0;if(!(Wg(n)|0)){Xi(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;ci(21821,k);c[l>>2]=h;ag(21870,l)}return 0}function zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Ph(4,21296,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(mc(a,f,e)|0){a=xf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];wi(21328,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function Ad(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Dh(f,12837,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Bd(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;Ne(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){Yc(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;Yc(h,f,a)|0}while(0);i=j;return}function Cd(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(!(jf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Dd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Ch(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=fd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Ch(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Ed(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(ii(b)|0)){c=(Qd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Bj(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Bi(b,47)|0;if(!b){Zf(e)|0;b=0;continue}else{a[b>>0]=0;Zf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(lk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Cd(d,b)|0;kk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Cd(d,b)|0}while(0);return e|0}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(zi(c[2294]|0)|0):0){lh(c[d>>2]|0)|0;Jj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else ei(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);Jj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Td(g);Ji(b)}return}function Hd(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=Uh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,Uh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Uh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(mf(a,20342)|0)if(mf(a,16608)|0){c[d>>2]=436;d=df(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?16636:16615;else d=16626;else d=16789;else d=16765;c[f>>2]=a;c[f+4>>2]=d;ag(16800,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Jd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Bg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;ag(16828,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;wi(16853,g)}else if((d|0)==8){i=h;return}}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Qd(b)|0;h=Qd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Qd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=ce((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Bj(d,e)|0;j=a+g|0;i=d+(a-e)|0;Bj(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Bj(d,e)|0;return f|0}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(qg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=ce(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(qg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;zh(g,21600,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Md(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ih(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Nd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(yj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Pd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Dh(f,12837,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Qd(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 Rd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Nh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Rd(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 Sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Xe(c[e>>2]|0,d)|0)){Vi(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Ah(g,20348,h)|0}}}while(0);i=j;return}function Td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;wj(d);d=g}e=e+1|0}}else{ui(b);b=d+8|0}while(0);Jj(c[b>>2]|0);Ji(a)}return}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=qc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((qc(a,4,f)|0)<0){c[g>>2]=je(c[(si()|0)>>2]|0)|0;ci(14207,g);d=-1}else d=0}else{c[e>>2]=je(c[(si()|0)>>2]|0)|0;ci(14176,e);d=-1}i=h;return d|0}function Vd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=27033;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Wd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[19037+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[19045+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[19045+f>>0]}while(0);return}function Xd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Nc(26750,a[d>>0]|0,4)|0){h=Bf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Fi(jb(5,e|0)|0)|0;if((e|0)>=0){b=zc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(si()|0)>>2]=22;b=0}i=g;return b|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;wi(17530,d)}d=Fj(a,b)|0;if(!d){g=c[(si()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;wi(17594,e)}else{i=f;return d|0}return 0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function _d(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(xg(20214,a)|0))if(!(xg(20217,a)|0))if(!(xg(20221,a)|0))if(!(xg(20224,a)|0))a=0;else{a=20229;e=5}else{a=20233;e=5}else{a=20237;e=5}else{a=20239;e=5}if((e|0)==5){c[d>>2]=a;ih(b,20,20242,d)|0;a=ni(b)|0}i=f;return a|0}function $d(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=Uh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Uh((dc(h,g,Uh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;cg(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function be(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=Ig(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ni(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 ce(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;wi(17666,b)}b=ak(a)|0;if(!b){f=c[(si()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;wi(17719,d)}else{Ne(b|0,0,a|0)|0;i=e;return b|0}return 0}function de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(ii(a)|0)){d=Xd(a,19285)|0;c[b>>2]=d;if(!d){a=0;break}else{Xi(b);a=1;break}}else{f=ri()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;ci(19255,d);a=0;break}}while(0);i=e;return a|0}function ee(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function fe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18784;break}case 2:{a=18763;break}case -1:{a=18752;break}case -2:{a=18736;break}case -3:{a=18736;break}case -4:{a=18721;break}case -5:{a=18706;break}case -6:{a=18687;break}case 0:{a=0;break}default:{c[b>>2]=a;ih(27680,128,18668,b)|0;a=27680}}i=d;return a|0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;wi(17406,b)}b=ak(a)|0;if(!b){f=c[(si()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;wi(17464,d)}else{i=e;return b|0}return 0}function he(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(si()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;ie(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 je(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[24818+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=24906;e=5;break}}if((e|0)==2)if(!c)b=24906;else{b=24906;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 ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;nc(b,g);nc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Af(e,2048,d);Af(f+2064|0,2048,g+2064|0)}g=Kc(f)|0;i=h;return g|0}function le(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ne(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;wi(16450,k)}else{c[j>>2]=e;Li(d,j)}return 0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ce(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(17211,17263,357,17286);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=nh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Mi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function pe(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;cg(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function qe(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;ih(h,256,15120,j)|0;j=kd(h,Qd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Bh(e,15126,k);Ji(g)}i=l;return}function re(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(27160);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6789]|0)==(a|0))c[6789]=b;eb(27160)}b=td(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function se(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=Df(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=17030;else e=(d|0)==2?16989:16998;else e=17021;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;ag(17039,g);return 0}function te(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;d=c[e>>2]|0;if(((mf(d,19833)|0)!=0?(mf(d,19841)|0)!=0:0)?(mf(d,19848)|0)!=0:0)d=0;else{d=ce(12)|0;c[d+4>>2]=ni(c[e>>2]|0)|0;qh(b)|0;if((a[c[e>>2]>>0]|0)==91){qh(b)|0;c[d+8>>2]=Ve(b)|0;qh(b)|0;Jf(b,19854)}}return d|0}function ue(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;wi(17154,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;aj(b,e,f)|0;a[b+g>>0]=0;i=j;return}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=ki(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Vd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Fi(Pa(195,f|0)|0)|0}else d=Fi(d)|0;i=g;return d|0}function xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;ih(g,4096,15344,e)|0;a=oe(0,1)|0;c[e>>2]=a;if(((dd(g,15361,a)|0)==206?(b=ai(a,15365)|0,(b|0)!=0):0)?(d=Bi(b,47)|0,(d|0)!=0):0){b=nd(d+1|0)|0;a=C}else{a=-1;b=-1}Td(e);C=a;i=f;return b|0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0;d=ri()|0;a=id(a,(b|0)==0?c[186]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Fh(e,21617)|0){if(!(ii(e)|0))break a;if((Jg(e)|0)>>>0<b>>>0)b=Jg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ze(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;d=g;e=2;f=0;c=0;while(1){if((f|0)>=(e|0)){j=e<<1;h=ge(j)|0;ie(h|0,d|0,e|0)|0;Jj(c);d=h;e=j;c=h}j=di(b)|0;a[d+f>>0]=j;if(!(j&255))break;else f=f+1|0}j=ni(d)|0;Jj(c);i=g;return j|0}function Ae(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2235]|0;if((c[f+76>>2]|0)>-1)g=lk(f)|0;else g=0;do if((qj(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=(Cd(f,10)|0)<0}while(0);if(g|0)kk(f);return d<<31>>31|0}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Jj(e);f=f+1|0}Jj(b);Jj(i);i=h}Ji(g+12|0);Ji(g+28|0);Ji(a)}return}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ce(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=ce((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ni(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Ph(4,22034,d);Og(500);if((ah(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Qc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Zc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;wi(21548,g)}else{i=h;return}}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Ph(4,21878,d);if((ah(Le(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function He(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2235]|0);if((b|0)==(c[2294]|0)|d)if(d){td(b)|0;b=1}else b=1;else if(!(re(b)|0))b=1;else{Rf(17089,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Xc(b,d,1,a)|0)!=1:0){b=Wg(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;wi(16734,f)}else{f=je(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;wi(16705,e)}}i=g;return}function Je(a){a=a|0;var b=0;b=ni(a)|0;if(!(((xg(20415,a)|0)==0?(xg(20423,a)|0)==0:0)?!(xg(20432,a)|0):0))Ad(a,b,Qd(a)|0);if(!(Fh(b,20254)|0))if(!(Fh(b,20258)|0))if(!(Fh(b,20261)|0)){a=(Fh(b,20266)|0)==0;a=a?0:696}else a=732;else a=720;else a=708;Jj(b);return a|0}function Ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=eh(b)|0;do if((f|0)!=0?(mf(f,18241)|0)!=0:0){d=Qi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;wi(17964,h)}else e=d;while(0);i=j;return e|0}function Le(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(xg(21725,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)wi(21732,e);if(((((Tb(b,21759)|0)==0?(Bi(b,126)|0)==0:0)?(Tb(b,21762)|0)==0:0)?(Tb(b,21765)|0)==0:0)?(Fh(21769,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;wi(21772,d);return 0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Mi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;wi(18430,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ne(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 Oe(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Aj(e&65535)|0;if(d){h=Yj(jd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+216|0;e=f;e=ki(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[f>>2]=e;c[f+4>>2]=C;f=a+32|0;e=f;e=ki(c[e>>2]|0,c[e+4>>2]|0,b|0,d|0)|0;d=f;c[d>>2]=e;c[d+4>>2]=C;if(c[186]|0)Tg(a+176|0,c[a+56>>2]|0,b,1)|0;return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=mj(b,59)|0;if((g|0?xg(14526,g)|0:0)?(i=(Bi(g,61)|0)+1|0,h=Bi(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=nd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=nd(b)|0;c[e>>2]=f}}return}function Re(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 Se(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Fi(pa(102,h|0)|0)|0;i=g;return e|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=_h(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){gj(e,14538);b=c[d>>2]|0}gj(e,b);f=f+1|0}g=wh(g)|0;i=h;return g|0}function Ue(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Fi(pa(102,h|0)|0)|0;i=g;return e|0}function Ve(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+20>>2]|0;if(((a[d>>0]|0)+-48|0)>>>0<10){e=oi(d)|0;i=f;return e|0}else{f=c[b+8>>2]|0;b=c[f+28>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=b;c[e+8>>2]=f;wi(19795,e)}return 0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(mf(a,20800)|0)if(!(mf(a,22067)|0)){d=Xh(a+4112|0,Nd(a+6160|0)|0)|0;break}else{c[e>>2]=b;wi(15078,e)}else d=ec(a+4112|0,Nd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((mf(c[e+4>>2]|0,d)|0)!=0);return e|0}function Ye(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((Fi(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ze(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Bi(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function _e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=sd(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=fe(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;wi(18800,g)}return 0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(mf(a,20342)|0){if(Je(a)|0){c=rd(a,b)|0;break}c=df(a,0,c)|0;if((c|0)==-1)c=0;else c=Eg(a,b,c)|0}else c=nj(b)|0;while(0);i=d;return c|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=zg(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)ag(16895,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;wi(16921,e)}}function bf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){Gh(c[a+4>>2]|0,e);f=ce(16)|0;c[f+4>>2]=hj(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(22688,22715,206,22730)}function cf(b){b=b|0;var d=0,e=0,f=0;d=c[2265]|0;f=je(c[(si()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=lk(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Gf(b,Qd(b)|0,1,d)|0;Fd(58,d)|0;Fd(32,d)|0}Gf(f,Qd(f)|0,1,d)|0;Fd(10,d)|0;if(e|0)kk(d);return}function df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Fi(jb(5,f|0)|0)|0;i=e;return d|0}function ef(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function ff(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Ch(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;ie(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Fi(pa(102,f|0)|0)|0;i=e;return d|0}function hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ki(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Bg(b,d,e)|0;a=a+16|0;b=a;b=ki(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function jf(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 kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=ki(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=ki(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;af(b,d,e);return}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((fc(2,a,d)|0)<0){b=je(c[(si()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ci(16481,e);a=0}else{c[b>>2]=Xj(c[d>>2]|0)|0;a=1}i=f;return a|0}function mf(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 nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ki(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ki(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Jd(b,d,e);return}function of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ki(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ki(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Xc(b,1,d,e)|0}function pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Se(a,1,20,d,8)|0)>=0)if((Se(a,1,21,d,8)|0)<0){ci(14071,e);a=-1}else a=0;else{ci(14021,f);a=-1}i=f;return a|0}function qf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=yc(b,d,e)|0;i=g;return f|0}function rf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=kj(a[e>>0]|0)|0;c=c<<24>>24;b=(kj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function sf(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 tf(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;ug(b);a=Wc(a,b)|0;if(!(b&1)){b=Ng(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);_f(f)}else kg(a,d,e,0,0);i=g;return a|0}function uf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Me(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function wf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=fd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;wi(17103,g)}return 0}function xf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(17203)|0;d=(b|0)!=0;if(d)Af(e,100,b);qa(17203,17206,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(17203,e|0,1)|0;else ob(17203)|0;Oa();i=f;return b|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Nc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;ie(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function zf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Fi(ib(10,b|0)|0)|0;if(b){if((c[(si()|0)>>2]|0)==21){c[d>>2]=a;b=Fi(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Qd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;wi(16562,f)}else{Bj(a,d)|0;i=g;return}}function Bf(b){b=b|0;var c=0,d=0,e=0;d=(Bi(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Bi(b,120)|0)==0;d=e?d:d|128;b=(Bi(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;fi(e,b,8);if((c[e>>2]|0)!=2)wi(12106,d);Ej(Uf(12817,jk()|0)|0);cc(c[b+4>>2]|0);if((mk()|0)>1)wd();i=d;return 0}function Df(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Fi(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;f=f+16|0;c[f>>2]=d;ji(b,f);f=c[a+8>>2]|0;b=c[f+4>>2]|0;d=c[a+12>>2]|0;c[e>>2]=c[f+28>>2];c[e+4>>2]=b;c[e+8>>2]=d;wi(19136,e)}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Jd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Gf(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=(lk(e)|0)==0;a=Yc(a,f,e)|0;if(!g)kk(e)}else a=Yc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=ki(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[186]|0)Tg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Fe(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=ej(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a+20|0;if(!(rf(c[d>>2]|0,b)|0))qh(a)|0;else{d=c[d>>2]|0;c[e>>2]=b;c[e+4>>2]=d;Ef(a,19177,e)}i=f;return}function Kf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2235]|0;else{Ae(13963)|0;Ae(13988)|0;d=c[2235]|0;Hc(d,a,b)|0;Fd(10,d)|0;td(d)|0}td(d)|0;d=c[2265]|0;Hc(d,a,b)|0;Fd(10,d)|0;td(d)|0}return}function Lf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Fi(kb(142,h|0)|0)|0;i=g;return d|0}function Mf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Nf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=ge(h)|0;a=a+136|0;Tg(a,b,d+64|0,0)|0;nf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;pc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Sg(f);i=g;return c[f>>2]|0}function Pf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Oh(e)|0,(a[d>>0]|0)!=0):0){e=jg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function Qf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=je(c[(si()|0)>>2]|0)|0;c[g+4>>2]=a;zh(f,14015,g)|0;ji(f,e);i=d;return}function Sf(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?(Gf(b,d,1,a)|0)!=1:0){a=je(Wg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;wi(16675,e)}i=f;return}function Tf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else ie(b,c,d)|0;return b|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[6781]|0;if((d|0?(e=mh(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)wi(18362,f);f=eh(a)|0;i=g;return ((f|0)==0?b:f)|0}function Vf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(ee(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;wi(13337,e)}}function Xf(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 Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=df(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;ag(13648,d)}else{i=e;return b|0}return 0}function Zf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((dh(a,511)|0)<0)if((c[(si()|0)>>2]|0)==17)b=0;else{cf(27808);c[d>>2]=a;wi(19197,d)}else b=1;i=e;return b|0}function _f(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((lh(b)|0)<0){c[d>>2]=b;ag(13372,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function $f(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Qd(c[g>>2]|0)|0;e=Qd(d)|0;b=ce(f+2+e|0)|0;ie(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;ie(f+1|0,d|0,e|0)|0;return b|0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=je(c[(si()|0)>>2]|0)|0;c[f+4>>2]=a;zh(e,14015,f)|0;Li(e,d)}function bg(a,b){a=a|0;b=b|0;a:do if(!a)a=0;else{a=a+12|0;while(1){a=c[a>>2]|0;if(!a){a=0;break a}if(!(mf(c[a+4>>2]|0,b)|0))break a}}while(0);return a|0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function dg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((lh(b)|0)<0)ag(17071,d);else{c[a>>2]=-1;break}while(0);i=e;return}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Qd(a)|0;g=g+1+(Qd(b)|0)|0;d=ce(g)|0;c[f>>2]=a;c[f+4>>2]=b;gh(d,g,17084,f)|0;i=e;return d|0}function fg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;bi(b);d=f}c[a>>2]=0;i=e;return}function gg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Ui(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(20286,20308,352,20324)}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Fi(d)|0;i=f;return e|0}function ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ce(104)|0;c[f+4>>2]=ni(b)|0;c[f+8>>2]=-1;b=Qd(e)|0;c[f+20>>2]=b;c[f+12>>2]=b;a[f+40>>0]=d;c[f+52>>2]=e;return f|0}function jg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(yj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function kg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Ng(h)|0;bc(a,b,c[h>>2]|0,d,e,f);_f(h);i=g;return}function lg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(ah(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function mg(b,d){b=b|0;d=d|0;a:while(1){if(!(Zb(b,d,0)|0)){b=0;break}switch(a[(Oh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function ng(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;a=b-a*a/(+(c>>>0)+4294967296.0*+(d>>>0));if(d>>>0>0|(d|0)==0&c>>>0>1){d=ki(c|0,d|0,-1,-1)|0;a=a/(+(d>>>0)+4294967296.0*+(C>>>0))}return +a}function og(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=17){b=0;break}if(!(rf(c[84+(b*36|0)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4)b=84+(b*36|0)|0;return b|0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=lg(b)|0;b=hd(b,21818)|0;g=ge(f+1|0)|0;c[d>>2]=g;Ie(b,g,f);a[g+f>>0]=0;re(b)|0;if(e|0)c[e>>2]=f;return}function qg(a){a=a|0;a:do if(!(sj(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;ie(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function sg(a){a=+a;var b=0,d=0;h[k>>3]=a;d=za(c[k>>2]|0,c[k+4>>2]|0)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(+h[k>>3])}function tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Bg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function ug(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{wi(12846,c);break}default:{}}if((a&18|0)==16)wi(12912,b);else{i=c;return}}function vg(a){a=a|0;var b=0,d=0;d=a+64|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0)b=0;else{a=c[a+8>>2]|0;Hf(a,b,d);b=ze(a)|0}return b|0}function wg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(lk(a)|0)==0;b=Od(a,b,d)|0;if(!e)kk(a)}else b=Od(a,b,d)|0;return b|0}function xg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function yg(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;i=i+16|0;d=e;Fe(a,d,8,0);c=+h[d>>3];if(b){c=+sg(c);h[d>>3]=c}i=e;return +c}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Fi(pb(4,f|0)|0)|0;i=e;return a|0}function Ag(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;i=i+16|0;d=e;Fe(a,d,4,0);c=+g[d>>2];if(b){c=+Mh(c);g[d>>2]=c}i=e;return +c}function Bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Fi(sb(3,f|0)|0)|0;i=e;return a|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;ih(e,256,19703,f)|0;xh(e)|0;b=Xe(a,e)|0;i=d;return b|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Jd(a,d,4);a=c[d>>2]|0;if(b){a=Si(a|0)|0;c[d>>2]=a}i=e;return a|0}function Eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ce(104)|0;c[f+4>>2]=ni(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=ce(65537)|0;return f|0}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;Eh(12437,f)|0;rh(c[2235]|0,b,d);Nj(10)|0;i=e;return}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fe(a,d,4,0);a=c[d>>2]|0;if(b){a=Qj(a)|0;c[d>>2]=a}i=e;return a|0}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fe(a,d,2,0);a=b[d>>1]|0;if(c){a=Rj(a)|0;b[d>>1]=a}i=e;return a|0}function Ig(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Jg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((ah(a,b)|0)<0){c[d>>2]=a;wi(19224,d)}else{i=e;return c[b+56>>2]|0}return 0}function Kg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];gi(c[a+20>>2]|0,b,1);Sg(b);i=d;return c[b>>2]|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;wi(22442,d)}else{i=e;return b|0}return 0}function Mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=ud(g,b,d,e)|0;i=f;return e|0}function Ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Qh(b)|0)<0)ag(13009,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Og(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Lf(0,0,0,0,b)|0}i=d;return}function Pg(b){b=b|0;var c=0,d=0;c=Qd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(yj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Qg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[16]|0)>=(a|0)){a=c[6779]|0;if(!a){a=c[2265]|0;c[6779]=a}Hc(a,b,d)|0;td(c[6779]|0)|0}return}function Rg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Sg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=ki(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return se(b,d,e)|0}function Ug(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=Mf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Vg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(mf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Wg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(lk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)kk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Xg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;a=ni(a)|0;c[d>>2]=a;a=Yb(ig(20209,1,a)|0)|0;Ji(d);i=b;return a|0}function Yg(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;a=hd(a,19285)|0;c[f>>2]=a;Sf(a,b,d);Xi(f);i=e;return}function Zg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=22098;c[a+4>>2]=352;wi(22077,a);return 0}function _g(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=(b|0)){e=5;break}if(!a){a=0;break}d=d+1|0;a=c[a>>2]|0}return a|0}function $g(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Fi(cb(57,e|0)|0)|0;i=d;return a|0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Fi(Pa(195,e|0)|0)|0;i=d;return a|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Fi(hb(38,e|0)|0)|0;i=d;return a|0}function ch(a){a=a|0;var b=0,d=0;b=a+8|0;d=a+40|0;Hf(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0);a=If(c[b>>2]|0,c[a+16>>2]|0)|0;return a|0}function dh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Fi(Ia(39,e|0)|0)|0;i=d;return a|0}function eh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6780]|0;if(!b)wi(18330,d);else{a=li(b,a)|0;i=d;return a|0}return 0}function fh(a){a=a|0;var b=0;b=ce(36)|0;c[b+28>>2]=128;c[b+20>>2]=ce(128)|0;c[b+8>>2]=a;c[b+16>>2]=27808;c[b+12>>2]=27808;return b|0}
+function gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=fd(a,b,d,g)|0;i=f;return e|0}function hh(a,b){a=a|0;b=b|0;a=a+12|0;do{a=c[a>>2]|0;if(!a){a=0;break}}while((rf(c[a+4>>2]|0,b)|0)!=0);return a|0}function ih(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=wf(a,b,d,g)|0;i=f;return e|0}function jh(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if(!a){d=-1;break}if((a|0)==(b|0))break;d=d+1|0;a=c[a>>2]|0}return d|0}function kh(a){a=a|0;var b=0;b=a+64|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0)a=0;else{b=vg(a)|0;a=Xg(b)|0;Jj(b)}return a|0}function lh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=Fi((a|0)==-4?-115:a)|0;i=b;return a|0}function mh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(mf(d,a)|0))break;b=b+8|0}return b|0}function nh(a){a=a|0;var b=0;b=ce(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Me(b,a)|0;return b|0}function oh(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=Fi(Wa(6,d|0)|0)|0;i=b;return a|0}function ph(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]}function qh(a){a=a|0;var b=0;b=i;i=i+16|0;a=gc(a)|0;if(!a)wi(19154,b);else{i=b;return a|0}return 0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;i=i+32|0;e=d;ic(e,b,c);qj(e,a)|0;i=d;return}function sh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function th(a,b){a=a|0;b=b|0;while(1){if(!a){a=0;break}if(!(rf(c[a+4>>2]|0,b)|0))break;a=c[a>>2]|0}return a|0}function uh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function vh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=ce(d+1|0)|0;c=(c|0)<(d|0)?c:d;ie(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function wh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(18459,18470,40,18486);else{b=c[b+4>>2]|0;Ji(a);return b|0}return 0}function xh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=kj(c<<24>>24)|0;d=d+1|0}return b|0}function yh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=lj(c<<24>>24)|0;d=d+1|0}return b|0}function zh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Yi(a,b,f)|0;i=e;return d|0}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Hc(a,b,f)|0;i=e;return d|0}function Bh(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;Dd(a,b,f);i=e;return}function Ch(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Ui(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=uf(a,b,f)|0;i=e;return d|0}function Eh(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=Hc(c[2235]|0,a,e)|0;i=d;return b|0}function Fh(a,b){a=a|0;b=b|0;var c=0;c=Qd(a)|0;c=c-(Qd(b)|0)|0;if((c|0)<0)c=0;else c=(mf(a+c|0,b)|0)==0&1;return c|0}function Gh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Qj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Qj(c[a>>2]|0)|0}return}function Hh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Jj(c[b+4>>2]|0);Jj(c[b+8>>2]|0);fg(b+12|0);Ji(a)}return}function Ih(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Kh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Jj(b);b=d}c[a>>2]=0;return}function Lh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;lh(b)|0;b=b+1|0}return}function Mh(a){a=+a;var b=0;b=Si((g[k>>2]=a,c[k>>2]|0)|0)|0;return +(c[k>>2]=b,+g[k>>2])}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Oh(b){b=b|0;if(!b)b=0;else while(1)if(!(yj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Ph(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;Qg(a,b,f);i=e;return}function Qh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fi(wa(42,d|0)|0)|0;i=b;return a|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;a=Yd(a,c)|0;if(c>>>0>b>>>0)Ne(a+b|0,0,c-b|0)|0;return a|0}function Sh(a){a=a|0;var b=0;b=kh(a)|0;if(!b)b=Xg(Tc(e[a+58>>1]|0,e[a+56>>1]|0)|0)|0;return b|0}function Th(){}function Uh(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 (C=d,a-c>>>0|0)|0}function Vh(a){a=a|0;var b=0;if(!a)a=ce(8)|0;else{b=ce((Qd(a)|0)+8|0)|0;Bj(b+4|0,a)|0;a=b}return a|0}function Wh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[16]=a;c[d>>2]=0;i=b;return}function Xh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;wi(19053,d);return 0}function Yh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function Zh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=22098;c[a+4>>2]=360;wi(22077,a);return 0}function _h(a){a=a|0;var b=0;b=ce(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=ce(a+1|0)|0;c[b+8>>2]=a;return b|0}function $h(){var a=0,b=0;b=i;i=i+16|0;a=Oc(2,1,0)|0;if((a|0)<0)ci(14146,b);i=b;return a|0}function ai(a,b){a=a|0;b=b|0;a=Cg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function bi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Jj(c[b+4>>2]|0);Jj(c[b+8>>2]|0);Ji(a)}return}function ci(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;ji(a,e);i=d;return}function di(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c;Fe(a,b,1,0);i=c;return d[b>>0]|0|0}function ei(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Gc(b)|0;Be(a)}return b|0}function fi(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6780]|0)){Ii(Wb(a,b,0,d,0)|0);c[6781]=d}return}function gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;Cc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function hi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Jj(c[b+20>>2]|0);Gd(b+8|0);Ji(a)}return}function ii(a){a=a|0;if((mf(a,20342)|0)!=0?(mf(a,16608)|0)!=0:0)a=(lg(a)|0)!=-1&1;else a=1;return a|0}function ji(a,b){a=a|0;b=b|0;var d=0;d=ad()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function li(a,b){a=a|0;b=b|0;a=Xe(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function mi(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ni(a){a=a|0;var b=0;if(!a)a=0;else{b=Qd(a)|0;a=vh(a,b,b)|0}return a|0}function oi(a){a=a|0;var b=0;b=i;i=i+16|0;a=ne(a,0,b)|0;i=b;return a|0}function pi(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;fj(a,b);return Bc(a,b,c,d)|0}function ri(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function si(){var a=0;if(!(c[6783]|0))a=27176;else a=c[(qk()|0)+64>>2]|0;return a|0}function ti(a){a=a|0;if(!a)a=0;else{a=Oh(a)|0;Pg(a)}return a|0}function ui(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Kh(b);Jj(b);c[a>>2]=0}return}function vi(a,b){a=a|0;b=b|0;b=Vh(b)|0;c[b>>2]=c[a>>2];c[a>>2]=b;return b|0}function wi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Li(a,d)}function xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function yi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Jj(c[b+4>>2]|0);Ji(a)}return}function zi(a){a=a|0;if((c[a+76>>2]|0)>-1?lk(a)|0:0)kk(a);return c[a+60>>2]|0}function Ai(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;return +(+O(+(+ng(a,b,c,d))))}function Bi(b,c){b=b|0;c=c|0;b=_c(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ci(){var a=0;a=ad()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Di(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ei(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){dg(b+52|0);Ji(a)}return}function Fi(a){a=a|0;if(a>>>0>4294963200){c[(si()|0)>>2]=0-a;a=-1}return a|0}function Gi(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Hi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=vd(a,b,0)|0;return a|0}function Ii(a){a=a|0;c[6780]=a;if(eh(17822)|0)Wh(Ke(17822,0)|0);return}function Ji(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)ck(b);return}function Ki(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Li(a,b){a=a|0;b=b|0;c[(ad()|0)+4>>2]=1;ji(a,b);Ci()}function Mi(a){a=a|0;var b=0;b=ge(a)|0;Ne(b|0,0,a|0)|0;return b|0}function Ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function Oi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;a=pe(a,b,c,0,-2147483648)|0;return a|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;a=pe(a,b,c,-2147483648,0)|0;return a|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return rc(a,b,15302,15311,c)|0}function Si(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;return Rh(a,b,c)|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,Qd(b)|0,c)|0}function Wi(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Xi(a){a=a|0;if(!(He(a)|0))Ci();else return}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,2147483647,b,c)|0}function Zi(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function $i(){if((ab(13996)|0)==0?(ab(14006)|0)==0:0)_a(-1);Za()}function aj(a,b,c){a=a|0;b=b|0;c=c|0;Jc(a,b,c)|0;return a|0}function bj(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function cj(a){a=a|0;var b=0;b=ce(8)|0;c[b+4>>2]=a;return b|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return yf(a,b,c)|0}function ej(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function fj(a,b){a=a|0;b=b|0;af(a,b,Qd(b)|0);return}function gj(a,b){a=a|0;b=b|0;ff(a,b,Qd(b)|0);return}function hj(a,b){a=a|0;b=b|0;return vh(a,Qd(a)|0,b)|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,b,0,c)|0}function jj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function kj(a){a=a|0;var b=0;b=(Tj(a)|0)==0;return (b?a:a&95)|0}function lj(a){a=a|0;var b=0;b=(Sj(a)|0)==0;return (b?a:a|32)|0}function mj(a,b){a=a|0;b=b|0;return Rg(a,b,(Qd(a)|0)+1|0)|0}function nj(a){a=a|0;return Eg(20342,a,zi(c[2294]|0)|0)|0}function oj(a){a=a|0;if(!(c[a+68>>2]|0))kk(a);return}function pj(a){a=a|0;if(!(c[a+68>>2]|0))kk(a);return}function qj(a,b){a=a|0;b=b|0;return (Gf(a,Qd(a)|0,1,b)|0)+-1|0}function rj(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,b,1,c)|0}function sj(a){a=a|0;return ((a+-48|0)>>>0<10|(Kj(a)|0)!=0)&1|0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;return wg(a,b,c)|0}function uj(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function vj(a,b){a=a|0;b=b|0;return dd(a,15339,b)|0}function wj(a){a=a|0;Jj(c[a+4>>2]|0);Jj(a);return}function xj(a,b){a=a|0;b=b|0;i=a;j=b}function yj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function zj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Aj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Bj(a,b){a=a|0;b=b|0;cd(a,b)|0;return a|0}function Cj(a){a=a|0;return sc(a,-2021002517,18836)|0}function Dj(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Ej(a){a=a|0;c[186]=ni(a)|0;return}function Fj(a,b){a=a|0;b=b|0;return he(a,b)|0}function Gj(a,b){a=a|0;b=b|0;return +(+ae(a,b,1))}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Ij(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Jj(a){a=a|0;if(a|0)ck(a);return}function Kj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Lj(a,b){a=+a;b=+b;return +(+Qf(a,b))}function Mj(a,b){a=+a;b=b|0;return +(+Md(a,b))}function Nj(a){a=a|0;return Fd(a,c[2235]|0)|0}function Oj(a,b){a=+a;b=b|0;return +(+Rd(a,b))}function Pj(a){a=a|0;return (eh(a)|0)!=0|0}function Qj(a){a=a|0;return Si(a|0)|0}function Rj(a){a=a|0;return Ij(a|0)|0}function Sj(a){a=a|0;return (a+-65|0)>>>0<26|0}function Tj(a){a=a|0;return (a+-97|0)>>>0<26|0}function Uj(a,b){a=a|0;b=b|0;Qb(b);return}function Vj(a){a=a|0;return c[a+16>>2]|0}function Wj(a,b){a=+a;b=+b;return +(+kc(a,b))}function Xj(a){a=a|0;return Si(a|0)|0}function Yj(a){a=a|0;return Si(a|0)|0}function Zj(a,b){a=a|0;b=b|0;ba(7);return 0}function _j(a){a=a|0;Ji(a);return}function $j(a){a=a|0;Hb[a&1]()}function ak(a){a=a|0;return Kb(a)|0}function bk(a){a=a|0;Qb(a);return}function ck(a){a=a|0;Qb(a);return}function dk(a){a=a|0;return 0}function ek(a,b){a=a|0;b=b|0;ba(3)}function fk(a){a=a|0;return 0}function gk(a){a=a|0;i=a}function hk(a){a=a|0;C=a}function ik(a){a=a|0;ba(5);return 0}function jk(){return c[186]|0}function kk(a){a=a|0;return}function lk(a){a=a|0;return 0}function mk(){return c[16]|0}function nk(){return C|0}function ok(){return i|0}function pk(a){a=a|0;ba(2)}function qk(){return 0}function rk(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[Hj,qf,Ye,yc,Pc,rg,bj,dj];var Cb=[jj,bf];var Db=[pk,pj,oj,pk];var Eb=[ek,Kf,Uj,ek];var Fb=[Ki,yd,Vc,_b,Zg,Ki,Ki,Ki];var Gb=[ik,oh,Ec,ik];var Hb=[rk,$i];var Ib=[Zj,Ge,De,vc,zd,Zh,Zj,Zj];return{_llvm_bswap_i16:Ij,_i64Subtract:Uh,_free:Qb,_main:Cf,_htonl:Yj,_realloc:he,_i64Add:ki,_memmove:Tf,_pthread_self:qk,_pthread_mutex_unlock:dk,_memset:Ne,_malloc:Kb,_pthread_mutex_lock:fk,_memcpy:ie,_llvm_bswap_i32:Si,_bitshift64Lshr:Nh,_htons:Aj,_bitshift64Shl:Ih,___errno_location:si,_ntohs:zj,runPostSets:Th,stackAlloc:Gi,stackSave:ok,stackRestore:gk,establishStackSpace:xj,setThrew:Wi,setTempRet0:hk,getTempRet0:nk,dynCall_iiii:xi,dynCall_viiiii:Yh,dynCall_vi:Dj,dynCall_vii:_i,dynCall_iiiiiii:sh,dynCall_ii:uj,dynCall_v:$j,dynCall_iii:Ti}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigBedInfo_static.js.html b/bedTools/bigBedInfo_static.js.html
new file mode 100644
index 0000000000000000000000000000000000000000..da49728397768d2da0173ae6c6653dadff62542d
--- /dev/null
+++ b/bedTools/bigBedInfo_static.js.html
@@ -0,0 +1,1319 @@
+<!doctype html>
+<html lang="en-us">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Emscripten-Generated Code</title>
+    <style>
+      body {
+        font-family: arial;
+        margin: 0;
+        padding: none;
+      }
+
+      .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
+      div.emscripten { text-align: center; }      
+      div.emscripten_border { border: 1px solid black; }
+      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
+      canvas.emscripten { border: 0px none; }
+
+      #emscripten_logo {
+        display: inline-block;
+        margin: 0;
+      }
+
+      .spinner {
+        height: 30px;
+        width: 30px;
+        margin: 0;
+        margin-top: 20px;
+        margin-left: 20px;
+        display: inline-block;
+        vertical-align: top;
+
+        -webkit-animation: rotation .8s linear infinite;
+        -moz-animation: rotation .8s linear infinite;
+        -o-animation: rotation .8s linear infinite;
+        animation: rotation 0.8s linear infinite;
+
+        border-left: 5px solid rgb(235, 235, 235);
+        border-right: 5px solid rgb(235, 235, 235);
+        border-bottom: 5px solid rgb(235, 235, 235);
+        border-top: 5px solid rgb(120, 120, 120);
+        
+        border-radius: 100%;
+        background-color: rgb(189, 215, 46);
+      }
+
+      @-webkit-keyframes rotation {
+        from {-webkit-transform: rotate(0deg);}
+        to {-webkit-transform: rotate(360deg);}
+      }
+      @-moz-keyframes rotation {
+        from {-moz-transform: rotate(0deg);}
+        to {-moz-transform: rotate(360deg);}
+      }
+      @-o-keyframes rotation {
+        from {-o-transform: rotate(0deg);}
+        to {-o-transform: rotate(360deg);}
+      }
+      @keyframes rotation {
+        from {transform: rotate(0deg);}
+        to {transform: rotate(360deg);}
+      }
+
+      #status {
+        display: inline-block;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-left: 20px;
+        font-weight: bold;
+        color: rgb(120, 120, 120);
+      }
+
+      #progress {
+        height: 20px;
+        width: 30px;
+      }
+
+      #controls {
+        display: inline-block;
+        float: right;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-right: 20px;
+      }
+
+      #output {
+        width: 100%;
+        height: 200px;
+        margin: 0 auto;
+        margin-top: 10px;
+        border-left: 0px;
+        border-right: 0px;
+        padding-left: 0px;
+        padding-right: 0px;
+        display: block;
+        background-color: black;
+        color: white;
+        font-family: 'Lucida Console', Monaco, monospace;
+        outline: none;
+      }
+    </style>
+  </head>
+  <body>
+    <a href="http://emscripten.org">
+      <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="296px" 
+   height="78px" 
+   viewBox="420 120 100 170"
+   enable-background="new 0 0 900 400"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="emscripten_powered_by_logo.svg"><metadata
+   id="metadata345"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs343"><linearGradient
+     y2="247.6265"
+     x2="225.1929"
+     y1="152.499"
+     x1="225.1929"
+     gradientUnits="userSpaceOnUse"
+     id="linearGradient5104"><stop
+   id="stop5106"
+   style="stop-color:#C1D72F"
+   offset="0.3227531" /><stop
+   id="stop5108"
+   style="stop-color:#BCD631"
+   offset="0.45119295" /><stop
+   id="stop5110"
+   style="stop-color:#AFD136"
+   offset="0.64491969" /><stop
+   id="stop5112"
+   style="stop-color:#ABD037"
+   offset="1" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.0123" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.3086" /><a:midPointStop
+   style="stop-color:#ABD037"
+   offset="1" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5120"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter
+     inkscape:collect="always"
+     id="filter5126"><feGaussianBlur
+       inkscape:collect="always"
+       stdDeviation="0.56377237"
+       id="feGaussianBlur5128" /></filter><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5134"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996" /></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1440"
+   inkscape:window-height="838"
+   id="namedview341"
+   showgrid="false"
+   inkscape:zoom="0.63555556"
+   inkscape:cx="224.82424"
+   inkscape:cy="-52.085109"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_1" /><g
+   id="g5130"
+   transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path
+     transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)"
+     id="path5122"
+     style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)"
+     d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc"
+     inkscape:connector-curvature="0"
+     d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z"
+     style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none"
+     id="path5080" /></g><path
+   fill="#E2E2E2"
+   d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36  c-2.646,0-4.8-2.153-4.8-4.8V165.236z"
+   id="path3" /><path
+   d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path5"
+   inkscape:connector-curvature="0"
+   style="fill:#e2e2e2" /><path
+   fill="#F5F5F5"
+   d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36  c-2.646,0-4.8-2.153-4.8-4.8V163.236z"
+   id="path7" /><g
+   id="g9"><g
+   id="g11"><path
+   fill="#FBFDF8"
+   d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663    c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path13" /><path
+   fill="#F0F4E1"
+   d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663    c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663    c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527    C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z"
+   id="path15" /></g><defs
+   id="defs17"><filter
+   id="Adobe_OpacityMaskFilter"
+   filterUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix20" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"
+   id="SVGID_1_"><g
+   filter="url(#Adobe_OpacityMaskFilter)"
+   id="g23"><image
+   overflow="visible"
+   width="422"
+   height="480"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAg2AAAQ4QAAF1b/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAeMBqQMBIgACEQEDEQH/ xACjAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAgEBAQAAAAAAAAAAAAAAAAAAAAEQAAEDAQQKAwAC AwEAAAAAAAABAwQCMRMUBRBQEjMVJQYWNgcgESEwI5AiMkARAAEBAwsEAQIFAwUBAAAAAAABMQID EFAycqOz0wQ0RaURIXGRIEFRMGEiExRAgRKh0SMzQxUSAQAAAAAAAAAAAAAAAAAAAJD/2gAMAwEA AhEDEQAAANUJsrZYFfFgV8WBXxYEL0ki5fo6GjJuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRu aRuaMHQ5dR3ojnJ9XxYFfFgV8WD0jxf2AodbslbAD6mDhlpLvI/qkuiovZL7CGzNfRCJwQacEGnB Bp0QSdEEnRBJ0QSdEEnRBJ3BBpwQacEHidwQXzPfBA6bBqK5w2nlKVH3iJitt+gAeweP+wFDrdkr Y+vmaN02k6+e3d2Gjo6N0c2zoyaM7xozuGluGluGluGluGluGluGluGluGluGluGluGnG8c/z1YO PVIfJF80xoIGPsfBVVrl6hIrD7+B7B4/7AUOt2StnXaYyxHTJ6ZKvrqb4x9MgAAAAAAAAAAAAAAA DGR8692Dh4pbkIKJscTVNiLdVY1+weP+wFDgJ+JLJORs3XbIc3dGz6ZAAAAAAAAAAAAAAAAAAAPn R0ayMi5uLqv1S51eIT2Dx/2AofB38Ra5uIm6kOzm6o+gAAAAAAAAAAAAAAAAAAAPj7+TkjJWNIOt 2et1WfYPH/YIofH2cZcJyEnKkenn6IyAAAAAAAAAAAAAAAAAAABjODmjZONIWt2WtVWPYPH/AGCK Hx9nIXGcg5ypLfo3xkAAAAAAAAAAAAAAAAAAADGcHPGyUaQ1astaqseweP8AsEUPk6+QuM7BTtSW 7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAA AAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4Oe OkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsH j/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYK dqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAA AAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f8AYIofJ18hcZ2Cnakt2ndGQAAAAAAAAAAAAAAAAAAA MZwc8dIxxDVmzVmqx7B4/wCwRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNm rNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr 5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3Rk AAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAA AAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ 1Zs1ZqseweP+wRQ+Tr4y5TkHOVJb9G+MgAAAAAAAAAAAAAAAAAAAYzg542SjSGrVlrVVj2Dx/wBg ih8fZxlxnIKcqT6ObpjIAAAAAAAAAAAAAAAAAAAGM4OeNkY0h61Za1VY9g8f9gih8Xbwlxm4GbqW 6uLrj7AAAAAAAAAAAAAAAAAAAA+fr5OaNkI0ia1Y61Vb9g8f9gihxknCl1m65N1OdsZ3x0ZxkAAA AAAAAAAAAAAAAAAAx8fek5ozui6jazYKsRPsHj/sEUOu2Ktlqn6XZ6scjBSRLbOPpjYxkAAAAAAA AAAAAAAAAAYfJjm+uM0xXVE1xVOZr0Y9g8f9gKHW7JWz7s1W6i9SdYlasXXB9pLbI7fHY5/s3NeT 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs DyhP1cpjbLcVojtDLY3QIn1qZU+yugebJDRKaJ7CVUvtq27o9geURaLx6C19JFbI7Y1QU0/WqFQd oH6CS2TG/wAzZrZd0ewPKMqo2n4VH5FoGKBunVTifj9JJpJdBnVH+mj2B5RkqfdcOki0jFJQn5qm pPx5CTSS6TOKf6tHsDyjI0/2hIRU/GUKbNU1DyfklCWhm6f06PYHlGRf9QkIqfjKCWapWx4kkszj daPYHlGQ2wrItjImqlseJJMM43Wj2B5RkNsEjWNarUeJJMM43Oj2B5RkNsEjWNarUeJJMM43Oj2B 5RkNsGyLY1qtR6ySTDONzo9geUZDbBsi2NarUesk2TDON1o9geUZDbBsjWNarUesk2TDON1o9geU ZDbBsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDb BsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsj WNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNa rUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUe skkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskk wzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzj daPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzjdaP YHlGQ2wbI1jWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJJMM43Oj2B 5RkNsGyNY1qtR4kkwzjc6PYHlGQ2wSNY1qtR4kkwzjc6PYHlGQ2wrItjImqlseJJMM43Wj2B5RkV sJSKv4yolmqVseJJLM43Wj2B5Rkf/UJSKv4ypTZqmoeX8kqS1M43Oj2B5Rki/wC0Koi1DKlC/mqa h5SSpLUzdf6tHsDyjJ6/p2HURaxiobX81TWv4/USaiXUZy59N6PYHlGXubEiE5+RaxisaqEXVCjl Q/WSayXX+Zy59ro9geUUVbNeXPpVRFdI7gzWUVfeqK6h2skOElwmu/ST3bx/R7A8oMpk/SxHiM8M OjThTX9iLqWqr6HHB50kOkp4zSVsUVKqro9geUDLit15fLSumM+MPjTw26UuCVH2moPsWoqcK3R1 4feJD5MkIiTpKvO6fYHlGiFLViuHLSpGJAzIGnyh8peKXRHEEcQ20NtDbQ2kNpDaQ2kNpDaQ2kNp DaQ2kNpDaQ2kNpDaQ2kNpDaQ2kNpDaQ20NtDbQVxBXEFdKnit8cfHpA/IJMn6TMp+0vw9geUaYU+ pmqJNprRmUNSRuSUSSmQgkgSQI+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X4r4sgWQV SCuSOSR2SPSiRLREzDMlUVVVfh7A8o+EeW4wsTNKKxmYijcsollMspliSxJZjDGIYxDGIYxDGIYx DGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxBZYssqllUsrljksdmISsxooSVmLjyqq r8vYHlHxRVRWZ77QznNI3mzSlGZUKU5hSJmKHEUOIocRQ4jScRQ4ihxFDiKHEUOIocRQ4ihxFDiK HEUOIocRQ4ihxFDiKHEUOIocRpOIocRQ4ihxFBcxQXMEKsxpHM1aQezmhB/M3nCquqtfn7A8o/hS utC9dL50vnS/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/ eL50vnS9dLytT7X+PrDhvHuTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOT HJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY/pP/aAAgBAgIGPwBR f//aAAgBAwIGPwBRf//aAAgBAQEGPwCPk8jmv2su47DV1z9uE90V5xHl7vuKrTXWMHDNdYwcM11j BwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHD NdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11 jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMH DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z"
+   transform="matrix(0.24 0 0 0.24 174.5615 142.499)"
+   id="image25"></image></g></mask><g
+   opacity="0.09"
+   mask="url(#SVGID_1_)"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   id="g27"><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M195.361,251.626    c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527    c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path29" /><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M255.024,152.499    c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527    c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527    c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499    L255.024,144.499z"
+   id="path31" /></g></g><g
+   id="g33"><g
+   id="g35"><linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="152.499"
+   x2="225.1929"
+   y2="247.6265"><stop
+   offset="0.0123"
+   style="stop-color:#C1D72F"
+   id="stop38" /><stop
+   offset="0.1394"
+   style="stop-color:#BCD631"
+   id="stop40" /><stop
+   offset="0.5859"
+   style="stop-color:#AFD136"
+   id="stop42" /><stop
+   offset="1"
+   style="stop-color:#ABD037"
+   id="stop44" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="0.3086"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="1"
+   style="stop-color:#ABD037" /></linearGradient><path
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527    c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path46"
+   fill="url(#SVGID_2_)" /></g><defs
+   id="defs48"><filter
+   id="Adobe_OpacityMaskFilter_1_"
+   filterUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix51" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"
+   id="SVGID_3_"><g
+   filter="url(#Adobe_OpacityMaskFilter_1_)"
+   id="g54"><image
+   overflow="visible"
+   width="356"
+   height="414"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAXBAAALIQAAEOP/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAaEBawMBIgACEQEDEQH/ xACYAAEAAgMBAQAAAAAAAAAAAAAABAcBBQYDAgEBAAAAAAAAAAAAAAAAAAAAABAAAAMIAwEAAgMB AAAAAAAAAAIGATIDBBQFFjZQMwcRECKQMRMSEQABAgQEBgEBBwQDAQAAAAAAAQIxcgMEEFCRsyGC M6PTNBFBIGFxEiIyE1GB0UKhscFiEgEAAAAAAAAAAAAAAAAAAACQ/9oADAMBAAIRAxEAAADy0npz Z0Dnx0DS7Q9kr0IKcIKeICeICeICeICeICeICeICeICeICeICeICeICfggp2CElQD1aXxOgc+O1s um7kKj5vpObG6d2Q9zspRA9JmSGmCHmWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIaYIeJo1sPe 4OK5C2tCVS3OmN5clN3IVHod9EOv6zWb0zkAAAAAAAAAAAAAAAAAMRJnwcVXltVuetyU3chUfp5+ 5YexhTgAAAAAAAAAAAAAAAAABjODUVxZNbnjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwaut rJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAA AAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjy Cx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1t ZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAA AAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQ WPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautr JrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAA AAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyC x5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZ NbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAA AAAAAAABjODV1tZNbHjclN3IVH7+HqWTO1uxMgAAAAAAAAAAAAAAAAAYzg1Vb2NXB5XJTdyFRx5G jLc3XG9SS2MgAAAAAAAAAAAAAAAAD4+ohqq47GvTa3JTdyFR830nNm/7qp+gLVk8fuDcZgehLRBL RBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBKQohP0MbkT40OcG8uSm7kKj5vpObAJm45sd n98SO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3xxI7PX84JcQAN5 clN3IAAAAAAAAAAAAAAAAAAAAAAAf//aAAgBAgABBQD+G3//2gAIAQMAAQUA/ht//9oACAEBAAEF AFgq7/bL9narGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxn arGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qx narGdqsZ2qxnarCYVyhn78PQNo/MCUmJhssm48QEScNrGJGEMQgjEIIxCCMQgjEIIxCCMQgjEIIx CCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIQakYQOlI bGTCajw2R5SPLm/KK2gegbR+LVYzzDZGzFKyBaysYS3FYGSBBQkFCQUJBQkFCQUJBQkFCQUJBQkF CQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQNkCA9uK0R7WVrJ+ykMy6WI8BrW NY0IraB6BtAsdqbMHtttYxkvKFKxhCs4JpCtExKFMy5W5jWX22NgRAitoHoG0SsBsePZZFhSSkuw peFm5dhi3qRKYk1BbAjoraB6BtCcl/8ASYtUBjCkL8Lwp2fS3WCxpVDA/wA5lFbQPQNoShGNLbif CcM3+roX9VQz4ZFbQPQNoSLP0t7P04e5uql5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW 0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5F bQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnk VtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqe RW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp 5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6q nkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubq qeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5u qp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m 6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSLlvb+nD3N1UvIraB6BtCTN8Jbj /ScM3+rob9VQ36ZFbQPQNoTUx/xGtcdjSlb9ZwsRvwt1jMYVRR/+5hFbQPQNokZinmbPOsaWVjsM XhZuOwpbxOsYWcjtjzCK2gegbQLDdv8ANtuuDGsgTJTMYZjeCaZjBHmSlZcbgxjL9dGxDBFbQPQN oDGtK2z31pBJXYrWQLmVrCz5Whk8QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFa QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkDZ4gNPkYI9zKxk7dysZdr80zTGaZoRW0D0DaPzK3Oalmyy oYwEVEv8yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGV S4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXB1RL/JlUMMyauU1Mt/KK2gegbRxaK2jj/wD/ 2gAIAQICBj8AG3//2gAIAQMCBj8AG3//2gAIAQEBBj8Ar2djdfxW7G01az+Ok74VzEcvF7FWJ73Z o+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+ M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M9 7s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s 0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+Ms7O7u/5Leq5yVGfx0m/KIxzotYixTC5kpbbfsfFJir 9/0EWo74+5qHH8y/3IO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U g7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U4fmT+5803fP3Kn+D4qsVP v+n2LCd22/C5kpbbcUqVkX4+jf8AIiI34QTgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIEBe AqK1FRfuFqUE/SkWf4PhY4WE7tt+FzJS224JWqJw+f0ov/YnATgcMi4i8BeAtdifpX9yf+4WE7tt +FzJS22jKSfVeP4DUROCCcMmXgORU4KPpL/qvD8CwndtvwuZKW20dUVIcEE4Hxkyi8BHon7uC/2L Cd22/C5kpbbT5/8AoTKFG/iWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttp zKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+Fz JS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu 234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFG zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k="
+   transform="matrix(0.24 0 0 0.24 182.5615 150.499)"
+   id="image56"></image></g></mask><g
+   opacity="0.35"
+   mask="url(#SVGID_3_)"
+   a:adobe-opacity-share="1"
+   id="g58"><path
+   a:adobe-opacity-share="0"
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663    c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path60"
+   fill="#1D2915" /></g></g><linearGradient
+   id="SVGID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="226.1924"
+   y1="159.7139"
+   x2="226.1924"
+   y2="200"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop63" /><stop
+   offset="0.3788"
+   style="stop-color:#F8FBF3"
+   id="stop65" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop67" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.4383"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></linearGradient><polygon
+   fill="url(#SVGID_4_)"
+   points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61   227.655,173.61 236.978,159.714 "
+   id="polygon69" /><g
+   id="g71"><g
+   id="g73"><g
+   id="g75"><image
+   overflow="visible"
+   opacity="0.75"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="392"
+   height="242"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAD2CAYAAADF97BZAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHohJREFUeNrsnYlu40gSBZMU5Z75 /4+dbUsiFwtY2JrqvIqHSEoRACFZPtqk3BV8WVcvAAAACXouAQAAIAwAAEAYAADwWgYuwSp0XAKA wzJxCRAGIgCANf8fIxaE8RIxIBaA8yeMDokgjLkNfLfyzwOAfWTRNX49EkEY5h9N6+sIAuC8/++n mXKZjJ/5UfIYPuyPRXut9WOEAXDuxOGJYEqKZPpEebyjMOYKoTO+BmEAfIYwSjG0JJFaHm8rjncS RkYE2uutwkAgAO8liezzTPqY3jl1vIMwooa+fi0SRvQzshIBgHMKYwpez5Su3jJ1nFUYLWWlznne KpHW5AEAx5fF5Aijfi0jDy91nFocZxRGJgnUMvDkkf3arDiQCMD+YshIwxKE93xy5CGJ1HFqcZxJ GEsE4b0WHa3JA2EAHEcYU8PjlJREdESp47TiOIMwIlG0yqEPPl4iDmQBcCxpZMtOmWNs+Fy2n6M7 kzSOLIy5oogk0SsfZwWCNADeSxhZMYzGYy2I8uslIY5TpY2jCiMzsikjCO2xDz4fiaNFGggDYD9h LJGF9uh9rq8+7hxxWLI4vDiOJozsKCdPFJoc5ry2JG0gDYDzJouxOrTXLJHUsuiKz4uROurS1GHL VEcShpcqNGFoZSZLBBfla6zXO0MeGXGQMgCOkyyyopgCMfzveDifs44yRdQlLKtEdei0cRRhaLKI UkXZoFtCeH7uUn3dJfF9UV8HwgA4tzDG6nktjYfy/OF8zhJLZ0hjEns01SHTxt7C8EpQmdKTlhQu lSguxmu1TLSfNac8hTQAji+MMZEsahHUx6g8743v1aQxOudzSGnsKYyoBOUlCk0StQQGRRrW4aUO bWRVpj8DYQDsI4xaFJEwPFk8FGHcDYGUR1/Jon7uzf84bIlqL2FkS1BWP8XFSRKDIozBEclgiMPq CJ8rDSQCsI0cWmWRTRaWDO7BYy2OXhFH2SE+BudymLSxhzAsWbSkCk8S3vNBkUdGGJE06pTUIgTE AbCOKLRylCYNqxyVTRV347gYX9sr4nhUotDKVPXw292l8WphtMrCSxWeEOrjqghDE0hUlrKkYaUL ZACwj1S8lBGli1oYWpL433Eznl8qWdxFL2trfRsiev/GIaTxSmFkJ99po5+0RBHJoXy8Bt+j9WmU /743qU/E7vxGGgD7JBBrCRCvs9sqRd2NZHErRDEY4iiTxV1p72ppiPx/IqDVr7GbNF4ljBZZaKnC E0UtBu3jq5E0PGFcgpJUH8gCcQDsJworXWQTRiSMWyWM5/Oheu3ZltzFLmk/lPbhkCOoXiEMreHM 9FVYsrhWz8vjS3lNE8dglKiyHd9ewqAsBbB/KcoThjbvwhpCG6WL8vgu2pRb0XbdnGpFKY26vbCG 3u4mja2Fkemz8EpQZWOulZq+gkdNIlFZaq4wBGkAHFYWIm2d3lG6uFeiKNPFt9Ku3ESfEOyJY3TS xi7S2FIYc2ThpQpLFF/Bx6U4auFckiWpFlkgCoBjiCPb8T01Jow6WVx/JHEtZPEt+oCaaD6XRUYa b1OSapXFEJSdsodVporKUZlRUpEsEAbAcaWhpYx6WK02lPamSKOWxVBIo1UY3QJpbC6PrYTROhLK SxW1LH5VUvhlvG5JQ0sXWv/FReYNp0UaAPvKYq4wxoQwvIQRlbojYayRNDaVxhbCaFmKXJNFPcrp q5LFL0UUGWlE6UJ7Y7MT9hAGwDmFEaUMb/5F3X/hjb70hulnZVFL4/Sd3l2iLNUHsrBKUL+M48v4 2EoX0ZvqlaIEYQCcWhalNKwNkrz5GPeftuRWtCk30ed8aUsYzU0WdZoo25ZaHJsJZMuSVMs8i6iv opbEX4FAnt+jdXZnZaEtby6IAuBtUsac/oxaGoPy6A2mWZoupiJldK8uTa0pjLmlKK2DOxLFX8br WllKG5Lbsn4UO+0BII1B/uzLqG9Av+XPKQHZNsU7H22IcF2e0qRx2ISRkYU1g3sISlB/KY9/OUlD 67vIyOKSKEO1JAzEAbCfKFqF4c0CL1PGUKSNm9hr1LXchHYJWYjoy4RYZSnZQhxbz8OIRDEYwvhl SOIvQxh/KenC6+hu7eSOpIEwAM4hjCXSuBRp47lW1F1p16wtoFvShSYLa++MUV7Un7GGMFpKUV66 qPssaln8bUijFoY1u9vbOGnp8NkucX0A4LWyEGmbCT6KvnzIWMjiUcgjsyGbdQOa+V0nyW/p2r2i NLVmSWqJLLR0Ycnib6ck5U3S85JFy8KCSzq5kQfA9pJokUX52AdJo6/EkVmwdM6ci2nG0TmyWE0c S4URDaPN9ltkZPG3U5bS5l1kFhecu2w55SeAfcl0FncJgXh9G30hivqxXIE2Gl3ZO6KIymPZo0xI m/VjrFWSmjsqanBkYfVd/K2kC6uj25JFZ7yxraJAEADHF8pUvTYFjbZUd+5T0UY8hfEQfapAZnRl lCpG0eeHaB/XKcOS5CriGFZ6Qyx5aPMuhiBZ/FJkoaUMTRblMNpoFvfS3fOQBcB55DEp/3e9DuJa GE9ZWO1bpvRkNeZWp7u1Z0emNDUp579YGsOCNyBKF9HIqEFp7K1U4Q2lteZcWOu4tM6xoAQF8H7S EKN0Uz9qd/B90Xh3ku+r6IxUMTpHuWWsdvRGacrr09g9YWTnW7RM0rPKU9oyIN7CgpYs1twxD3EA HJcp+f9UuxPvFGnMFUUXpANLGJ5Qyu+t/+1Ddnp3iXKUNu/iy0gYvyQ/Qa8cGaUt+5FJFiJtI5+Q A8D50kVGIpNy0zgtkIYY/0b5PLOnuHZcqpTRK0nIK0+9TBjZLVfnzOrOJI0vQxbafAuvzyJbfmK4 LMB7JAzv/+zU8H+9lEZL2zApopgMcURHVJrqRO+72a0Pw0oX0YZIVsKIylDWkuVav0UpK2upj7mi QA4A504YnkCmoLpQfm/r3hbWarmRHJ5rV3kpwytNaalqljiGhRc+U4qKNkb6ctJFnSa0uRaaLC7J ZEEZCgCBRCOoLHFMxd19JuVEndyeMLIpo98yZcwtSWWXL5/bf/El9kioL7H3tYhmW1rpYm4pCgDe RyCt4pCigRaxZ297w2fHIFWU6aJ8HOTf61uVbd5mKWOYcVFb08Wc/bm1RQTrVFH3WViy6INUgSgA oEUcWn9HL7kFEOtS1BiIojy+5P97cdSlqUfVDnspYzZLh9Vq+3Rn5mBcE6KwtlgtReEli16YiAcA 64vDayt65XszQ2ejhFFu3FTuxfFQksYo+kitXfowOrFHSnmlqGgLVi9daEt9ZCbmibAzHgBsK46u kIFUlY3pp416CmNIlqNulShuRVtYbuB0r26aR6MsNYm/d8aqwpi7DEhm74urU36K9rTQ1p23Fg9E FgCwpjjqmeFdlTK8ctS1eNT2DP+qZPFVSOMm+grcUV/G4s7v1j6MOcuYe3MwNGl8KV8b7cFd/w4i /pR8RAEAc8QRSUOqlPH8+jpljEVJqZbGl5Iq6qPc7e9eScPry5AlKWONeRjeUNpLUI7SEsUg9sxt bwZ3L/RVAMBr04bXCT5Wpam6XF+WpK7y7z6Ka5EqynQxiL2DaC/xaKnNJ+5Fayi1jpQagtKTNXN7 SKSLaClhZAEAa6cNSxrlXX5fpYyxaNdqadyVdnBuyli187ufeaG0foJMyhgMMdSlp0wZykoXIu3b qAIAzE0b2nNtBGl2YdbBaRsHJ2W0rMg9q23sGy5My2S9PnExhsTFyG6BmHkDAQBeLRFNGpeqNOXt RJppG7Wb6i6Qxiz6hpP3RNIHCSNj0swF6WaUopAFALwyZWRvri1xXIL2sWVqQbR67qrCaEkaLUNr 6wtxCWRh7ZVryQFJAMAe0ojazWe7dWlsI6/JhKG1l6KUoma1lf3Ci2RdiGyyuIg+CspbRLA3TD7n jQQA2EIe0Y21Nw1hUB6z0sgkDC8dLRZGNlVkR0hZpSdLFpfkBVhkTgCADVJGZoM5qyLjyaN1o7hV +jH6mTHL2gcjugjWBfHKUN1WJw8AsFG6iGSRLeNn2spoFOlqbWXfeDG6IHK1ysI76cyOeaQLADhr maqfIY2L5Pt5rQ7vzYfVZspUfXC0CsLq5LbGEgMAnC1laP0Z1giqls7ubBl/k07vaOiYtp6TdjKa JKJJJ9n5FqQLADhj2vCG20Y33NlSVNfwu62SMLqkNb2E0SviyMzgXrUOBwDw4pThrY6R6QPOVmo2 7fvNTNzrgs9F9bhIHH3ihC07C+kCAE4mE00ctUCiakymhN+vfZPdz4gm2fHFXSALK0V409pFWPID AM6XNrwUklnANSpZzRlS29x+zllLqiVpZBKHNwoqE6OQBgAcXRTeIoCd0x564siW8K2RUs0MMy9E 9tBOwNv4KFtjQxwA8C5C8drOLlmlya4h5a21Fy513q948llbdo48okglQn8FAJxLCt68Ma1Bt9pD 7fW1O7q7LYQRxausLaPaGivPAsC7yyTbZnZiTznIyENk4UipfuZJtp68VXLyxJGZoEfaAIAzSaJl TtuaCWOVdrJ18UHrJCNZRFErU3ZCCgDwjglDa+u6GQkjszjr5sLIJI2oA8dLGtKYMBAHAJxVDJ4s Mmv1ZWURlaNeKgxJnmBmT9kueZFFKEEBwGdJJjui9CU7j/YrnJTX6Gcn3m1SbwMAOEnyyDT4SxNF tGrtLGF4nc3euN7MbMKsGDIlKMQCAO8kjeyNdIs0Vm0vt+jDiGQS2TVbtgIAOKMkoopMa5uaEc4q 9C+8EF4UmyMpAIB3Tx4tfcGb32T3G52sVzN7iQkBAA4ogJYbbetjbxe9zFp8s8v8/Y4XCQAAkeiN uwSJQiQ3qbn1Jn/zhNHNuDCR5RAKAHyKLDKfjxJG9t/YpdNbpH1/7ZY4BgDw6TKJSvWtW0Espt/g ROes/eQtxYtQAAAOsJFc/6KTmxPJAADAF8RL29F+5xMHAEAGfz5fvHfFFu1tf8ILCgDwbrLIrAi+ xs/+CGEAACCX/FpTm9x4IwwAgPMkka2+/jDCoJwEAPAGbSoJAwDgwxr+owuDlAEAcHJIGAAAgDAA AD6At5jpDQAAJAwAAPikdIEwAAAAYQAAAMIAAACEAQAACAMAABAGAAAgDAAAAIQBAAAIAwAAEAYA ACAMAABAGAAAgDAAAABhAAAAIAwAAEAYAACAMAAAAGEAAADCAAAAhAEAAAgDAAAAYQAAAMIAAACE AQAACAMAABAGAAAgDAAAQBgAAAAIAwAAEAYAACAMAABAGAAAgDAAAABhAAAAwgAAAEAYAACAMAAA AGEAAADCAAAAhAEAAAgDAAAQBgAAAMIAAACEAQDwMUwIAwAASBgAAHDOlIEwAADgUMKYuNQAAOdu F0kYAABwGGGQLgAA1mtHd2tTSRgAAOeThvX58vhYYZBSAOBTJDAl0sXU0EauJhESBgDA/tKoG/U1 GvnVk0a/08UhNQAArJtENqff4KQydbTpyBcFAODA0titA7xf+MtPM09YuwDT1nEKAOCEaSLqw5he 1Wb2K51c5hedErYkUQDAJ0ohalen4KZ9esXN9h4zvefIBQDgE6QxSVyJmSRXllq9xN9vdBEiM2ai FwDAp0hjMm6sWxKGN9oqandTbW+/0clnkkXr8DFkAgBnl8KcG+dJ/AFFU9DGZqUQ3uT3G1yUKGJ5 1pyEkVIA8BkCySSOKHVMiTZ2tfazn3liU/IEopPPXBhkAQDvKIu5N9JTcGx2o903xpLopDIXyJNB JIgp+XsCAJxBHNkb6czN+ZT8Ppl7Q96vcNItJxHZUoKTRBAA8K4CiYbIPp+PDW1t5qb+ZcKQwIxZ C3oJA2kAwLumi0w7OiqSGKWtI3yV9rNPntyc2KQdkRk9cQAAvIscJidZWG3mqHy89IZ804SR6Zix RDFWJzlK23Axz4zIBQDOJBCRuDQ/OqLItKOrDx5asw/DkoRmxFH5mlH8OhzDbQHg3WQRtZuZhDE6 clky9201YURlqDFIGGODGT0rAwCcVRxRKX9MtJ8tJarF7WffcIJZY3mmtKJVFK+s+AYAcBYxRJ+L Sk5jcMzp12iq2myVMFpO0CpXtdoRgQDAGSQSdW5bCePRII1R8h3tL1lLaq4kyhN/SNwhHtkaUQDA UdOFVRXxkoUmh0fQfmZK/SILy/t94mS9dUsiI3on6J209jNF4o5w5AEAZxFHNM/iURxLZbFKGT+7 ltSUSBjRCKjoRB/BBaQjHADOKAmvKqP1UTyM9jFqQz2BaL/D6sJoPenROdHoKC+EVdfLCAJ5AMCR xJGpzHg32I9EW9pSltosYXiiECNWRXW4R0PUmrOoFgDAEdOFJpEoSTyPe/U4VxpzfvdFCSNKGi1W fF6Au7T1a7SsagsAsHe6EMmVo7yb63tSFF5ZalHq6Gc2utnRUZEkshdgSpw8ogCAI6YLWUEUd+fj pQkj3W6uMXEvEkdWEnfR63abxSsAgBeki7k32Hfj0BJH3W5uMlqqbzh5TyCtUSpzEVpKU6QMADhi uvCE8VBuqj1R3IMb72iY7WLmrlabnXuRsWXGng/xZ4KTMgDgiOlCGiowLdKIOr6jzetm7ZGx1bDa TN/F87glLkhLR44IczQAYL90kZnYbI2EqtvEW4M8Mqt/L2of+4YLEfVfaOb0TvJWXIybcWE8e86Z owEAsJUsrOkGmVLUXZFG1D5mb7BXm4vRz7worQkjEsVNsanVqROtzLjYogAAM2URdXA/GtrIW0Ic L524Nyy4UJm+jEdwEerj+vM4/DxeiuN/P6P7kdz487z7ed4rF6P7ea0rfueOv3EA2KAMJZLbEygr iqjNbE0X2u/YfEM9JC9MV/3gLlGWsmpz1vH98/uUx70QRl8cXXFIJY5IGoI4AGBFWbR0cFtTDeo2 8ltpH7W+jUyHt7fH92YJY3JEkZFFfVG+fxLFd5EsbkXCGKqEEQmjThmlLOp0QdoAgLVkUYujbrSt AUC3QBLWa9mEYW0V8fKSVH1xygbbGjJWlppuijQG5Yhk0SmJoa+k4EmDtAEAS0RRPnorz1ojoer2 sD40aUQDgzJbts5KGUPDxeoco0bjiy9KuhgUWVyLz1+MhOEJoyt+v1H5Gk0SpA0AyIoiksUYVFse jizqR00ac6YeTMnzWj1haHfpVsdOb0SwoUgadbK4FsmiTBnZhNFVKUNDEwdpAwCyohCZtyzSwyhD 1cdvI2lEKcOTxSpTEJb0YZSNb1mailLGUxpRGWqoRKHJonMa+k7aO8ERBwCiiEShVVesEaLlTbM1 2Oe3IwpLGLdkyvDKaZsnDE0cXSGLTMrISKNMFhdHFpYwpkIWnZM4InEgDwBEYcnCWnVWW+LDE0Ut jUgcmc7uVdeQWiIMcS5iJmXcqpLTt/w5IqpFFlGjXs/b6BrEQeoAQBTRpLxphiwsUXji8EpSWv+F yEqd3XOFMTl34V7KuFelpUtwaGWovlEW5UXqg5SRKU1NhmQA4NyCyIpCjGShDZ3V5lV8B3L4bXzu OyhFeSOkWs5/s4RhDVEt7+QfRUNfSqNMGV6qqKXRBymjlsTFKFPV3zsVH7eUpqagzAUAxxRDNmFk k8XDSBfaCKhaCv/5OTxpRB3eXt/FquvtrdGHUd+p18t2PIqGXytNXZTk4U3Sy7zxtTiespjEHmk1 JctVmWQDAOcSibXQamYDJGvobCmL34njP+L3YWRLUasOpS25zPy+srPZKhFpX+Md3pDZqA+j5Y9k 6UXrFn4eAPZPGNnyU3borCaLm1KG+k+VLLzDG17rSWOTdLFEGCJ+B7IllEgCEryWbaCjWZlrxVlE AXA+cSyRxST6sFlNFjdHFnU5yhPGb0cW1gipTSofwwpvRl3S0dZ+19JEn0waljCiIW7Px6EqS12K z2n9IyL+pEBGTQGcUxaZ5T2iDm5v8yNtUp7VZ/FPQ7Lw9gpqWdJ8t+XNPVlIUhqZklSXSBGj2JNn roU0xh9ZjIU4ns9HRxzWo9dBjlAAjlOGmgJJiCzbz8KSxbfofRSRLH47Zaho7oXIhpvKrTUPo1N+ wbFoOLPSyAgjMw66vJClLMpjlD9HYdXikMSjJocu+SYhFYBlMmhJFa2y0EZCZWRxE33IbC2Hf6rH WhatI6M230RurZKUNcy2FkerNLw33lvw6/mmXos3tlyj6iH6aKw+WRaLZIEgAPYTSKs0rEUEvdFQ 1uZH2qQ8r5/iH4k7uVtGRmlltdVYM2FYb9RYNbgZaXiNq/amWtseatJ4iD9JcKk0WjrnAWB7aXhr QXk3oJP4o6G0mdzakh9WZ/c/Ys/DiFanrTdM8q7BoUpSUWmqbOSz0rB+flSGeiSkcRF7rw1vhrlI bhgx0gDYVxhT0GjWd+FjsmJxF31TuGg2dzSk9rdRjlpj7+7DJYxsaapMG1oDG02Es5ZR90RRvsHP pdOfW79mpZFdUh1hABxfGN5EvKws6r6Let8Kq/8imt3tLWWe2fNis1LUFgnDeyNHpeF8JGThJYxo 8kx5J3AtJHFVUoa1LIkmjH6mMJAFwPbCyHZyjzOqFlay0Pa1aJnR7Y2KinbV82SxujS2Kklpo4Qm RRwtPzsShZUqvooL/0wX9QZN1gq5njhE2kZSIQ2A7WQxNT5qZai6P3SU3G559RIgVsqwEoW1wGA0 jFacEtQpEoYnjXLOQ7bxzAyh9UYtfBXiuMq/d/UbnKShiWOuNJAFwHGkYQnj0ZAublU5yts5L1qy /DuQRVSCispzpyhJlfLwImGLLKw+DC8yluIYKnFo0uiN8hTSAHgfYYwSz+HKlqIyW61qaULbqzsq Q2X7LTaTx7DRm9gF4sjKQpKi8IRx/XkjalnUfRmeNCxhRP0ZCAPgGMLwZDGJP4imlsXdKEdF+3Pf xO+rqDu4DyWLLRNG1J8RScMaAjc69UUrXVyrhOGVpYbGlIEwAM6TLsZkwshULW4N0rgpj9oM7nr4 bKss3qIkNVcaIvl16LWRUc9SVJkwhiphWH0ZLSlj7dngANAuCi1R1M+z6WIUe85FnTK+FWnclBRR J4rspLwWWWwujuGFb3KLNDL9F1Z0/DJKUbUwWstSnjSQBcDxpRHJIprRHaWMmyEIL1FEqSLb0X36 Tu9SFFlpTOKvSZ8dVntVRKEJo+78tvYWvyQSBsIAOFZJKhKG1p6MTtXCGimlPY9E8RB9BvdDkdok L1qN9ggJo0Ua2T0vvIRxlT/7MKwSVDS8NprINzdlIA6AdUQRJYy6HOUtLGi1KZnSlCWSjChaS1C7 yGKPklQkDS1teEnjUr3JQ/H4nKh3q4RxUaRxCRJGZngtHd8Ax0oYmXJUZq+LaB0p77WHxP0UD4nX htqlz2IvYWSkMUnbHhhjII5aCjcjTXjlqOxcjEgaiAJge3FkN0NqmYORKU9ZcmhJFNYM7sPI4tXC mFue0t703hFH+ca2pIkoXWRkkU0ZHogFoK1BbNk9L+rH8OZ5ZYRgPc+Iwis/7S6LPYThSUOTxyh/ 7hNei6N+oy/y7z0v7skk4fVdZIWxRBaIAmC+OLKyyHZ+eyth3wOpRENkWzc/OoQs9hJGNmlMSmNc v+F9lTZ6+fduehdFHPXn+oQoMsIQsffKQAwA24ukRRqZlOF1hkevWf0To1IWkzPIYk9hlCffGc8l SBudkjaejXmdNHrjMRLEnHSBMAD2k4WIP2CmRRqePEbxl/Cw0kRUftp1nsWRhdFaotI6xbW00RWl qmfi0NJDS5pAGADnF4ZIbk0pSxjWx1lJjOL3URwyVRxNGFrasGRRp43668dKFmVD/0gKwtqiNdrn m/kXAPsJQyS3rPmkNN7185bDks00s/R0WFkcSRiiJAxLIJNxh1+nkzFICr3zemY01JzlzZEGwD7C kERpKtv4j4mUUm9L3ZImpqNe+OHAfwzRwoWROLoqcXTiL1MepYmlu+0hCoDXlaZapZFJHlMghslJ FJnf7dCyOKoworSREYcYAukqeWTkQKoAeO+kIQl5eK+PkptDccpUcRZhiPgjqTKd4p2TRGSGIJYI A2kAbC+LrDBE8qOpWo45SWI6y0UfTvbHEZWp6mSSafQzH4vkJ+chDIB9hRHdxWdGKUWL/0Wd2G8l irMJQ5OBKOnDk4bX6GdSw1qLCyINgNcKo0UakUhE5o1yOrUozioMcWTRkjqyKSGbJOjgBjiuSLyG u6V/YU5fxFuI4szC0N6MOaljmiGDTOkJUQAcM31MM59PC37GW4jiXYShiUMkP7JK+16SBMBnp45s w9/6McI48B9GlDrq2eNTQjgIA+D9hLH11yCME6cOCdJHy89AGADnFEbm89PCr0UYb5A6ZIFAsn8o SATguIJo+fppxX8HYZz8D6n75DcfAGE0ff3HtxEDf1ipdNDyh9LxhwVwOmkgB4Sx6h9Kxx8aAGJB GLDmHxb9FwCIAGEAf6gA8Ln0XAIAAEAYAACAMAAAAGEAAADCAACAs/JfAQYAL3iXmIlSiu4AAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 179.2061 198.1514)"
+   id="image77"></image><g
+   id="g79"><radialGradient
+   id="SVGID_5_"
+   cx="225.1929"
+   cy="226.1387"
+   r="30.8299"
+   gradientTransform="matrix(1 0 0 0.75 0 56.5347)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop82" /><stop
+   offset="0.4828"
+   style="stop-color:#FDFEFB"
+   id="stop84" /><stop
+   offset="0.7611"
+   style="stop-color:#F8FBF3"
+   id="stop86" /><stop
+   offset="0.989"
+   style="stop-color:#F2F8E8"
+   id="stop88" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop90" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.8025"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><path
+   fill="url(#SVGID_5_)"
+   d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801      v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path92" /><path
+   fill="none"
+   stroke="#EDF5E5"
+   stroke-width="5"
+   stroke-miterlimit="10"
+   d="M186.706,235.825      c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801      h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path94" /></g></g><path
+   opacity="0.74"
+   fill="#FFFFFF"
+   a:adobe-blending-mode="lighten"
+   d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107    v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324    c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z"
+   id="path96" /><linearGradient
+   id="SVGID_6_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="204.3135"
+   x2="225.1929"
+   y2="246.626"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0"
+   id="stop99" /><stop
+   offset="0.0141"
+   style="stop-color:#FDFDFC;stop-opacity:2.231669e-04"
+   id="stop101" /><stop
+   offset="0.1344"
+   style="stop-color:#BEBEAF;stop-opacity:0.0148"
+   id="stop103" /><stop
+   offset="0.2565"
+   style="stop-color:#94957C;stop-opacity:0.0297"
+   id="stop105" /><stop
+   offset="0.3796"
+   style="stop-color:#747759;stop-opacity:0.0446"
+   id="stop107" /><stop
+   offset="0.5029"
+   style="stop-color:#5D633F;stop-opacity:0.0596"
+   id="stop109" /><stop
+   offset="0.6263"
+   style="stop-color:#4D552E;stop-opacity:0.0746"
+   id="stop111" /><stop
+   offset="0.75"
+   style="stop-color:#414B23;stop-opacity:0.0896"
+   id="stop113" /><stop
+   offset="0.8742"
+   style="stop-color:#3B461E;stop-opacity:0.1047"
+   id="stop115" /><stop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12"
+   id="stop117" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="0.2901"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path
+   fill="url(#SVGID_6_)"
+   a:adobe-blending-mode="darken"
+   d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801    h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962    c0,0,10.063,0.328,10.801,10.799V221.954z"
+   id="path119" /></g><g
+   id="g121"><g
+   id="g123"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 216.5547)"
+   id="image125"></image><g
+   id="g127"><radialGradient
+   id="SVGID_7_"
+   cx="202.6289"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop130" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop132" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop134" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_7_)"
+   cx="202.629"
+   cy="219.704"
+   r="2.999"
+   id="circle136" /></g></g><g
+   id="g138"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 213.9448 216.5547)"
+   id="image140"></image><g
+   id="g142"><radialGradient
+   id="SVGID_8_"
+   cx="217.5439"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop145" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop147" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop149" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_8_)"
+   cx="217.544"
+   cy="219.704"
+   r="2.999"
+   id="circle151" /></g></g><g
+   id="g153"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 216.5547)"
+   id="image155"></image><g
+   id="g157"><radialGradient
+   id="SVGID_9_"
+   cx="232.459"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop160" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop162" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop164" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_9_)"
+   cx="232.459"
+   cy="219.704"
+   r="2.999"
+   id="circle166" /></g></g><g
+   id="g168"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 243.7749 216.5547)"
+   id="image170"></image><g
+   id="g172"><radialGradient
+   id="SVGID_10_"
+   cx="247.374"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop175" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop177" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop179" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_10_)"
+   cx="247.374"
+   cy="219.704"
+   r="2.999"
+   id="circle181" /></g></g><g
+   id="g183"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 230.2217)"
+   id="image185"></image><g
+   id="g187"><radialGradient
+   id="SVGID_11_"
+   cx="202.6289"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop190" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop192" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop194" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_11_)"
+   cx="202.629"
+   cy="233.37"
+   r="2.999"
+   id="circle196" /></g></g><g
+   id="g198"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 213.9448 230.2217)"
+   id="image200"></image><g
+   id="g202"><radialGradient
+   id="SVGID_12_"
+   cx="217.5439"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop205" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop207" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop209" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_12_)"
+   cx="217.544"
+   cy="233.37"
+   r="2.999"
+   id="circle211" /></g></g><g
+   id="g213"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 230.2217)"
+   id="image215"></image><g
+   id="g217"><radialGradient
+   id="SVGID_13_"
+   cx="232.459"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop220" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop222" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop224" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_13_)"
+   cx="232.459"
+   cy="233.37"
+   r="2.999"
+   id="circle226" /></g></g><g
+   id="g228"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 243.7749 230.2217)"
+   id="image230"></image><g
+   id="g232"><radialGradient
+   id="SVGID_14_"
+   cx="247.374"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop235" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop237" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop239" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_14_)"
+   cx="247.374"
+   cy="233.37"
+   r="2.999"
+   id="circle241" /></g></g></g></g><path
+   d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path243"
+   inkscape:connector-curvature="0"
+   style="fill:#f5f5f5" /><g
+   id="g245"
+   transform="translate(0,16)"><g
+   id="g247"><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path249"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path251"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path253"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path255"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path257"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path259"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path261"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path263"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path265"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path267"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /></g><g
+   id="g269"><linearGradient
+   id="SVGID_15_"
+   gradientUnits="userSpaceOnUse"
+   x1="324.1611"
+   y1="239.7637"
+   x2="324.1611"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop272" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop274" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path276"
+   style="fill:url(#SVGID_15_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_16_"
+   gradientUnits="userSpaceOnUse"
+   x1="377.45459"
+   y1="239.7637"
+   x2="377.45459"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop279" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop281" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path283"
+   style="fill:url(#SVGID_16_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_17_"
+   gradientUnits="userSpaceOnUse"
+   x1="435.17719"
+   y1="239.7637"
+   x2="435.17719"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop286" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop288" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path290"
+   style="fill:url(#SVGID_17_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_18_"
+   gradientUnits="userSpaceOnUse"
+   x1="474.83691"
+   y1="239.7637"
+   x2="474.83691"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop293" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop295" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path297"
+   style="fill:url(#SVGID_18_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_19_"
+   gradientUnits="userSpaceOnUse"
+   x1="512.28223"
+   y1="239.7637"
+   x2="512.28223"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop300" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop302" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path304"
+   style="fill:url(#SVGID_19_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_20_"
+   gradientUnits="userSpaceOnUse"
+   x1="546.65918"
+   y1="239.7637"
+   x2="546.65918"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop307" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop309" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path311"
+   style="fill:url(#SVGID_20_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_21_"
+   gradientUnits="userSpaceOnUse"
+   x1="580.69629"
+   y1="239.7637"
+   x2="580.69629"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop314" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop316" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path318"
+   style="fill:url(#SVGID_21_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_22_"
+   gradientUnits="userSpaceOnUse"
+   x1="622.7832"
+   y1="239.7637"
+   x2="622.7832"
+   y2="155.3268"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop321" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop323" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path325"
+   style="fill:url(#SVGID_22_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_23_"
+   gradientUnits="userSpaceOnUse"
+   x1="655.6709"
+   y1="239.7637"
+   x2="655.6709"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop328" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop330" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path332"
+   style="fill:url(#SVGID_23_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_24_"
+   gradientUnits="userSpaceOnUse"
+   x1="697.92969"
+   y1="239.7637"
+   x2="697.92969"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop335" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop337" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path339"
+   style="fill:url(#SVGID_24_)"
+   inkscape:connector-curvature="0" /></g></g><g
+   id="g4141"
+   transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g
+   id="g4143"></g><g
+   id="g4165"><linearGradient
+   y2="155.3275"
+   x2="324.1611"
+   y1="239.7637"
+   x1="324.1611"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4167"><stop
+   id="stop4169"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4171"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="377.45459"
+   y1="239.7637"
+   x1="377.45459"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4175"><stop
+   id="stop4177"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4179"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="435.17719"
+   y1="239.7637"
+   x1="435.17719"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4183"><stop
+   id="stop4185"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4187"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="474.83691"
+   y1="239.7637"
+   x1="474.83691"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4191"><stop
+   id="stop4193"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4195"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="512.28223"
+   y1="239.7637"
+   x1="512.28223"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4199"><stop
+   id="stop4201"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4203"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="546.65918"
+   y1="239.7637"
+   x1="546.65918"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4207"><stop
+   id="stop4209"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4211"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="580.69629"
+   y1="239.7637"
+   x1="580.69629"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4215"><stop
+   id="stop4217"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4219"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3268"
+   x2="622.7832"
+   y1="239.7637"
+   x1="622.7832"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4223"><stop
+   id="stop4225"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4227"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="655.6709"
+   y1="239.7637"
+   x1="655.6709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4231"><stop
+   id="stop4233"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4235"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="697.92969"
+   y1="239.7637"
+   x1="697.92969"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4239"><stop
+   id="stop4241"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4243"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient></g></g></svg>
+    </a>
+
+    <div class="spinner" id='spinner'></div>
+    <div class="emscripten" id="status">Downloading...</div>
+
+<span id='controls'>
+  <span><input type="checkbox" id="resize">Resize canvas</span>
+  <span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
+  <span><input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked, 
+                                                                            document.getElementById('resize').checked)">
+  </span>
+</span>
+
+    <div class="emscripten">
+      <progress value="0" max="100" id="progress" hidden=1></progress>
+    </div>
+
+    
+    <div class="emscripten_border">
+      <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
+    </div>
+    <textarea id="output" rows="8"></textarea>
+
+    <script type='text/javascript'>
+      var statusElement = document.getElementById('status');
+      var progressElement = document.getElementById('progress');
+      var spinnerElement = document.getElementById('spinner');
+
+      var Module = {
+        preRun: [],
+        postRun: [],
+        print: (function() {
+          var element = document.getElementById('output');
+          if (element) element.value = ''; // clear browser cache
+          return function(text) {
+            if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+            // These replacements are necessary if you render to raw HTML
+            //text = text.replace(/&/g, "&amp;");
+            //text = text.replace(/</g, "&lt;");
+            //text = text.replace(/>/g, "&gt;");
+            //text = text.replace('\n', '<br>', 'g');
+            console.log(text);
+            if (element) {
+              element.value += text + "\n";
+              element.scrollTop = element.scrollHeight; // focus on bottom
+            }
+          };
+        })(),
+        printErr: function(text) {
+          if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+          if (0) { // XXX disabled for safety typeof dump == 'function') {
+            dump(text + '\n'); // fast, straight to the real console
+          } else {
+            console.error(text);
+          }
+        },
+        canvas: (function() {
+          var canvas = document.getElementById('canvas');
+
+          // As a default initial behavior, pop up an alert when webgl context is lost. To make your
+          // application robust, you may want to override this behavior before shipping!
+          // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
+          canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
+
+          return canvas;
+        })(),
+        setStatus: function(text) {
+          if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
+          if (text === Module.setStatus.text) return;
+          var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
+          var now = Date.now();
+          if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
+          if (m) {
+            text = m[1];
+            progressElement.value = parseInt(m[2])*100;
+            progressElement.max = parseInt(m[4])*100;
+            progressElement.hidden = false;
+            spinnerElement.hidden = false;
+          } else {
+            progressElement.value = null;
+            progressElement.max = null;
+            progressElement.hidden = true;
+            if (!text) spinnerElement.style.display = 'none';
+          }
+          statusElement.innerHTML = text;
+        },
+        totalDependencies: 0,
+        monitorRunDependencies: function(left) {
+          this.totalDependencies = Math.max(this.totalDependencies, left);
+          Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
+        }
+      };
+      Module.setStatus('Downloading...');
+      window.onerror = function(event) {
+        // TODO: do not warn on ok events like simulating an infinite loop or exitStatus
+        Module.setStatus('Exception thrown, see JavaScript console');
+        spinnerElement.style.display = 'none';
+        Module.setStatus = function(text) {
+          if (text) Module.printErr('[post-exception status] ' + text);
+        };
+      };
+    </script>
+    <script>
+
+          (function() {
+            var memoryInitializer = 'bigBedInfo_static.js.html.mem';
+            if (typeof Module['locateFile'] === 'function') {
+              memoryInitializer = Module['locateFile'](memoryInitializer);
+            } else if (Module['memoryInitializerPrefixURL']) {
+              memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer;
+            }
+            var xhr = Module['memoryInitializerRequest'] = new XMLHttpRequest();
+            xhr.open('GET', memoryInitializer, true);
+            xhr.responseType = 'arraybuffer';
+            xhr.send(null);
+          })();
+
+          var script = document.createElement('script');
+          script.src = "bigBedInfo_static.js.js";
+          document.body.appendChild(script);
+
+</script>
+  </body>
+</html>
diff --git a/bedTools/bigBedInfo_static.js.html.mem b/bedTools/bigBedInfo_static.js.html.mem
new file mode 100644
index 0000000000000000000000000000000000000000..e2354e2f0d3f904e0e81aa17f0211ac4e8c7e21b
Binary files /dev/null and b/bedTools/bigBedInfo_static.js.html.mem differ
diff --git a/bedTools/bigBedInfo_static.js.js b/bedTools/bigBedInfo_static.js.js
new file mode 100644
index 0000000000000000000000000000000000000000..6bdfb2b7d008471dcfb2ffdb97b48243ae28d49a
--- /dev/null
+++ b/bedTools/bigBedInfo_static.js.js
@@ -0,0 +1,17 @@
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+29888;__ATINIT__.push();memoryInitializer="bigBedInfo_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=oc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=oc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=23890;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=23917;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=lc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=23867;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=23890;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=23937;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=Si(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=24001;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=24030;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=lc(o,q,r)|0;else o=oc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=Si(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=24204;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=lc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11816+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=24225;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=oc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}ie(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11816+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=24066;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9640;c[H>>2]=9;c[I>>2]=11688;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=23982;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=24091;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=24091;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=24117;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=24154;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=24182;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=24300;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;ie(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=oc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=oc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=24278;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=oc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=23962;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=oc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=24248;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Mc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=lc(j,h,k)|0;else h=oc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6796]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=27224+(b<<1<<2)|0;e=d+8|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[6800]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6796]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6798]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=27224+(b<<1<<2)|0;e=d+8|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[6800]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6798]|0;break}else Za()}else{c[6796]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6801]|0;b=l>>>3;d=27224+(b<<1<<2)|0;a=c[6796]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{m=a;n=b}}else{c[6796]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6798]=h;c[6801]=e;N=j;i=O;return N|0}a=c[6797]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[27488+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6800]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=27488+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6797]=c[6797]&~(1<<a);break}}else{if(h>>>0<(c[6800]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6800]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6800]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6798]|0;if(a|0){f=c[6801]|0;b=a>>>3;e=27224+(b<<1<<2)|0;a=c[6796]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{r=a;s=b}}else{c[6796]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6798]=d;c[6801]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6797]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[27488+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[27488+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6798]|0)-q|0)>>>0:0){f=c[6800]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=27488+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6797]=c[6797]&~(1<<a);break}}else{if(g>>>0<(c[6800]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6800]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6800]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=27224+(a<<1<<2)|0;b=c[6796]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{w=a;x=b}}else{c[6796]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=27488+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6797]|0;b=1<<d;if(!(a&b)){c[6797]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6800]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6798]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6801]|0;if(a>>>0>15){N=b+q|0;c[6801]=N;c[6798]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6798]=0;c[6801]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6799]|0;if(a>>>0>q>>>0){L=a-q|0;c[6799]=L;N=c[6802]|0;M=N+q|0;c[6802]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6914]|0)){c[6916]=4096;c[6915]=4096;c[6917]=-1;c[6918]=-1;c[6919]=0;c[6907]=0;x=p&-16^1431655768;c[p>>2]=x;c[6914]=x}h=q+48|0;g=c[6916]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6906]|0;if(a|0?(w=c[6904]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6907]&4)){a=c[6802]|0;c:do if(a){d=27632;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6799]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6915]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6904]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6906]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6916]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6907]=c[6907]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6904]|0)+f|0;c[6904]=a;if(a>>>0>(c[6905]|0)>>>0)c[6905]=a;j=c[6802]|0;do if(j){e=27632;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6799]|0)|0;c[6802]=M;c[6799]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6803]=c[6918];break}a=c[6800]|0;if(h>>>0<a>>>0){c[6800]=h;k=h}else k=a;d=h+f|0;a=27632;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=27632;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6801]|0)){N=(c[6798]|0)+g|0;c[6798]=N;c[6801]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=27488+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6800]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6797]=c[6797]&~(1<<b);break e}while(0);e=c[6800]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6800]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=27224+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6796]=c[6796]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=27224+(a<<1<<2)|0;b=c[6796]|0;a=1<<a;do if(!(b&a)){c[6796]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6800]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=27488+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6797]|0;b=1<<d;if(!(a&b)){c[6797]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6800]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6799]|0)+g|0;c[6799]=N;c[6802]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=27632;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6802]=N;c[6799]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6803]=c[6918];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6908];c[a+4>>2]=c[6909];c[a+8>>2]=c[6910];c[a+12>>2]=c[6911];c[6908]=h;c[6909]=f;c[6911]=0;c[6910]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=27224+(a<<1<<2)|0;b=c[6796]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{J=a;K=b}}else{c[6796]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=27488+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6797]|0;b=1<<d;if(!(a&b)){c[6797]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6800]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6800]|0;if((N|0)==0|h>>>0<N>>>0)c[6800]=h;c[6908]=h;c[6909]=f;c[6911]=0;c[6805]=c[6914];c[6804]=-1;a=0;do{N=27224+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6802]=M;c[6799]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6803]=c[6918]}while(0);a=c[6799]|0;if(a>>>0>q>>>0){L=a-q|0;c[6799]=L;N=c[6802]|0;M=N+q|0;c[6802]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(si()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0}while((yj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=ed(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[27020+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ed(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[27029+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ed(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=ed(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(si()|0)>>2]=22;cg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=ed(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ed(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;k=ki(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=ki(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=ed(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else cg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=ki(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=uc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){cg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ih(o|0,n|0,2)|0;H=ki(H|0,C|0,-32,-1)|0;e=ki(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(si()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(si()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=ki(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Uh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=ki(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Lj(+Md(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(si()|0)>>2]=34;g=+Mj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ed(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|0)==48){h=0;e=0;while(1){h=ki(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=ki(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ed(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=uc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){cg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=ki(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(si()|0)>>2]=22;cg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(si()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(si()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9608+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9608+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9608+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ih(c[p>>2]|0,0,29)|0;o=ki(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ni(o|0,n|0,1e9,0)|0;o=Ig(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Lj(+Md(1.0,105-o|0),j);m=+Wj(j,+Md(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Wj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(si()|0)>>2]=34}while(0);g=+Mj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(si()|0)>>2]=22;cg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(si()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Yc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[24328+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}tc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Nh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=24808;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=24808;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Uh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=24808;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?24808:24810;L=76}else{p=1;r=24809;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=24808;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=24808;o=N;break}case 109:{o=je(c[(si()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:26710;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Bd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?26718:26723}else{G=1;H=26720}else{q=-q;G=1;H=26717}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Oj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=be(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[24792+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Bd(e,32,K,r,I);if(!(c[e>>2]&32))Yc(y,w,e)|0;Bd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Yc(ea,o,e)|0;f=ba-p|0;Bd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Yc(t,f,e)|0;Bd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Ih(c[r>>2]|0,0,t|0)|0;B=ki(B|0,C|0,o|0,0)|0;o=C;A=Ig(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ni(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=be(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Bd(e,32,K,w,I);if(!(c[e>>2]&32))Yc(H,G,e)|0;Bd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=be(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ne(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Yc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Yc(26748,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=be(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ne(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Yc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Bd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=be(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Yc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Yc(26748,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ne(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Yc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Bd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Yc(u,ba-u|0,e)|0}while(0);Bd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Bd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Yc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Yc(s?(t?27029:26744):t?26736:26740,3,e)|0;Bd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=24808;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[24792+(o&15)>>0]|r;o=Nh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=24808;L=77}else{o=t;t=2;r=24808+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=24808;L=77}}else if((L|0)==76){f=be(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Nc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=24808;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Hi(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Bd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Hi(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Yc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Bd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Bd(e,32,o,s,p);if(!(c[e>>2]&32))Yc(v,w,e)|0;Bd(e,48,o,s,p^65536);Bd(e,48,r,t,0);if(!(c[e>>2]&32))Yc(f,t,e)|0;Bd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;tc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=lk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(yj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{cg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ed(e)|0}while((yj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}cg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((ed(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ne(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ne(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ed(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Dc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=he(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Oi(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ed(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=he(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ed(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ed(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;cg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ed(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(yj(d[m>>0]|0)|0))break;else n=m}cg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ed(e)|0}while((yj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)kk(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=ki(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[186]|0)==0?(mf(c[a+8>>2]|0,21411)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=ki(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=ki(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=ki(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=ki(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Uh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=ki(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Uh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Uh(k|0,j|0,f|0,d|0)|0;ie(b|0,B+f|0,o|0)|0;e=ki(o|0,E|0,e|0,n|0)|0;f=C;d=Uh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=ki(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Tg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=ce(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=ki(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Uh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[186]|0){y=ki(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=ki(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Ni(k|0,j|0,w|0,0)|0;t=ki(A|0,B|0,-1,-1)|0;t=ki(t|0,C|0,w|0,0)|0;w=Ni(t|0,C|0,w|0,0)|0;t=m+52|0;Nf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((ij(u,d,s)|0)<(s|0))f=0;else{Jj(u);j=B;k=A;continue}while(1){o=ij(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=rj(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Ug(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Ug(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=ki(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Uh(f|0,j|0,p|0,q|0)|0;k=C;f=ge(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Tg(Z,c[K>>2]|0,p,0)|0;kf(Z,c[K>>2]|0,f,j);Ji(W)}Wd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Tg(P,c[t>>2]|0,da+64|0,0)|0;kf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Jj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Tg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}nf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;wi(21423,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Ph(4,21479,$);Ph(4,21525,aa);S=0;T=0;break}else if((n|0)==36){nf(Z,j,f,h);S=ba;S=ki(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=ki(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[186]|0:d;c[I>>2]=b;c[I+4>>2]=m;Ph(4,21641,I);if(0){c[e>>2]=b;Ah(0,21662,e)|0}c[h>>2]=0;c[n>>2]=0;pd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Jj(d);u=ni(21411)|0;c[h>>2]=u;Jj(c[n>>2]|0);c[n>>2]=ni(b)|0;j=1}else{u=d;j=0}h=u;g=ce(16)|0;do if(!(mf(u,21671)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=21671}else{if(!(mf(u,21906)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=21906;break}if(mf(u,20800)|0?mf(u,22067)|0:0){if(!(mf(u,22073)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=22073;break}if(!(mf(u,21411)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=21411;break}else{c[k>>2]=u;wi(22109,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=20800}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[186]|0?(l=(ye(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){Ji(o);Jj(u);Jj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=ce(312)|0;c[d+4>>2]=ni(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;bd(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[186]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(ii(c[g>>2]|0)|0))t=29;else{de(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[186]|0;if(g){Ed(c[d+40>>2]|0);p=d+44|0;n=Fc(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(ii(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;Ph(4,22198,s);Ei(G);zf(c[p>>2]|0)|0;zf(c[K>>2]|0)|0;g=d+52|0;if(ii(c[g>>2]|0)|0)zf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];Ph(4,22289,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Id(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=ki(h|0,k|0,8191,0)|0;k=Nh(k|0,C|0,13)|0;af(j,A,4);af(j,x,4);af(j,I,8);af(j,v,8);af(j,w,4);af(j,y,4);af(j,z,8);af(j,z,8);af(j,z,8);af(j,z,8);g=d+136|0;h=Tg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;wi(22339,D)}a[E>>0]=0;Tg(g,j,((k+7|0)/8|0)+-1|0,1)|0;kf(g,j,E,1);dg(B);c[B>>2]=Id(c[d+48>>2]|0,577)|0;dg(B);g=Fc(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];wi(22406,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=Df(c[f+52>>2]|0,0,1)|0;Jd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=ki(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=Nh(H|0,C|0,13)|0;H=(ij(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Tg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Id(c[d+48>>2]|0,2)|0;if(xg(20800,u)|0){c[I>>2]=0;j=d+52|0;if(ii(c[j>>2]|0)|0)pg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;zf(c[j>>2]|0)|0;break}else{if(!(Vg(g,h)|0))break;K=eg(c[j>>2]|0,22436)|0;H=c[f>>2]|0;Yg(K,H,Qd(H)|0);bh(K,c[j>>2]|0)|0;Jj(K);break}}else c[d+132>>2]=ni(c[I>>2]|0)|0;while(0);Jj(c[I>>2]|0)}}}else{if(!(ii(b)|0)){d=0;break}K=Id(b,0)|0;c[d+56>>2]=K;we(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}Jj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6800]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6801]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6798]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=27224+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6796]=c[6796]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=27488+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6797]=c[6797]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6800]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6800]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6800]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6802]|0)){p=(c[6799]|0)+g|0;c[6799]=p;c[6802]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6801]|0))return;c[6801]=0;c[6798]=0;return}if((m|0)==(c[6801]|0)){p=(c[6798]|0)+g|0;c[6798]=p;c[6801]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=27488+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6797]=c[6797]&~(1<<a);break}}else{if(f>>>0<(c[6800]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6800]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6800]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=27224+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6800]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6796]=c[6796]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6800]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6801]|0)){c[6798]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=27224+(a<<1<<2)|0;b=c[6796]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6800]|0)>>>0)Za();else{o=a;p=b}}else{c[6796]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=27488+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6797]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6800]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6800]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6797]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6804]|0)+-1|0;c[6804]=q;if(!q)a=27640;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6804]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=11404;C=256;D=11530}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11854;C=-1;D=11980}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6800]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6801]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6798]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=27224+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6796]=c[6796]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=27488+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6797]=c[6797]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6800]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6800]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6800]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6800]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6802]|0)){q=(c[6799]|0)+g|0;c[6799]=q;c[6802]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6801]|0))return;c[6801]=0;c[6798]=0;return}if((o|0)==(c[6801]|0)){q=(c[6798]|0)+g|0;c[6798]=q;c[6801]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=27488+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6797]=c[6797]&~(1<<d);break}}else{if(f>>>0<(c[6800]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6800]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6800]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=27224+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6796]=c[6796]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6801]|0)){c[6798]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=27224+(d<<1<<2)|0;a=c[6796]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6800]|0)>>>0)Za();else{p=d;q=a}}else{c[6796]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=27488+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6797]|0;a=1<<b;if(!(d&a)){c[6797]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6800]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6800]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Bi(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Re(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Nc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(si()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0}while((yj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=ed(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ed(b)|0;if((d[26755+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){cg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[26755+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;cg(b,0);c[(si()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ed(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Ug(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=ki(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[27011+((e*23|0)>>>5&7)>>0]|0;j=a[26755+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;j=a[26755+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Nh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Ih(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;j=a[26755+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[26755+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;j=a[26755+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Ni(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Ug(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=ki(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0;j=a[26755+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[26755+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ed(b)|0}while((d[26755+i>>0]|0)>>>0<e>>>0);c[(si()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(si()|0)>>2]=34;g=ki(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(si()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Uh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=24248;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=24278;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=24300;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=oe(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(mf(r,17819)|0)){j=g;h=k;N=4;break}s=Bi(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(yj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Qd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(sj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Vi(Q,o,(m|0)==0?18241:m)|0;else{l=mh(o,f)|0;if(!l){l=mh(o,68)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Qi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Pi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Gj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Gj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?18241:m;l=mh(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=li(Q,o)|0;l=Vh(m)|0;if(!n){Vi(Q,o,l)|0;break}else{Jh(n,l);break}}Vi(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;wi(17830,z);break}case 34:{c[A>>2]=o;wi(17856,A);break}case 36:{c[K>>2]=o;wi(17895,K);break}case 38:{c[L>>2]=o;wi(17931,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;wi(17964,B);break}case 43:{c[C>>2]=o;wi(17931,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;wi(18006,D);break}case 48:{c[E>>2]=o;wi(18050,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;wi(18085,F);break}case 53:{c[G>>2]=o;wi(18125,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;wi(18161,H);break}case 57:{c[I>>2]=c[l>>2];wi(18202,I);break}case 65:{wi(18244,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,14526)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Qe(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Bg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(si()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(xg(15333,f)|0))m=c[F>>2]|0;else{Pf(F)|0;f=Pf(F)|0;if(!f){O=20;break a}if((((xg(15973,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(mf(f,15976)|0)if(mf(f,15980)|0){if(I?(g=mf(f,15984)|0,!((H|g|0)==0&G)):0)if(!(mf(f,15988)|0)){f=o;break}else{O=30;break a}if(!(mf(f,16075)|0)){O=34;break a}if(!(mf(f,15984)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Bi(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Oh(f+1|0)|0}if(!(rf(m,16127)|0)){if(o|0)c[e>>2]=ni(f)|0;if(k)h=ni(f)|0}}while(!(I&(rf(m,16136)|0)==0));if((xg(16150,f)|0)!=0?(q=(Bi(f,32)|0)+1|0,r=Bi(q,45)|0,(r|0)!=0):0){l=r+1|0;m=nd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=nd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=je(f)|0;c[z+4>>2]=d;ci(15784,z);f=0;break}case 10:{c[v>>2]=d;ci(15821,v);f=0;break}case 11:{c[x>>2]=d;ci(15877,x);f=0;break}case 15:{c[y>>2]=2e3;ci(15909,y);f=0;break}case 20:{c[u>>2]=d;ci(15947,u);f=0;break}case 30:{if(!g)ci(15992,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ci(16035,E);f=0;break}case 34:{c[w>>2]=d;ci(16079,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ci(16104,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ih(N,256,19648,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ci(16157,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?27808:16251;c[K+8>>2]=f?15976:15980;c[K+12>>2]=h|0?h:16267;ci(16277,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;ih(N,256,19648,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ci(16318,M);f=0}break}}i=P;return f|0}function Yb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;x=A+64|0;q=A+56|0;u=A+48|0;t=A+40|0;s=A+32|0;r=A+24|0;v=A+16|0;p=A+8|0;o=A;w=A+84|0;z=A+80|0;g=fh(b)|0;c[z>>2]=g;c[w>>2]=0;h=g+20|0;a:while(1){if(!(gc(g)|0)){b=w;e=47;break}n=ce(20)|0;do if(rf(c[h>>2]|0,19773)|0){if(!(rf(c[h>>2]|0,19779)|0)){a[n+17>>0]=1;break}if(rf(c[h>>2]|0,19759)|0){c[o>>2]=c[h>>2];Ef(g,19856,o)}}else a[n+16>>0]=1;while(0);qh(g)|0;j=n+4|0;c[j>>2]=ni(c[h>>2]|0)|0;qh(g)|0;c[n+8>>2]=ni(c[h>>2]|0)|0;qh(g)|0;Jf(g,19895);k=n+12|0;while(1){if((a[c[h>>2]>>0]|0)==41)break;l=ce(48)|0;b=og(c[h>>2]|0)|0;if(!b){c[p>>2]=c[h>>2];Ef(g,19897,p)}m=l+12|0;c[m>>2]=b;qh(g)|0;if((c[c[m>>2]>>2]&-2|0)==12){c[l+16>>2]=ni(c[h>>2]|0)|0;qh(g)|0}switch(a[c[h>>2]>>0]|0){case 91:{if((c[c[m>>2]>>2]|0)==13)a[l+38>>0]=1;else a[l+37>>0]=1;qh(g)|0;b=c[h>>2]|0;d=a[b>>0]|0;do if((d+-48|0)>>>0<10){c[l+24>>2]=Nd(b)|0;qh(g)|0}else{if(!(Kj(d)|0)){Ef(g,19939,r);break}d=ni(c[h>>2]|0)|0;c[l+28>>2]=d;b=hh(n,d)|0;if(!b){e=23;break a}c[l+32>>2]=b;a[b+36>>0]=1;qh(g)|0}while(0);Jf(g,19854);break}case 40:{qh(g)|0;e=l+40|0;while(1){b=c[h>>2]|0;if((a[b>>0]|0)==41)break;d=Vh(b)|0;c[d>>2]=c[e>>2];c[e>>2]=d;qh(g)|0;d=c[h>>2]|0;b=a[d>>0]|0;switch(b<<24>>24){case 41:case 44:break;default:{c[s>>2]=d;Ef(g,19985,s);b=a[c[h>>2]>>0]|0}}if(b<<24>>24==41)continue;qh(g)|0}Jf(g,19793);Sg(e);break}default:{}}b=ni(c[h>>2]|0)|0;d=l+4|0;c[d>>2]=b;f=hh(n,b)|0;if(f|0){e=35;break a}qh(g)|0;c[l+44>>2]=te(g,0)|0;if(!(mf(c[h>>2]|0,20051)|0)){a[l+39>>0]=1;if(((c[c[m>>2]>>2]|0)+-3|0)>>>0>=7){e=38;break a}qh(g)|0}Jf(g,20104);c[l+8>>2]=ni(c[h>>2]|0)|0;qh(g)|0;if((c[c[m>>2]>>2]|0)==2?c[l+24>>2]|0:0)a[l+37>>0]=0;c[l>>2]=c[k>>2];c[k>>2]=l}Sg(k);if(th(c[w>>2]|0,c[j>>2]|0)|0){c[q>>2]=c[j>>2];Ef(g,20106,q)}Jh(w,n)}if((e|0)==23){c[v>>2]=d;wi(19915,v)}else if((e|0)==35){c[t>>2]=c[f+4>>2];c[t+4>>2]=b;wi(20014,t)}else if((e|0)==38){c[u>>2]=c[d>>2];wi(20056,u)}else if((e|0)==47){b:while(1){h=c[b>>2]|0;b=c[w>>2]|0;if(!h){e=58;break}f=h+17|0;j=h+4|0;d=h+12|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;e=c[g>>2]|0;if(e|0){v=th(b,e)|0;e=d+20|0;c[e>>2]=v;if(!v){e=52;break b}if(a[f>>0]|0?(a[(c[e>>2]|0)+17>>0]|0)==0:0){e=55;break b}}}b=h;e=47}if((e|0)==52){c[x>>2]=c[g>>2];wi(20133,x)}else if((e|0)==55){A=c[d+4>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=A;wi(20157,y)}else if((e|0)==58){hi(z);i=A;return b|0}}return 0}function Zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Zi(h)|0;c[b+16>>2]=e;f=xd(c[f>>2]|0)|0;if(!f){s=0;break}s=Qd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Jj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}me(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Tf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=tg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;me(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;gg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Sd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;wi(20352,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Sd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Sd(b,f);s=1}else s=1}while(0);i=y;return s|0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((xg(20415,b)|0)==0?(xg(20423,b)|0)==0:0)?(xg(20432,b)|0)==0:0){c[j>>2]=b;wi(20495,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Ph(4,20439,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=Uh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Ph(4,20730,m);dg(x);j=h+128|0;if((c[j>>2]|0)>0)dg(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Ph(4,20577,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6782]|0)){c[6782]=ce(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=hf(j,k,c[6782]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=Uh(l|0,m|0,n|0,I|0)|0;J=C;I=ki(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;ag(20626,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=ki(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;wi(20679,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=ki(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=ke(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;ih(y,2048,20781,z)|0;j=jc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(xg(20800,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Lc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Jj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;wi(20805,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=hf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)ag(20834,G);else F=j;K=h+120|0;J=K;J=ki(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6800]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6916]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6802]|0)){d=(c[6799]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6802]=l;c[6799]=m;return a|0}if((k|0)==(c[6801]|0)){e=(c[6798]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6798]=d;c[6801]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=27488+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6797]=c[6797]&~(1<<d);break}}else{if(h>>>0<(c[6800]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6800]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6800]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=27224+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6796]=c[6796]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Ah(0,22459,b)|0}b=d+112|0;if(c[b>>2]|0)dg(b);b=d+128|0;if(c[b>>2]|0)dg(b);Jj(c[d+4>>2]|0);Jj(c[d+8>>2]|0);Ji(d+12|0);Jj(c[d+40>>2]|0);Jj(c[d+44>>2]|0);Jj(c[d+48>>2]|0);Jj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)dg(b);Ei(d+80|0)}Ji(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(13027,13047,448,13063);h=ya()|0;c[s>>2]=h;if((h|0)<0)ag(13076,l);if(h|0)if(!($g(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;ag(13614,k)}r=Di()|0;c[s>>2]=r;if($g(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;ag(13087,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Ng(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Wf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))_f(t);if(c[k>>2]|0)_f(m);g=0;f=0;j=h;h=k}if((b|0)==14)ag(13076,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){md(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];ag(13321,o)}md(k,0,h,e);h=zg(1,f,g)|0;if((h|0)<0)ag(13232,p);if((h|0)==(g|0)){lh(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;wi(13267,q)}}else if((b|0)==28){lh(0)|0;lh(1)|0;Lh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Wf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)ag(13394,u);else if((b|0)==35){c[v>>2]=h;wi(13409,v)}else if((b|0)==39){v=Te(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;wi(13439,w)}else if((b|0)==41)Da(13494,13047,242,13518);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2265]|0;v=Te(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Ah(h,13537,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(13584,13047,396,13604);else if((b|0)==49)_a(0)}}function cc(a){a=a|0;var b=0.0,d=0,f=0.0,g=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;v=i;i=i+192|0;u=v+184|0;t=v+176|0;s=v+168|0;r=v+160|0;p=v+152|0;o=v+136|0;q=v+96|0;m=v+80|0;l=v+72|0;j=v+64|0;g=v+48|0;d=v+40|0;k=v+32|0;w=v+24|0;x=v+16|0;y=v+8|0;z=v;n=Cj(a)|0;c[z>>2]=e[n+24>>1];Eh(12442,z)|0;c[y>>2]=e[n+56>>1];Eh(12455,y)|0;a=n+88|0;c[x>>2]=(c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0?12495:12499;Eh(12471,x)|0;c[w>>2]=c[n+80>>2]|0?12495:12499;Eh(12502,w)|0;c[k>>2]=c[n+16>>2];Eh(12520,k)|0;c[d>>2]=e[n+106>>1];Eh(12535,d)|0;a:do if(Pj(12556)|0){a=Ac(n)|0;while(1){if(!a)break a;c[d>>2]=0;w=a+4|0;y=xc(n,w,d)|0;z=c[d>>2]|0;y=y+24|0;x=c[y>>2]|0;y=c[y+4>>2]|0;c[g>>2]=w;c[g+4>>2]=z;z=g+8|0;c[z>>2]=x;c[z+4>>2]=y;Eh(12567,g)|0;a=c[a>>2]|0}}while(0);a=ch(n)|0;Fg(12602,a,C);a=n+48|0;g=a;d=n+40|0;d=Uh(c[g>>2]|0,c[g+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;Fg(12612,d,C);d=n+100|0;g=c[d>>2]|0;if(g|0){y=g+16|0;z=a;z=Uh(c[y>>2]|0,c[y+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;Fg(12628,z,C)}a=Kg(n)|0;c[j>>2]=e[n+26>>1];Eh(12645,j)|0;b:do if(Pj(12661)|0)while(1){d=c[d>>2]|0;if(!d)break b;z=c[d+4>>2]|0;y=d+24|0;j=d+16|0;j=Uh(c[y>>2]|0,c[y+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[l>>2]=z;c[l+4>>2]=j;Eh(12667,l)|0;j=a;while(1){if(!j)break;g=j+4|0;k=hc(d,n,c[j+8>>2]|0,0,c[j+12>>2]|0)|0;while(1){if(!k)break;y=c[k+8>>2]|0;z=c[k+12>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=y;c[m+8>>2]=z;Eh(12675,m)|0;k=c[k>>2]|0}j=c[j>>2]|0}}while(0);c[q>>2]=pi(a)|0;Eh(12687,q)|0;c:do if(Pj(12703)|0)while(1){if(!a)break c;y=c[a+8>>2]|0;z=c[a+12>>2]|0;c[o>>2]=c[a+4>>2];c[o+4>>2]=y;c[o+8>>2]=z;Eh(12710,o)|0;a=c[a>>2]|0}while(0);do if(Pj(12721)|0){a=vg(n)|0;if(!a){Ae(12828)|0;break}else{Ae(12824)|0;c[p>>2]=a;Eh(19703,p)|0;break}}while(0);wc(q,n);d=q;Fg(12724,c[d>>2]|0,c[d+4>>2]|0);d=q;a=c[d>>2]|0;d=c[d+4>>2]|0;if((a|0)==0&(d|0)==0){f=0.0;b=0.0}else{b=+h[q+24>>3];f=+Ai(b,+h[q+32>>3],a,d);b=b/(+(a>>>0)+4294967296.0*+(d>>>0))}h[r>>3]=b;Eh(12737,r)|0;h[s>>3]=+h[q+8>>3];Eh(12771,s)|0;h[t>>3]=+h[q+16>>3];Eh(12785,t)|0;h[u>>3]=f;Eh(12799,u)|0;i=v;return}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Xf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Xf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ki(m|0,l|0,-1,-1)|0;d=C;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;Uh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Uh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Oe(a,b,d)|0){b=$h()|0;if((b|0)>=0){if((Ud(b,1)|0)<0){lh(b)|0;b=-1;break}b:do if((gf(b,d,16)|0)<0){n=si()|0;d=c[n>>2]|0;if((d|0)!=115){w=je(d)|0;c[e>>2]=d;c[e+4>>2]=w;ci(14462,e);lh(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Lf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=je(d)|0;c[t>>2]=d;c[t+4>>2]=C;ci(14238,t);lh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ci(14370,u);lh(b)|0;e=23;break}c[r>>2]=4;do if((Ue(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=je(d)|0;c[w>>2]=d;c[w+4>>2]=C;ci(14326,w);lh(b)|0;break}}else{B=c[n>>2]|0;C=je(B)|0;c[v>>2]=B;c[v+4>>2]=C;ci(14296,v);lh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Ud(b,0)|0)<0){lh(b)|0;b=-1;break}if((pf(b,120)|0)<0){lh(b)|0;b=-1}}}else b=-1;else{ci(14118,x+24|0);b=-1}while(0);i=x;return b|0}function fc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Tf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ne(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(fc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(si()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;n=q;m=q+4|0;do if(!(a[b>>0]|0)){f=b+4|0;c[f>>2]=0;p=b+16|0;h=b+8|0;j=b+12|0;k=b+33|0;l=b+34|0;d=c[p>>2]|0;a:while(1){g=Oh(d)|0;c[f>>2]=g-(c[p>>2]|0)+(c[f>>2]|0);d=a[g>>0]|0;b:do if(!(d<<24>>24))o=14;else{if(!(d<<24>>24==47&(a[k>>0]|0)!=0))if(d<<24>>24==35&(a[l>>0]|0)!=0){o=14;break}else{j=d;o=18;break a}switch(a[g+1>>0]|0){case 47:{o=14;break b}case 42:break;default:{j=47;o=18;break a}}d=g+2|0;while(1){d=Tb(d,19105)|0;if(d|0)break;if(!(Zb(c[h>>2]|0,j,m)|0)){o=10;break a}d=c[j>>2]|0}d=d+2|0;c[p>>2]=d}while(0);if((o|0)==14){o=0;if(!(Zb(c[h>>2]|0,j,m)|0)){o=17;break}c[f>>2]=(c[f>>2]|0)+1;d=c[j>>2]|0;c[p>>2]=d}}if((o|0)==10){c[n>>2]=c[(c[h>>2]|0)+4>>2];wi(19108,n)}else if((o|0)==17){a[b+1>>0]=1;e=0;break}else if((o|0)==18){c:do if(j<<24>>24==95|(sj(j<<24>>24)|0)!=0){d=g;while(1){d=d+1|0;if(sj(a[d>>0]|0)|0)continue;if((a[d>>0]|0)!=95){e=d;break}}}else{switch(j<<24>>24){case 39:case 34:break;default:{d=g+1|0;e=d;break c}}k=(a[b+32>>0]|0)==0;f=g+1|0;g=k?f:g;d=g+2|0;while(1){e=a[f>>0]|0;if(e<<24>>24==j<<24>>24){if((a[f+-1>>0]|0)!=92){o=29;break}if(f>>>0>=d>>>0?(a[f+-2>>0]|0)==92:0){o=29;break}}else if(!(e<<24>>24)){o=30;break}f=f+1|0}if((o|0)==29){d=f+1|0;e=d;h=f;d=j<<24>>24==0?f:d}else if((o|0)==30){e=f+1|0;h=f;d=f}e=k?h:e}while(0);c[p>>2]=d;f=e-g|0;d=b+28|0;if((f|0)<(c[d>>2]|0)){e=b+20|0;d=e;e=c[e>>2]|0}else{e=f+128|0;c[d>>2]=e;d=b+20|0;e=Ui(c[d>>2]|0,0,e)|0;c[d>>2]=e}ie(e|0,g|0,f|0)|0;a[(c[d>>2]|0)+f>>0]=0;e=c[d>>2]|0;break}}else{a[b>>0]=0;e=c[b+20>>2]|0}while(0);i=q;return e|0}function hc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;B=i;i=i+32|0;A=B+16|0;z=B+12|0;y=B+8|0;x=B+4|0;w=B;c[A>>2]=0;h=b+8|0;t=c[h>>2]|0;r=a+24|0;Hf(t,c[r>>2]|0,c[r+4>>2]|0);h=Uc(c[b+4>>2]|0,c[h>>2]|0)|0;c[z>>2]=h;h=Of(h,d,e,f)|0;c[y>>2]=h;r=b+80|0;a=c[r>>2]|0;if(!a)s=0;else s=ge(a)|0;q=(s|0)==0;p=b+16|0;a=h;a:while(1){if(!a){a=24;break}ve(a,x,w);o=a+8|0;l=c[o>>2]|0;o=c[o+4>>2]|0;m=c[x>>2]|0;k=m+8|0;m=m+16|0;n=c[m>>2]|0;m=c[m+4>>2]|0;k=Uh(c[k>>2]|0,c[k+4>>2]|0,l|0,o|0)|0;m=ki(k|0,C|0,n|0,m|0)|0;n=C;Hf(t,l,o);o=ge(m)|0;Fe(t,o,m,n);n=o;while(1){if((a|0)==(c[w>>2]|0))break;m=a+16|0;h=c[m>>2]|0;if(q){l=n+h|0;h=n}else{l=s+(_e(n,h,s,c[r>>2]|0)|0)|0;h=s}b=l-h|0;if(b&31|0){a=11;break a}k=(b|0)/32|0;j=0;while(1){if((j|0)>=(k|0))break;b=h+32|0;if(c[p>>2]|0){c[h>>2]=Qj(c[h>>2]|0)|0;D=h+4|0;c[D>>2]=Qj(c[D>>2]|0)|0;D=h+8|0;c[D>>2]=Qj(c[D>>2]|0)|0;D=h+12|0;c[D>>2]=Qj(c[D>>2]|0)|0;D=h+16|0;g[D>>2]=+Mh(+g[D>>2]);D=h+20|0;g[D>>2]=+Mh(+g[D>>2]);D=h+24|0;g[D>>2]=+Mh(+g[D>>2]);D=h+28|0;g[D>>2]=+Mh(+g[D>>2])}if((c[h>>2]|0)==(d|0)?(u=h+4|0,E=c[u>>2]|0,v=h+8|0,D=c[v>>2]|0,((E>>>0>e>>>0?E:e)|0)<((D>>>0<f>>>0?D:f)|0)):0){E=ce(48)|0;c[E+4>>2]=c[h>>2];c[E+8>>2]=c[u>>2];c[E+12>>2]=c[v>>2];c[E+16>>2]=c[h+12>>2];c[E+20>>2]=c[h+16>>2];c[E+24>>2]=c[h+20>>2];c[E+28>>2]=c[h+24>>2];c[E+32>>2]=c[h+28>>2];c[E>>2]=c[A>>2];c[A>>2]=E}h=b;j=j+1|0}if((h|0)!=(l|0)){a=21;break a}a=c[a>>2]|0;n=n+(c[m>>2]|0)|0}Jj(o)}if((a|0)==11)Da(22748,22715,412,22774);else if((a|0)==21)Da(22795,22715,433,22774);else if((a|0)==24){Jj(s);Kh(y);_j(z);Sg(A);i=B;return c[A>>2]|0}return 0}function ic(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;k=i;i=i+128|0;h=k+112|0;g=k+96|0;f=k+72|0;j=k+40|0;e=k;do if(!((d|0)>232|(d|0)==232&b>>>0>3567587327)){if((d|0)>0|(d|0)==0&b>>>0>999999999){m=$d(b|0,d|0,1e9,0)|0;l=C;g=Ug(m|0,l|0,-1e9,-1)|0;g=ki(g|0,C|0,b|0,d|0)|0;h=C;b=$d(g|0,h|0,1e6,0)|0;d=C;e=Ug(b|0,d|0,-1e6,-1)|0;h=ki(e|0,C|0,g|0,h|0)|0;g=C;e=$d(h|0,g|0,1e3,0)|0;f=C;n=Ug(e|0,f|0,-1e3,-1)|0;g=ki(n|0,C|0,h|0,g|0)|0;h=j;c[h>>2]=m;c[h+4>>2]=l;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;h=j+16|0;c[h>>2]=e;c[h+4>>2]=f;h=j+24|0;c[h>>2]=g;c[h+4>>2]=C;zh(a,18539,j)|0;break}if((d|0)>0|(d|0)==0&b>>>0>999999){g=$d(b|0,d|0,1e6,0)|0;h=C;n=Ug(g|0,h|0,-1e6,-1)|0;n=ki(n|0,C|0,b|0,d|0)|0;m=C;j=$d(n|0,m|0,1e3,0)|0;l=C;e=Ug(j|0,l|0,-1e3,-1)|0;m=ki(e|0,C|0,n|0,m|0)|0;n=f;c[n>>2]=g;c[n+4>>2]=h;n=f+8|0;c[n>>2]=j;c[n+4>>2]=l;n=f+16|0;c[n>>2]=m;c[n+4>>2]=C;zh(a,18565,f)|0;break}if((d|0)>0|(d|0)==0&b>>>0>999){j=$d(b|0,d|0,1e3,0)|0;l=C;m=Ug(j|0,l|0,-1e3,-1)|0;m=ki(m|0,C|0,b|0,d|0)|0;n=g;c[n>>2]=j;c[n+4>>2]=l;n=g+8|0;c[n>>2]=m;c[n+4>>2]=C;zh(a,18584,g)|0;break}else{n=h;c[n>>2]=b;c[n+4>>2]=d;zh(a,19648,h)|0;break}}else{p=$d(b|0,d|0,-727379968,232)|0;o=C;n=Ug(p|0,o|0,727379968,-233)|0;n=ki(n|0,C|0,b|0,d|0)|0;m=C;d=$d(n|0,m|0,1e9,0)|0;f=C;g=Ug(d|0,f|0,-1e9,-1)|0;m=ki(g|0,C|0,n|0,m|0)|0;n=C;g=$d(m|0,n|0,1e6,0)|0;h=C;j=Ug(g|0,h|0,-1e6,-1)|0;n=ki(j|0,C|0,m|0,n|0)|0;m=C;j=$d(n|0,m|0,1e3,0)|0;l=C;b=Ug(j|0,l|0,-1e3,-1)|0;m=ki(b|0,C|0,n|0,m|0)|0;n=e;c[n>>2]=p;c[n+4>>2]=o;n=e+8|0;c[n>>2]=d;c[n+4>>2]=f;n=e+16|0;c[n>>2]=g;c[n+4>>2]=h;n=e+24|0;c[n>>2]=j;c[n+4>>2]=l;n=e+32|0;c[n>>2]=m;c[n+4>>2]=C;zh(a,18506,e)|0}while(0);i=k;return}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,14522)|0))e=df(b,0,r)|0;else{if((xg(20415,b)|0)==0?(xg(20423,b)|0)==0:0){if(!(xg(20432,b)|0)){c[g>>2]=b;wi(15717,g)}nc(b,o);if(mf(o,22073)|0){c[f>>2]=b;wi(15380,f)}b=o+4112|0;g=od(b,Nd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(qi(g,15427,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,ih(m,256,15434,j)|0,(qi(g,m,0,0)|0)==0):0){lh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Qd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?15446:15451;c[k+4>>2]=j;ih(m,256,15456,k)|0;fj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Bi(j,40)|0;a[(Bi(j,41)|0)>>0]=0;if((Ee(s+1|0,15464,k,7)|0)!=6)wi(15466,h);f=(Nd(c[k+16>>2]|0)|0)<<8;f=ec(b,(Nd(c[k+20>>2]|0)|0)+f|0)|0;yi(l);if((f|0)<0){lh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((qd(f,1e6)|0)>0){b=26;break}if((qd(g,0)|0)>0?(Bc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ci(15502,n);lh(g)|0;lh(f)|0;e=-1;break}else if((b|0)==24){lh(g)|0;lh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}td(c[2294]|0)|0;td(c[2235]|0)|0;td(c[2265]|0)|0;b=ce(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;ie(b+20|0,o|0,10280)|0;f=b+4|0;if(Qh(f)|0){c[p>>2]=je(c[(si()|0)>>2]|0)|0;wi(15567,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=je(b)|0;c[q>>2]=b;c[q+4>>2]=s;wi(15671,q)}}}else{lh(g)|0;e=-1}while(0)}break}e=Ri(b,15361,0)|0}while(0);i=r;return e|0}function kc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Nh(d|0,m|0,52)|0;e=e&2047;j=Nh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ih(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Ih(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ih(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ih(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ih(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ih(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ih(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ih(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Uh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ih(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Uh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ih(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=ki(d|0,f|0,0,-1048576)|0;d=C;e=Ih(e|0,0,52)|0;d=d|C;e=o|e}else{e=Nh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;nc(b,h);if(mf(h,22073)|0){c[g>>2]=b;wi(14646,g)}b=h+6176|0;if(mf(b,21606)|0){p=od(h+4112|0,Nd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;ih(k,256,14804,q)|0;c[t>>2]=0;do if(qi(p,k,t,0)|0){if((Ee(c[(c[t>>2]|0)+4>>2]|0,14538,l,3)|0)!=2)wi(14814,j);n=l+4|0;j=nd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;yi(t);c[s>>2]=b;ih(k,256,14850,s)|0;if(!(qi(p,k,t,0)|0)){lh(p)|0;f=0;break}b=Ee(c[(c[t>>2]|0)+4>>2]|0,14538,l,3)|0;if((b|0)!=2){c[m>>2]=b;wi(14860,m)}j=c[n>>2]|0;if((Qd(j)|0)>>>0<14){c[o>>2]=j;wi(14902,o)}b=s;g=14951;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14971,q|0)|0)){c[r>>2]=s;wi(14989,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];wi(15022,u)}else{c[e>>2]=b;yi(t);lh(p)|0;f=1;break}}else{lh(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Qd(b)|0)>>>0>4095){c[e>>2]=b;wi(14503,e)}Bj(f,b)|0;ti(f)|0;b=Tb(f,14522)|0;if(!b){a[d>>0]=a[20800]|0;a[d+1>>0]=a[20801]|0;a[d+2>>0]=a[20802]|0;a[d+3>>0]=a[20803]|0;a[d+4>>0]=a[20804]|0}else{a[b>>0]=0;yh(f)|0;Af(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Bi(f,47)|0;if(g){Qe(g,b,e,1);if(!((rf(d,20800)|0)!=0?(rf(d,22067)|0)!=0:0)){e=Kd(g,14538,14540)|0;Af(d+6176|0,4096,e);Jj(e)}a[g>>0]=0;if(!(rf(d,22073)|0)){g=g+1|0;Pd(g,d+6176|0,Qd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Bi(f,64)|0;if(!g){if(!((rf(d,20800)|0)!=0?(rf(d,22067)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(rf(d,22073)|0)){b=d+16|0;e=14544;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=14554;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Bi(f,58)|0;if(!b){e=d+16|0;Af(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Af(e,2048,f);f=d+2064|0;Af(f,2048,b+1|0);b=f}Ad(e,e,Qd(e)|0);Ad(b,b,Qd(b)|0);f=g+1|0}b=Bi(f,58)|0;do if(!b){if(!(rf(d,20800)|0)){h=d+6160|0;a[h>>0]=a[14572]|0;a[h+1>>0]=a[14573]|0;a[h+2>>0]=a[14574]|0}if(!(rf(d,22067)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(rf(d,22073)|0)){h=d+6160|0;a[h>>0]=a[14575]|0;a[h+1>>0]=a[14576]|0;a[h+2>>0]=a[14577]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Af(d+6160|0,16,e);break}else{c[h>>2]=e;wi(14578,h)}}while(0);Af(d+4112|0,2048,f);i=j;return}function oc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[748+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2796+((a>>>8&255)<<2)>>2]^c[3820+((a&255)<<2)>>2]^c[1772+((a>>>16&255)<<2)>>2]^c[748+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[748+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function pc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Hf(t,f,g);Fe(t,s,1,0);Fe(t,w+32|0,1,0);u=c[b+12>>2]|0;v=Hg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;Ph(3,17341,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=Gg(t,u)|0;c[p+(f<<2)>>2]=Gg(t,u)|0;c[q+(f<<2)>>2]=Gg(t,u)|0;c[r+(f<<2)>>2]=Gg(t,u)|0;g=If(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(ef(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;pc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=Gg(t,u)|0;s=Gg(t,u)|0;e=Gg(t,u)|0;b=Gg(t,u)|0;f=If(t,u)|0;g=C;m=If(t,u)|0;n=C;if(ef(h,j,k,r,s,e,b)|0){b=ce(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function qc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Fi(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Fi(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Fi(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Fi(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=Fi(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Fi(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Fi(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function rc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=_h(512)|0;nc(b,s);h=ab(15141)|0;p=(h|0)!=0;if(p){nc(h,q);ie(r|0,q|0,10280)|0;h=We(r,b)|0}else{ie(r|0,s|0,10280)|0;h=We(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=ni(b)|0;j=mj(b,59)|0;if((j|0)!=0?(xg(14526,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Bh(k,15152,l);Jj(b);c[m>>2]=f;Bh(k,15163,m);if((mf(s,20800)|0)==0?(mf(14572,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((mf(s,22067)|0)==0?(mf(14607,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Bh(k,15191,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Bh(k,15180,n)}b=c[t>>2]|0;ie(r|0,s|0,10280)|0;qe(r,15205,b);if(p){ie(r|0,q|0,10280)|0;qe(r,15219,b);k=c[t>>2]|0}else k=b;gj(k,15239);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Bh(k,15278,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Bh(k,15253,u);break}}while(0);if(g|0)gj(c[t>>2]|0,g);v=c[t>>2]|0;gj(v,15299);af(h,c[v+4>>2]|0,c[v+12>>2]|0);yi(t)}i=w;return h|0}function sc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=ce(120)|0;c[l+4>>2]=ni(a)|0;m=Lg(a,jk()|0)|0;c[l+8>>2]=m;Fe(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Qj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;wi(22668,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=Hg(m,n)|0;g=l+26|0;b[g>>1]=Hg(m,n)|0;h=If(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=If(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=If(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=Hg(m,n)|0;b[l+58>>1]=Hg(m,n)|0;j=If(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=If(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Gg(m,n)|0;j=If(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=ce(32)|0;c[j+4>>2]=Gg(m,n)|0;c[j+8>>2]=Gg(m,n)|0;p=If(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=If(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Sg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Hf(m,g,h);b[l+104>>1]=Hg(m,n)|0;b[l+106>>1]=Hg(m,n)|0;p=If(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Hf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=gd(a,m)|0;i=o;return l|0}function tc(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 uc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Ug(f|0,b|0,10,0)|0;f=C;e=ki(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ki(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ed(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Uh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Ph(4,20876,p);f=b+36|0;e=0;while(1){d=oe(0,1)|0;c[p>>2]=d;d=vj(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=ai(c[p>>2]|0,20962)|0;c[f>>2]=ni(d)|0;d=ke(a,d)|0;Td(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;ci(20909,g);n=0}else if((h|0)==7){d=ai(c[p>>2]|0,20972)|0;do if(!d){d=xe(a)|0;e=C;if((e|0)<0){Td(p);c[j>>2]=a;wi(20988,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=nd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=ai(c[p>>2]|0,21055)|0;if(!d){d=ai(c[p>>2]|0,21070)|0;if(!d){Td(p);c[m>>2]=a;wi(21076,m)}else o=d}else o=d;if(!(Ua(o|0,21151,k|0)|0)){Td(p);c[l>>2]=o;wi(21176,l)}d=xf(k)|0;if((d|0)==-1){Td(p);c[q>>2]=o;wi(21218,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Td(p);n=200;break}}while(0);i=r;return n|0}function wc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0;n=c[d+8>>2]|0;o=c[d+16>>2]|0;e=d+72|0;f=c[e>>2]|0;e=c[e+4>>2]|0;a:do if((f|0)==0&(e|0)==0)if((b[d+24>>1]|0)==1){i=0;e=0;f=d+100|0;while(1){f=c[f>>2]|0;if(!f)break;d=c[f+4>>2]|0;m=d>>>0>i>>>0;i=m?d:i;e=m?f:e}if(e){i=e+16|0;Hf(n,c[i>>2]|0,c[i+4>>2]|0);i=Gg(n,o)|0;f=0;d=0;m=0;l=0.0;k=0.0;j=0.0;g=0.0;while(1){if((m|0)==(i|0)){e=d;break a}Gg(n,o)|0;Gg(n,o)|0;Gg(n,o)|0;e=Gg(n,o)|0;if(!m){g=+Ag(n,o);l=+Ag(n,o);k=+Ag(n,o);d=0;j=+Ag(n,o)}else{e=ki(e|0,0,f|0,d|0)|0;d=C;p=+Ag(n,o);q=+Ag(n,o);k=k+ +Ag(n,o);l=q>l?q:l;j=j+ +Ag(n,o);g=p<g?p:g}f=e;m=m+1|0}}else{f=0;e=0;l=0.0;k=0.0;j=0.0;g=0.0}}else{f=0;e=0;l=0.0;k=0.0;j=0.0;g=0.0}else{Hf(n,f,e);f=If(n,o)|0;e=C;g=+yg(n,o);l=+yg(n,o);k=+yg(n,o);j=+yg(n,o)}while(0);o=a;c[o>>2]=f;c[o+4>>2]=e;h[a+8>>3]=g;h[a+16>>3]=l;h[a+24>>3]=k;h[a+32>>3]=j;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;p=t+48|0;o=t+40|0;n=t+32|0;r=t+24|0;q=t+16|0;k=t+8|0;h=t;j=t+56|0;s=c[a+8>>2]|0;m=c[a+16>>2]|0;f=Sh(a)|0;c[j>>2]=f;g=bg(f,b)|0;if(!g){l=c[a+4>>2]|0;c[h>>2]=b;c[h+4>>2]=l;wi(18944,h)}l=jh(c[f+12>>2]|0,g)|0;if(d|0)c[d>>2]=l;Hh(j);g=a+112|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if((f|0)==0&(g|0)==0){c[k>>2]=c[a+4>>2];wi(18962,k)}Hf(s,f,g);h=a+106|0;d=0;while(1){if((d|0)>=(e[h>>1]|0|0)){h=16;break}k=Hg(s,m)|0;j=Hg(s,m)|0;g=If(s,m)|0;f=C;Pe(s,4,0);if(k<<16>>16){h=10;break}if(j<<16>>16!=1){h=13;break}k=Hg(s,m)|0;Pe(s,2,0);if((k&65535|0)==(l|0)){h=14;break}d=d+1|0}if((h|0)==10){c[q>>2]=k&65535;ci(18980,q);c[r>>2]=18844;c[r+4>>2]=632;wi(22077,r)}else if((h|0)==13){ci(18858,n);c[o>>2]=18844;c[o+4>>2]=648;wi(22077,o)}else if((h|0)==14){Hf(s,g,f);a=gd(c[a+4>>2]|0,s)|0;i=t;return a|0}else if((h|0)==16){t=c[a+4>>2]|0;c[p>>2]=b;c[p+4>>2]=t;wi(19005,p)}return 0}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[6783]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Fi(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Fi(yb(146,m|0)|0)|0;la(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 zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Nc(26750,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Bi(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Bi(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6784]|0))c[e+76>>2]=-1;mb(27160);f=c[6789]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6789]=e;eb(27160)}}else{c[(si()|0)>>2]=22;e=0}i=o;return e|0}function Ac(a){a=a|0;var b=0,d=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;s=i;i=i+48|0;r=s+24|0;q=s+16|0;l=s+8|0;k=s;o=s+36|0;p=s+32|0;h=c[a+8>>2]|0;j=c[a+16>>2]|0;d=a+112|0;f=c[d>>2]|0;d=c[d+4>>2]|0;do if(!((f|0)==0&(d|0)==0)){Hf(h,f,d);d=a+106|0;f=0;g=0;while(1){if((f|0)>=(e[d>>1]|0|0)){b=g;break}Hg(h,j)|0;t=Hg(h,j)|0;Pe(h,8,0);Pe(h,4,0);if(t<<16>>16!=1){m=6;break}t=Hg(h,j)|0;Pe(h,2,0);t=cj(t&65535)|0;c[t>>2]=g;f=f+1|0;g=t}if((m|0)==6){ci(18858,k);c[l>>2]=18844;c[l+4>>2]=575;wi(22077,l)}c[o>>2]=Sh(a)|0;c[p>>2]=0;f=a+4|0;while(1){if(!b){m=12;break}d=_g(c[(c[o>>2]|0)+12>>2]|0,c[b+4>>2]|0)|0;if(!d){m=10;break}vi(p,c[d+4>>2]|0)|0;b=c[b>>2]|0}if((m|0)==10){c[q>>2]=c[f>>2];ci(18916,q);c[r>>2]=18844;c[r+4>>2]=590;wi(22077,r)}else if((m|0)==12){Hh(o);n=c[p>>2]|0;break}}else n=0;while(0);i=s;return n|0}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=_h(4096)|0;while(1){if((qd(b,1e6)|0)<=0){j=3;break}g=Bg(b,m,4096)|0;if(g){ff(c[o>>2]|0,m,g);if(!(Fh(c[(c[o>>2]|0)+4>>2]|0,14730)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Qd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Qd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ci(14686,n);g=0}else if((j|0)==18){g=Nd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ci(14732,p);g=0;break}if(!e)yi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Cc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Hf(c[n>>2]|0,d,e);Fe(c[n>>2]|0,p,1,0);Fe(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Hg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Fe(c[n>>2]|0,l,c[k>>2]|0,0);q=If(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;Cc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Fe(c[n>>2]|0,l,c[k>>2]|0,0);Fe(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function Dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?27180:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9292+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(si()|0)>>2]=84;f=-1}i=l;return f|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Bg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=ki(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Uh(1,0,g|0,e|0)|0;b=ki(b|0,C|0,d|0,h|0)|0}r=(zg(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=ki(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=ki(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Rf(15615,l);if((b|0)==-1)Rf(15646,o);lh(c[m>>2]|0)|0;lh(c[a+12>>2]|0)|0;lh(c[n>>2]|0)|0;i=q;return 0}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=df(a,2,h)|0;if((e|0)<0)if((c[(si()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;ag(22148,d)}else{we(e,h)|0;if((c[h+36>>2]|0)<64){lh(e)|0;b=0}else{Jd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Qj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;wi(22171,j)}}else f=0;b=ce(56)|0;c[b+4>>2]=Dg(e,f)|0;g=Ff(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Ff(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Dg(e,f)|0;Dg(e,f)|0;Ff(e,f)|0;Ff(e,f)|0;Ff(e,f)|0;Ff(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Gc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Gd(b);break}if((lh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];wi(13772,k)}}else{if(!(c[a+20>>2]&2)){if(Wg(d)|0){c[f>>2]=c[a+12>>2];wi(13741,f)}}else{td(d)|0;if(Wg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];wi(13711,e)}}if((re(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];wi(13772,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)ag(13394,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;wi(13802,l)}if(b|0)Da(13843,13047,435,13861);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;wi(13877,m)}i=n;return d>>>8&255|0}function Hc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=lk(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Ic(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=ni(27808)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(sj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=ce(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(sj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;ih(h,4,12841,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Jc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ne(b|0,0,e|0)|0;return b|0}function Kc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=_h(512)|0;c[h>>2]=f;gj(f,b);gj(f,14522);d=b+16|0;if(a[d>>0]|0){d=Ic(d)|0;gj(f,d);Jj(d);d=b+2064|0;if(a[d>>0]|0){gj(f,14603);d=Ic(d)|0;gj(f,d);Jj(d)}gj(f,14605)}gj(f,b+4112|0);if(!((mf(b,22073)|0)==0?!(mf(14575,b+6160|0)|0):0))e=7;do if((e|0)==7){if((mf(b,20800)|0)==0?(mf(14572,b+6160|0)|0)==0:0)break;d=b+6160|0;if((mf(b,22067)|0)==0?(mf(14607,d)|0)==0:0)break;gj(f,14603);gj(f,d)}while(0);gj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Bh(f,14611,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Bh(f,19648,k)}k=wh(h)|0;i=l;return k|0}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}lh(a)|0;if((h|0)>0)Jj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((xg(20415,f)|0)==0?(xg(20423,f)|0)==0:0){g=11;break}f=ke(g,f)|0;c[j>>2]=f;a=jc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ci(16366,k);g=14}else if((g|0)==11){c[l>>2]=f;ci(16420,l);g=14}else if((g|0)==13){c[m>>2]=f;ci(22442,m);g=14}if((g|0)==14)if((b|0)>0){Jj(f);b=0}else b=0;i=n;return b|0}function Mc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){ie(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;ie(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){ie(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Nc(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|0)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?b:0)|0}function Oc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Fi(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(si()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Fi(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;qc(e,2,j)|0}if(b&2048){c[h>>2]=qc(e,3,k)|0|2048;qc(e,4,h)|0}}}}while(0);i=l;return e|0}function Pc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6783]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Fi(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Fi(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Sc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(17211,17263,388,17275);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Mi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Sg(b);d=d+1|0}Jj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+16|0;d=h;f=h+20|0;if((a+-3|0)>>>0>12){c[d>>2]=a;c[d+4>>2]=3;c[d+8>>2]=15;wi(22815,d)}e=_h(0)|0;c[f>>2]=e;gj(e,22878);if((((((((((((a|0)>3?(gj(e,23093),(a|0)>4):0)?(gj(e,23133),(a|0)>5):0)?(gj(e,23175),(a|0)>6):0)?(gj(e,23219),(a|0)>7):0)?(gj(e,23297),(a|0)>8):0)?(gj(e,23372),(a|0)>9):0)?(gj(e,23430),(a|0)>10):0)?(gj(e,23472),(a|0)>11):0)?(gj(e,23542),(a|0)>12):0)?(gj(e,23616),(a|0)>13):0)?(gj(e,23653),(a|0)>14):0)gj(e,23740);d=a+1|0;while(1){if((d|0)>(b|0))break;a=d+1|0;c[g>>2]=a;Bh(e,23816,g);d=a}gj(e,23855);g=wh(f)|0;i=h;return g|0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=ce(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Fe(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=Qj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;wi(17297,j)}}else f=0;c[d+24>>2]=Gg(b,f)|0;j=If(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=Gg(b,f)|0;c[d+44>>2]=Gg(b,f)|0;c[d+48>>2]=Gg(b,f)|0;c[d+52>>2]=Gg(b,f)|0;g=If(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=Gg(b,f)|0;Fe(b,h,4,0);b=Zi(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Vc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Ph(4,21911,p);Og(500);l=a+5|0;k=hd(l,21818)|0;c[p>>2]=k;tj(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Og(250);g=e-j|0;g=of(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Ph(4,21964,m);if(Wg(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;ci(21986,o);c[n>>2]=l;ag(21870,n)}else if((g|0)==6){Xi(p);i=q;return a|0}return 0}function Wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=ce(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=_h(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){gj(e,12975);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){gj(e,14538);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}gj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=wh(j)|0;if(!(c[a>>2]|0))wi(12979,k);if(!(b&8))e=0;else{Jh(l,Ce(56,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Jh(l,Ce(d,l)|0);e=e+1|0}i=m;return l|0}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=lk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;ie(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(ee(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)kk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)kk(f);return e|0}function Yc(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(!(jf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);ie(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 Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(_c(b,e<<24>>24)|0)-b|0;i=g;return e|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function $c(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=ce(16)|0;else l=vf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=hj(d,e)|0;else{k=vf(h,e+1|0)|0;c[l+4>>2]=k;ie(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Sc(b,mi(m)|0);return l|0}function ad(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=qk()|0;fk(27048)|0;if((c[6769]|0)!=0&(a|0)==(c[6770]|0)){zg(2,13901,61)|0;_a(1)}dk(27048)|0;fk(27084)|0;fk(27048)|0;c[6770]=a;c[6769]=1;dk(27048)|0;if(!(c[6778]|0))c[6778]=oe(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;ih(d,64,19648,b)|0;a=Xe(c[6778]|0,d)|0;if(!a){a=ce(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Vi(c[6778]|0,d,a)|0}fk(27048)|0;c[6769]=0;dk(27048)|0;dk(27084)|0;i=e;return c[a+8>>2]|0}function bd(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=_h(Qd(f)|0)|0;c[j>>2]=g;h=f;f=Bi(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;gj(g,h);gj(g,21606);m=f+1|0;h=m;f=Bi(m,47)|0}gj(g,h);f=wh(j)|0;j=Qd(d)|0;m=Qd(e)|0;m=j+3+m+(Qd(f)|0)|0;j=ce(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;ih(j,m,21608,k)|0;c[b+44>>2]=$f(b,21617)|0;c[b+48>>2]=$f(b,21624)|0;c[b+52>>2]=$f(b,21635)|0}i=l;return}function cd(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function dd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Ri(b,d,0)|0;if((d|0)>-1){b=Eg(b,1,d)|0;c[h>>2]=b;a:do if((((Zb(b,g,0)|0)!=0?(xg(15333,c[g>>2]|0)|0)!=0:0)?(Pf(g)|0,f=Pf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Nd(f)|0;if(e)while(1){if(!(Zb(c[h>>2]|0,g,0)|0))break a;f=Pf(g)|0;if(!f)break a;b=xh(f)|0;Vi(e,b,ni(Oh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Gd(h)}else d=c[(si()|0)>>2]|0;i=j;return d|0}function ed(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Vf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9496;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(si()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Hc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=ce(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Fe(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Qj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;wi(17780,j)}}else f=0;c[d+12>>2]=Gg(b,f)|0;c[d+16>>2]=Gg(b,f)|0;c[d+20>>2]=Gg(b,f)|0;g=If(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Fe(b,h,4,0);Fe(b,h,4,0);b=Zi(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function hd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(mf(b,20342)|0){if(!(mf(b,16608)|0)){f=c[2235]|0;break}e=Xd(b,d)|0;if(!e){a:do if(!d)e=27808;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=16636;break a}case 119:{e=16626;break a}default:{e=e<<24>>24==97?16615:27808;break a}}}while(0);d=je(c[(si()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;wi(16645,g)}else f=e}else f=c[2294]|0;while(0);i=h;return f|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;pd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=ce(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;bd(a,b,h,d);c[e>>2]=0;b=a+44|0;j=Vh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=Vh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=Vh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Sg(e);Jj(c[a+40>>2]|0);Jj(c[b>>2]|0);Jj(c[f>>2]|0);Jj(a);Jj(h);Jj(d);d=c[e>>2]|0}i=g;return d|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ze(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Xj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;bk(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ci(16522,f);b=0;break}}else{lf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function kd(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=ce(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[22603+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[22603+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[22603+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[22603+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function ld(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[19029+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[19029+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))ag(13120,k);l=Di()|0;if($g(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Di()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;ag(13143,f)}if(b|0?(hg(b,0)|0)<0:0)ag(13170,g);if((d|0)!=1?(hg(d,1)|0)<0:0)ag(13190,h);if((e|0)!=2?(hg(e,2)|0)<0:0)ag(13211,j);Lh();i=k;return}function nd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(yj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Ug(c|0,d|0,10,0)|0;b=b+1|0;c=Uh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Uh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function od(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=ec(a,b)|0;if((a|0)<0)a=-1;else{if((qd(a,1e6)|0)>0)qi(a,27808,0,0)|0;c[g>>2]=0;c[h>>2]=d;ih(f,256,14775,h)|0;do if(qi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,ih(f,256,14785,j)|0,(qi(a,f,0,0)|0)==0):0){lh(a)|0;a=-1;break}if(!(qi(a,14795,0,0)|0)){lh(a)|0;a=-1}}else{lh(a)|0;a=-1}while(0)}i=k;return a|0}function pd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Bi(b,58)|0;if(!h)h=0;else{m=hj(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Bi(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){ue(l,1024,b,k+1-b|0);c[g>>2]=Ld(l)|0}j=Bi(b,47)|0;if(!j)j=b+(Qd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Ld(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Lf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(si()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=je(a)|0;ci(14628,m)}i=n;return a|0}function rd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=df(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=ce(5)|0;c[g>>2]=f;if((Bg(e,f,4)|0)<4)Ji(g);else a[f+4>>0]=0;lh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=_d(e)|0,Ji(h),(g|0)!=0):0){h=Mg(Je(b)|0,33,b,0)|0;e=Eg(b,d,Vj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function sd(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Rc(g,23861,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=le(g)|0;i=j;return h|0}le(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function td(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Zd(a)|0;break}d=(lk(a)|0)==0;b=Zd(a)|0;if(!d)kk(a)}else{if(!(c[2264]|0))b=0;else b=td(c[2264]|0)|0;mb(27160);a=c[6789]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=lk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Zd(a)|0|b;if(d|0)kk(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(27160)}while(0);return b|0}function ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Yf(e,0)|0;c[n>>2]=g;ug(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Yf(d,e)|0;else if(!f){e=df(d,0,h)|0;if((e|0)<0){c[k>>2]=d;ag(13680,k)}else j=e}else j=0;c[m>>2]=j;e=tf(a,b,j,g)|0;_f(m);if(!l)_f(n);i=o;return e|0}function vd(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[(si()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function wd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Di()|0;c[g>>2]=f;ih(a,256,18596,g)|0;d=$e(a,1)|0;c[g>>2]=d;if(!d){j=c[2265]|0;c[b>>2]=a;Ah(j,18633,b)|0;a=j}else{while(1){if(!(mg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,18612)|0){j=5;break}}if((j|0)==5){j=c[2265]|0;c[h>>2]=f;c[h+4>>2]=a;Ah(j,18619,h)|0}Gd(g);a=c[2265]|0}td(a)|0;i=k;return}function xd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=ge(k)|0;ie(j|0,d|0,e|0)|0;Jj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ni(d)|0;Jj(c);c=l}i=h;return c|0}function yd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Ph(4,21677,j);h=Le(a)|0;n=hd(h,21818)|0;c[j>>2]=n;tj(n,b,0)|0;a=of(g+256|0,f,e,n)|0;if(!(Wg(n)|0)){Xi(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;ci(21821,k);c[l>>2]=h;ag(21870,l)}return 0}function zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Ph(4,21296,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(mc(a,f,e)|0){a=xf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];wi(21328,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function Ad(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Dh(f,12837,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Bd(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;Ne(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){Yc(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;Yc(h,f,a)|0}while(0);i=j;return}function Cd(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(!(jf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Dd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Ch(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=fd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Ch(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Ed(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(ii(b)|0)){c=(Qd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Bj(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Bi(b,47)|0;if(!b){Zf(e)|0;b=0;continue}else{a[b>>0]=0;Zf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(lk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Cd(d,b)|0;kk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Cd(d,b)|0}while(0);return e|0}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(zi(c[2294]|0)|0):0){lh(c[d>>2]|0)|0;Jj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else ei(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);Jj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Td(g);Ji(b)}return}function Hd(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=Uh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,Uh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Uh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(mf(a,20342)|0)if(mf(a,16608)|0){c[d>>2]=436;d=df(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?16636:16615;else d=16626;else d=16789;else d=16765;c[f>>2]=a;c[f+4>>2]=d;ag(16800,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Jd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Bg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;ag(16828,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;wi(16853,g)}else if((d|0)==8){i=h;return}}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Qd(b)|0;h=Qd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Qd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=ce((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Bj(d,e)|0;j=a+g|0;i=d+(a-e)|0;Bj(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Bj(d,e)|0;return f|0}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(qg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=ce(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(qg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;zh(g,21600,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Md(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ih(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Nd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(yj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Pd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Dh(f,12837,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Qd(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 Rd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Nh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Rd(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 Sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Xe(c[e>>2]|0,d)|0)){Vi(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Ah(g,20348,h)|0}}}while(0);i=j;return}function Td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;wj(d);d=g}e=e+1|0}}else{ui(b);b=d+8|0}while(0);Jj(c[b>>2]|0);Ji(a)}return}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=qc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((qc(a,4,f)|0)<0){c[g>>2]=je(c[(si()|0)>>2]|0)|0;ci(14207,g);d=-1}else d=0}else{c[e>>2]=je(c[(si()|0)>>2]|0)|0;ci(14176,e);d=-1}i=h;return d|0}function Vd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=27033;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Wd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[19037+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[19045+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[19045+f>>0]}while(0);return}function Xd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Nc(26750,a[d>>0]|0,4)|0){h=Bf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Fi(jb(5,e|0)|0)|0;if((e|0)>=0){b=zc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(si()|0)>>2]=22;b=0}i=g;return b|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;wi(17530,d)}d=Fj(a,b)|0;if(!d){g=c[(si()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;wi(17594,e)}else{i=f;return d|0}return 0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function _d(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(xg(20214,a)|0))if(!(xg(20217,a)|0))if(!(xg(20221,a)|0))if(!(xg(20224,a)|0))a=0;else{a=20229;e=5}else{a=20233;e=5}else{a=20237;e=5}else{a=20239;e=5}if((e|0)==5){c[d>>2]=a;ih(b,20,20242,d)|0;a=ni(b)|0}i=f;return a|0}function $d(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=Uh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Uh((dc(h,g,Uh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;cg(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function be(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=Ig(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ni(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 ce(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;wi(17666,b)}b=ak(a)|0;if(!b){f=c[(si()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;wi(17719,d)}else{Ne(b|0,0,a|0)|0;i=e;return b|0}return 0}function de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(ii(a)|0)){d=Xd(a,19285)|0;c[b>>2]=d;if(!d){a=0;break}else{Xi(b);a=1;break}}else{f=ri()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;ci(19255,d);a=0;break}}while(0);i=e;return a|0}function ee(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function fe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18784;break}case 2:{a=18763;break}case -1:{a=18752;break}case -2:{a=18736;break}case -3:{a=18736;break}case -4:{a=18721;break}case -5:{a=18706;break}case -6:{a=18687;break}case 0:{a=0;break}default:{c[b>>2]=a;ih(27680,128,18668,b)|0;a=27680}}i=d;return a|0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;wi(17406,b)}b=ak(a)|0;if(!b){f=c[(si()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;wi(17464,d)}else{i=e;return b|0}return 0}function he(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(si()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;ie(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 je(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[24818+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=24906;e=5;break}}if((e|0)==2)if(!c)b=24906;else{b=24906;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 ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;nc(b,g);nc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Af(e,2048,d);Af(f+2064|0,2048,g+2064|0)}g=Kc(f)|0;i=h;return g|0}function le(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ne(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;wi(16450,k)}else{c[j>>2]=e;Li(d,j)}return 0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ce(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(17211,17263,357,17286);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=nh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Mi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function pe(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;cg(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function qe(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;ih(h,256,15120,j)|0;j=kd(h,Qd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Bh(e,15126,k);Ji(g)}i=l;return}function re(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(27160);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6789]|0)==(a|0))c[6789]=b;eb(27160)}b=td(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function se(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=Df(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=17030;else e=(d|0)==2?16989:16998;else e=17021;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;ag(17039,g);return 0}function te(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;d=c[e>>2]|0;if(((mf(d,19833)|0)!=0?(mf(d,19841)|0)!=0:0)?(mf(d,19848)|0)!=0:0)d=0;else{d=ce(12)|0;c[d+4>>2]=ni(c[e>>2]|0)|0;qh(b)|0;if((a[c[e>>2]>>0]|0)==91){qh(b)|0;c[d+8>>2]=Ve(b)|0;qh(b)|0;Jf(b,19854)}}return d|0}function ue(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;wi(17154,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;aj(b,e,f)|0;a[b+g>>0]=0;i=j;return}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=ki(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Vd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Fi(Pa(195,f|0)|0)|0}else d=Fi(d)|0;i=g;return d|0}function xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;ih(g,4096,15344,e)|0;a=oe(0,1)|0;c[e>>2]=a;if(((dd(g,15361,a)|0)==206?(b=ai(a,15365)|0,(b|0)!=0):0)?(d=Bi(b,47)|0,(d|0)!=0):0){b=nd(d+1|0)|0;a=C}else{a=-1;b=-1}Td(e);C=a;i=f;return b|0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0;d=ri()|0;a=id(a,(b|0)==0?c[186]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Fh(e,21617)|0){if(!(ii(e)|0))break a;if((Jg(e)|0)>>>0<b>>>0)b=Jg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ze(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;d=g;e=2;f=0;c=0;while(1){if((f|0)>=(e|0)){j=e<<1;h=ge(j)|0;ie(h|0,d|0,e|0)|0;Jj(c);d=h;e=j;c=h}j=di(b)|0;a[d+f>>0]=j;if(!(j&255))break;else f=f+1|0}j=ni(d)|0;Jj(c);i=g;return j|0}function Ae(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2235]|0;if((c[f+76>>2]|0)>-1)g=lk(f)|0;else g=0;do if((qj(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=(Cd(f,10)|0)<0}while(0);if(g|0)kk(f);return d<<31>>31|0}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Jj(e);f=f+1|0}Jj(b);Jj(i);i=h}Ji(g+12|0);Ji(g+28|0);Ji(a)}return}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ce(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=ce((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ni(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Ph(4,22034,d);Og(500);if((ah(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Qc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Zc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;wi(21548,g)}else{i=h;return}}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Ph(4,21878,d);if((ah(Le(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function He(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2235]|0);if((b|0)==(c[2294]|0)|d)if(d){td(b)|0;b=1}else b=1;else if(!(re(b)|0))b=1;else{Rf(17089,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Xc(b,d,1,a)|0)!=1:0){b=Wg(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;wi(16734,f)}else{f=je(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;wi(16705,e)}}i=g;return}function Je(a){a=a|0;var b=0;b=ni(a)|0;if(!(((xg(20415,a)|0)==0?(xg(20423,a)|0)==0:0)?!(xg(20432,a)|0):0))Ad(a,b,Qd(a)|0);if(!(Fh(b,20254)|0))if(!(Fh(b,20258)|0))if(!(Fh(b,20261)|0)){a=(Fh(b,20266)|0)==0;a=a?0:696}else a=732;else a=720;else a=708;Jj(b);return a|0}function Ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=eh(b)|0;do if((f|0)!=0?(mf(f,18241)|0)!=0:0){d=Qi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;wi(17964,h)}else e=d;while(0);i=j;return e|0}function Le(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(xg(21725,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)wi(21732,e);if(((((Tb(b,21759)|0)==0?(Bi(b,126)|0)==0:0)?(Tb(b,21762)|0)==0:0)?(Tb(b,21765)|0)==0:0)?(Fh(21769,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;wi(21772,d);return 0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Mi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;wi(18430,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ne(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 Oe(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Aj(e&65535)|0;if(d){h=Yj(jd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+216|0;e=f;e=ki(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[f>>2]=e;c[f+4>>2]=C;f=a+32|0;e=f;e=ki(c[e>>2]|0,c[e+4>>2]|0,b|0,d|0)|0;d=f;c[d>>2]=e;c[d+4>>2]=C;if(c[186]|0)Tg(a+176|0,c[a+56>>2]|0,b,1)|0;return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=mj(b,59)|0;if((g|0?xg(14526,g)|0:0)?(i=(Bi(g,61)|0)+1|0,h=Bi(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=nd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=nd(b)|0;c[e>>2]=f}}return}function Re(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 Se(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Fi(pa(102,h|0)|0)|0;i=g;return e|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=_h(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){gj(e,14538);b=c[d>>2]|0}gj(e,b);f=f+1|0}g=wh(g)|0;i=h;return g|0}function Ue(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Fi(pa(102,h|0)|0)|0;i=g;return e|0}function Ve(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+20>>2]|0;if(((a[d>>0]|0)+-48|0)>>>0<10){e=oi(d)|0;i=f;return e|0}else{f=c[b+8>>2]|0;b=c[f+28>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=b;c[e+8>>2]=f;wi(19795,e)}return 0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(mf(a,20800)|0)if(!(mf(a,22067)|0)){d=Xh(a+4112|0,Nd(a+6160|0)|0)|0;break}else{c[e>>2]=b;wi(15078,e)}else d=ec(a+4112|0,Nd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((mf(c[e+4>>2]|0,d)|0)!=0);return e|0}function Ye(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((Fi(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ze(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Bi(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function _e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=sd(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=fe(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;wi(18800,g)}return 0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(mf(a,20342)|0){if(Je(a)|0){c=rd(a,b)|0;break}c=df(a,0,c)|0;if((c|0)==-1)c=0;else c=Eg(a,b,c)|0}else c=nj(b)|0;while(0);i=d;return c|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=zg(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)ag(16895,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;wi(16921,e)}}function bf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){Gh(c[a+4>>2]|0,e);f=ce(16)|0;c[f+4>>2]=hj(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(22688,22715,206,22730)}function cf(b){b=b|0;var d=0,e=0,f=0;d=c[2265]|0;f=je(c[(si()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=lk(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Gf(b,Qd(b)|0,1,d)|0;Fd(58,d)|0;Fd(32,d)|0}Gf(f,Qd(f)|0,1,d)|0;Fd(10,d)|0;if(e|0)kk(d);return}function df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Fi(jb(5,f|0)|0)|0;i=e;return d|0}function ef(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function ff(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Ch(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;ie(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Fi(pa(102,f|0)|0)|0;i=e;return d|0}function hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ki(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Bg(b,d,e)|0;a=a+16|0;b=a;b=ki(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function jf(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 kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=ki(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=ki(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;af(b,d,e);return}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((fc(2,a,d)|0)<0){b=je(c[(si()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ci(16481,e);a=0}else{c[b>>2]=Xj(c[d>>2]|0)|0;a=1}i=f;return a|0}function mf(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 nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ki(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ki(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Jd(b,d,e);return}function of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ki(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ki(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Xc(b,1,d,e)|0}function pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Se(a,1,20,d,8)|0)>=0)if((Se(a,1,21,d,8)|0)<0){ci(14071,e);a=-1}else a=0;else{ci(14021,f);a=-1}i=f;return a|0}function qf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=yc(b,d,e)|0;i=g;return f|0}function rf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=kj(a[e>>0]|0)|0;c=c<<24>>24;b=(kj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function sf(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 tf(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;ug(b);a=Wc(a,b)|0;if(!(b&1)){b=Ng(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);_f(f)}else kg(a,d,e,0,0);i=g;return a|0}function uf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Me(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function wf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=fd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;wi(17103,g)}return 0}function xf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(17203)|0;d=(b|0)!=0;if(d)Af(e,100,b);qa(17203,17206,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(17203,e|0,1)|0;else ob(17203)|0;Oa();i=f;return b|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Nc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;ie(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function zf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Fi(ib(10,b|0)|0)|0;if(b){if((c[(si()|0)>>2]|0)==21){c[d>>2]=a;b=Fi(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Qd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;wi(16562,f)}else{Bj(a,d)|0;i=g;return}}function Bf(b){b=b|0;var c=0,d=0,e=0;d=(Bi(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Bi(b,120)|0)==0;d=e?d:d|128;b=(Bi(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;fi(e,b,8);if((c[e>>2]|0)!=2)wi(12106,d);Ej(Uf(12817,jk()|0)|0);cc(c[b+4>>2]|0);if((mk()|0)>1)wd();i=d;return 0}function Df(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Fi(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;f=f+16|0;c[f>>2]=d;ji(b,f);f=c[a+8>>2]|0;b=c[f+4>>2]|0;d=c[a+12>>2]|0;c[e>>2]=c[f+28>>2];c[e+4>>2]=b;c[e+8>>2]=d;wi(19136,e)}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Jd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Gf(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=(lk(e)|0)==0;a=Yc(a,f,e)|0;if(!g)kk(e)}else a=Yc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=ki(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[186]|0)Tg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Fe(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=ej(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a+20|0;if(!(rf(c[d>>2]|0,b)|0))qh(a)|0;else{d=c[d>>2]|0;c[e>>2]=b;c[e+4>>2]=d;Ef(a,19177,e)}i=f;return}function Kf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2235]|0;else{Ae(13963)|0;Ae(13988)|0;d=c[2235]|0;Hc(d,a,b)|0;Fd(10,d)|0;td(d)|0}td(d)|0;d=c[2265]|0;Hc(d,a,b)|0;Fd(10,d)|0;td(d)|0}return}function Lf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Fi(kb(142,h|0)|0)|0;i=g;return d|0}function Mf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Nf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=ge(h)|0;a=a+136|0;Tg(a,b,d+64|0,0)|0;nf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;pc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Sg(f);i=g;return c[f>>2]|0}function Pf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Oh(e)|0,(a[d>>0]|0)!=0):0){e=jg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function Qf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=je(c[(si()|0)>>2]|0)|0;c[g+4>>2]=a;zh(f,14015,g)|0;ji(f,e);i=d;return}function Sf(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?(Gf(b,d,1,a)|0)!=1:0){a=je(Wg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;wi(16675,e)}i=f;return}function Tf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else ie(b,c,d)|0;return b|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[6781]|0;if((d|0?(e=mh(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)wi(18362,f);f=eh(a)|0;i=g;return ((f|0)==0?b:f)|0}function Vf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(ee(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;wi(13337,e)}}function Xf(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 Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=df(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;ag(13648,d)}else{i=e;return b|0}return 0}function Zf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((dh(a,511)|0)<0)if((c[(si()|0)>>2]|0)==17)b=0;else{cf(27808);c[d>>2]=a;wi(19197,d)}else b=1;i=e;return b|0}function _f(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((lh(b)|0)<0){c[d>>2]=b;ag(13372,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function $f(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Qd(c[g>>2]|0)|0;e=Qd(d)|0;b=ce(f+2+e|0)|0;ie(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;ie(f+1|0,d|0,e|0)|0;return b|0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=je(c[(si()|0)>>2]|0)|0;c[f+4>>2]=a;zh(e,14015,f)|0;Li(e,d)}function bg(a,b){a=a|0;b=b|0;a:do if(!a)a=0;else{a=a+12|0;while(1){a=c[a>>2]|0;if(!a){a=0;break a}if(!(mf(c[a+4>>2]|0,b)|0))break a}}while(0);return a|0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function dg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((lh(b)|0)<0)ag(17071,d);else{c[a>>2]=-1;break}while(0);i=e;return}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Qd(a)|0;g=g+1+(Qd(b)|0)|0;d=ce(g)|0;c[f>>2]=a;c[f+4>>2]=b;gh(d,g,17084,f)|0;i=e;return d|0}function fg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;bi(b);d=f}c[a>>2]=0;i=e;return}function gg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Ui(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(20286,20308,352,20324)}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Fi(d)|0;i=f;return e|0}function ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ce(104)|0;c[f+4>>2]=ni(b)|0;c[f+8>>2]=-1;b=Qd(e)|0;c[f+20>>2]=b;c[f+12>>2]=b;a[f+40>>0]=d;c[f+52>>2]=e;return f|0}function jg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(yj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function kg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Ng(h)|0;bc(a,b,c[h>>2]|0,d,e,f);_f(h);i=g;return}function lg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(ah(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function mg(b,d){b=b|0;d=d|0;a:while(1){if(!(Zb(b,d,0)|0)){b=0;break}switch(a[(Oh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function ng(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;a=b-a*a/(+(c>>>0)+4294967296.0*+(d>>>0));if(d>>>0>0|(d|0)==0&c>>>0>1){d=ki(c|0,d|0,-1,-1)|0;a=a/(+(d>>>0)+4294967296.0*+(C>>>0))}return +a}function og(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=17){b=0;break}if(!(rf(c[84+(b*36|0)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4)b=84+(b*36|0)|0;return b|0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=lg(b)|0;b=hd(b,21818)|0;g=ge(f+1|0)|0;c[d>>2]=g;Ie(b,g,f);a[g+f>>0]=0;re(b)|0;if(e|0)c[e>>2]=f;return}function qg(a){a=a|0;a:do if(!(sj(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;ie(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function sg(a){a=+a;var b=0,d=0;h[k>>3]=a;d=za(c[k>>2]|0,c[k+4>>2]|0)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(+h[k>>3])}function tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Bg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function ug(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{wi(12846,c);break}default:{}}if((a&18|0)==16)wi(12912,b);else{i=c;return}}function vg(a){a=a|0;var b=0,d=0;d=a+64|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0)b=0;else{a=c[a+8>>2]|0;Hf(a,b,d);b=ze(a)|0}return b|0}function wg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(lk(a)|0)==0;b=Od(a,b,d)|0;if(!e)kk(a)}else b=Od(a,b,d)|0;return b|0}function xg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function yg(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;i=i+16|0;d=e;Fe(a,d,8,0);c=+h[d>>3];if(b){c=+sg(c);h[d>>3]=c}i=e;return +c}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Fi(pb(4,f|0)|0)|0;i=e;return a|0}function Ag(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;i=i+16|0;d=e;Fe(a,d,4,0);c=+g[d>>2];if(b){c=+Mh(c);g[d>>2]=c}i=e;return +c}function Bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Fi(sb(3,f|0)|0)|0;i=e;return a|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;ih(e,256,19703,f)|0;xh(e)|0;b=Xe(a,e)|0;i=d;return b|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Jd(a,d,4);a=c[d>>2]|0;if(b){a=Si(a|0)|0;c[d>>2]=a}i=e;return a|0}function Eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ce(104)|0;c[f+4>>2]=ni(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=ce(65537)|0;return f|0}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;Eh(12437,f)|0;rh(c[2235]|0,b,d);Nj(10)|0;i=e;return}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fe(a,d,4,0);a=c[d>>2]|0;if(b){a=Qj(a)|0;c[d>>2]=a}i=e;return a|0}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fe(a,d,2,0);a=b[d>>1]|0;if(c){a=Rj(a)|0;b[d>>1]=a}i=e;return a|0}function Ig(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Jg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((ah(a,b)|0)<0){c[d>>2]=a;wi(19224,d)}else{i=e;return c[b+56>>2]|0}return 0}function Kg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];gi(c[a+20>>2]|0,b,1);Sg(b);i=d;return c[b>>2]|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;wi(22442,d)}else{i=e;return b|0}return 0}function Mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=ud(g,b,d,e)|0;i=f;return e|0}function Ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Qh(b)|0)<0)ag(13009,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Og(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Lf(0,0,0,0,b)|0}i=d;return}function Pg(b){b=b|0;var c=0,d=0;c=Qd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(yj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Qg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[16]|0)>=(a|0)){a=c[6779]|0;if(!a){a=c[2265]|0;c[6779]=a}Hc(a,b,d)|0;td(c[6779]|0)|0}return}function Rg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Sg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=ki(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return se(b,d,e)|0}function Ug(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=Mf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Vg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(mf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Wg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(lk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)kk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Xg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;a=ni(a)|0;c[d>>2]=a;a=Yb(ig(20209,1,a)|0)|0;Ji(d);i=b;return a|0}function Yg(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;a=hd(a,19285)|0;c[f>>2]=a;Sf(a,b,d);Xi(f);i=e;return}function Zg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=22098;c[a+4>>2]=352;wi(22077,a);return 0}function _g(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=(b|0)){e=5;break}if(!a){a=0;break}d=d+1|0;a=c[a>>2]|0}return a|0}function $g(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Fi(cb(57,e|0)|0)|0;i=d;return a|0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Fi(Pa(195,e|0)|0)|0;i=d;return a|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Fi(hb(38,e|0)|0)|0;i=d;return a|0}function ch(a){a=a|0;var b=0,d=0;b=a+8|0;d=a+40|0;Hf(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0);a=If(c[b>>2]|0,c[a+16>>2]|0)|0;return a|0}function dh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Fi(Ia(39,e|0)|0)|0;i=d;return a|0}function eh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6780]|0;if(!b)wi(18330,d);else{a=li(b,a)|0;i=d;return a|0}return 0}function fh(a){a=a|0;var b=0;b=ce(36)|0;c[b+28>>2]=128;c[b+20>>2]=ce(128)|0;c[b+8>>2]=a;c[b+16>>2]=27808;c[b+12>>2]=27808;return b|0}
+function gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=fd(a,b,d,g)|0;i=f;return e|0}function hh(a,b){a=a|0;b=b|0;a=a+12|0;do{a=c[a>>2]|0;if(!a){a=0;break}}while((rf(c[a+4>>2]|0,b)|0)!=0);return a|0}function ih(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=wf(a,b,d,g)|0;i=f;return e|0}function jh(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if(!a){d=-1;break}if((a|0)==(b|0))break;d=d+1|0;a=c[a>>2]|0}return d|0}function kh(a){a=a|0;var b=0;b=a+64|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0)a=0;else{b=vg(a)|0;a=Xg(b)|0;Jj(b)}return a|0}function lh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=Fi((a|0)==-4?-115:a)|0;i=b;return a|0}function mh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(mf(d,a)|0))break;b=b+8|0}return b|0}function nh(a){a=a|0;var b=0;b=ce(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Me(b,a)|0;return b|0}function oh(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=Fi(Wa(6,d|0)|0)|0;i=b;return a|0}function ph(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]}function qh(a){a=a|0;var b=0;b=i;i=i+16|0;a=gc(a)|0;if(!a)wi(19154,b);else{i=b;return a|0}return 0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;i=i+32|0;e=d;ic(e,b,c);qj(e,a)|0;i=d;return}function sh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function th(a,b){a=a|0;b=b|0;while(1){if(!a){a=0;break}if(!(rf(c[a+4>>2]|0,b)|0))break;a=c[a>>2]|0}return a|0}function uh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function vh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=ce(d+1|0)|0;c=(c|0)<(d|0)?c:d;ie(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function wh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(18459,18470,40,18486);else{b=c[b+4>>2]|0;Ji(a);return b|0}return 0}function xh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=kj(c<<24>>24)|0;d=d+1|0}return b|0}function yh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=lj(c<<24>>24)|0;d=d+1|0}return b|0}function zh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Yi(a,b,f)|0;i=e;return d|0}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Hc(a,b,f)|0;i=e;return d|0}function Bh(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;Dd(a,b,f);i=e;return}function Ch(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Ui(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=uf(a,b,f)|0;i=e;return d|0}function Eh(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=Hc(c[2235]|0,a,e)|0;i=d;return b|0}function Fh(a,b){a=a|0;b=b|0;var c=0;c=Qd(a)|0;c=c-(Qd(b)|0)|0;if((c|0)<0)c=0;else c=(mf(a+c|0,b)|0)==0&1;return c|0}function Gh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Qj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Qj(c[a>>2]|0)|0}return}function Hh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Jj(c[b+4>>2]|0);Jj(c[b+8>>2]|0);fg(b+12|0);Ji(a)}return}function Ih(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Kh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Jj(b);b=d}c[a>>2]=0;return}function Lh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;lh(b)|0;b=b+1|0}return}function Mh(a){a=+a;var b=0;b=Si((g[k>>2]=a,c[k>>2]|0)|0)|0;return +(c[k>>2]=b,+g[k>>2])}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Oh(b){b=b|0;if(!b)b=0;else while(1)if(!(yj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Ph(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;Qg(a,b,f);i=e;return}function Qh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fi(wa(42,d|0)|0)|0;i=b;return a|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;a=Yd(a,c)|0;if(c>>>0>b>>>0)Ne(a+b|0,0,c-b|0)|0;return a|0}function Sh(a){a=a|0;var b=0;b=kh(a)|0;if(!b)b=Xg(Tc(e[a+58>>1]|0,e[a+56>>1]|0)|0)|0;return b|0}function Th(){}function Uh(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 (C=d,a-c>>>0|0)|0}function Vh(a){a=a|0;var b=0;if(!a)a=ce(8)|0;else{b=ce((Qd(a)|0)+8|0)|0;Bj(b+4|0,a)|0;a=b}return a|0}function Wh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[16]=a;c[d>>2]=0;i=b;return}function Xh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;wi(19053,d);return 0}function Yh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function Zh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=22098;c[a+4>>2]=360;wi(22077,a);return 0}function _h(a){a=a|0;var b=0;b=ce(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=ce(a+1|0)|0;c[b+8>>2]=a;return b|0}function $h(){var a=0,b=0;b=i;i=i+16|0;a=Oc(2,1,0)|0;if((a|0)<0)ci(14146,b);i=b;return a|0}function ai(a,b){a=a|0;b=b|0;a=Cg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function bi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Jj(c[b+4>>2]|0);Jj(c[b+8>>2]|0);Ji(a)}return}function ci(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;ji(a,e);i=d;return}function di(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c;Fe(a,b,1,0);i=c;return d[b>>0]|0|0}function ei(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Gc(b)|0;Be(a)}return b|0}function fi(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6780]|0)){Ii(Wb(a,b,0,d,0)|0);c[6781]=d}return}function gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;Cc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function hi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Jj(c[b+20>>2]|0);Gd(b+8|0);Ji(a)}return}function ii(a){a=a|0;if((mf(a,20342)|0)!=0?(mf(a,16608)|0)!=0:0)a=(lg(a)|0)!=-1&1;else a=1;return a|0}function ji(a,b){a=a|0;b=b|0;var d=0;d=ad()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function li(a,b){a=a|0;b=b|0;a=Xe(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function mi(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ni(a){a=a|0;var b=0;if(!a)a=0;else{b=Qd(a)|0;a=vh(a,b,b)|0}return a|0}function oi(a){a=a|0;var b=0;b=i;i=i+16|0;a=ne(a,0,b)|0;i=b;return a|0}function pi(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;fj(a,b);return Bc(a,b,c,d)|0}function ri(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function si(){var a=0;if(!(c[6783]|0))a=27176;else a=c[(qk()|0)+64>>2]|0;return a|0}function ti(a){a=a|0;if(!a)a=0;else{a=Oh(a)|0;Pg(a)}return a|0}function ui(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Kh(b);Jj(b);c[a>>2]=0}return}function vi(a,b){a=a|0;b=b|0;b=Vh(b)|0;c[b>>2]=c[a>>2];c[a>>2]=b;return b|0}function wi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Li(a,d)}function xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function yi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Jj(c[b+4>>2]|0);Ji(a)}return}function zi(a){a=a|0;if((c[a+76>>2]|0)>-1?lk(a)|0:0)kk(a);return c[a+60>>2]|0}function Ai(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;return +(+O(+(+ng(a,b,c,d))))}function Bi(b,c){b=b|0;c=c|0;b=_c(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ci(){var a=0;a=ad()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Di(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ei(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){dg(b+52|0);Ji(a)}return}function Fi(a){a=a|0;if(a>>>0>4294963200){c[(si()|0)>>2]=0-a;a=-1}return a|0}function Gi(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Hi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=vd(a,b,0)|0;return a|0}function Ii(a){a=a|0;c[6780]=a;if(eh(17822)|0)Wh(Ke(17822,0)|0);return}function Ji(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)ck(b);return}function Ki(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Li(a,b){a=a|0;b=b|0;c[(ad()|0)+4>>2]=1;ji(a,b);Ci()}function Mi(a){a=a|0;var b=0;b=ge(a)|0;Ne(b|0,0,a|0)|0;return b|0}function Ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function Oi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;a=pe(a,b,c,0,-2147483648)|0;return a|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;a=pe(a,b,c,-2147483648,0)|0;return a|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return rc(a,b,15302,15311,c)|0}function Si(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;return Rh(a,b,c)|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,Qd(b)|0,c)|0}function Wi(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Xi(a){a=a|0;if(!(He(a)|0))Ci();else return}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,2147483647,b,c)|0}function Zi(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function $i(){if((ab(13996)|0)==0?(ab(14006)|0)==0:0)_a(-1);Za()}function aj(a,b,c){a=a|0;b=b|0;c=c|0;Jc(a,b,c)|0;return a|0}function bj(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function cj(a){a=a|0;var b=0;b=ce(8)|0;c[b+4>>2]=a;return b|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return yf(a,b,c)|0}function ej(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function fj(a,b){a=a|0;b=b|0;af(a,b,Qd(b)|0);return}function gj(a,b){a=a|0;b=b|0;ff(a,b,Qd(b)|0);return}function hj(a,b){a=a|0;b=b|0;return vh(a,Qd(a)|0,b)|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,b,0,c)|0}function jj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function kj(a){a=a|0;var b=0;b=(Tj(a)|0)==0;return (b?a:a&95)|0}function lj(a){a=a|0;var b=0;b=(Sj(a)|0)==0;return (b?a:a|32)|0}function mj(a,b){a=a|0;b=b|0;return Rg(a,b,(Qd(a)|0)+1|0)|0}function nj(a){a=a|0;return Eg(20342,a,zi(c[2294]|0)|0)|0}function oj(a){a=a|0;if(!(c[a+68>>2]|0))kk(a);return}function pj(a){a=a|0;if(!(c[a+68>>2]|0))kk(a);return}function qj(a,b){a=a|0;b=b|0;return (Gf(a,Qd(a)|0,1,b)|0)+-1|0}function rj(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,b,1,c)|0}function sj(a){a=a|0;return ((a+-48|0)>>>0<10|(Kj(a)|0)!=0)&1|0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;return wg(a,b,c)|0}function uj(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function vj(a,b){a=a|0;b=b|0;return dd(a,15339,b)|0}function wj(a){a=a|0;Jj(c[a+4>>2]|0);Jj(a);return}function xj(a,b){a=a|0;b=b|0;i=a;j=b}function yj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function zj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Aj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Bj(a,b){a=a|0;b=b|0;cd(a,b)|0;return a|0}function Cj(a){a=a|0;return sc(a,-2021002517,18836)|0}function Dj(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Ej(a){a=a|0;c[186]=ni(a)|0;return}function Fj(a,b){a=a|0;b=b|0;return he(a,b)|0}function Gj(a,b){a=a|0;b=b|0;return +(+ae(a,b,1))}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Ij(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Jj(a){a=a|0;if(a|0)ck(a);return}function Kj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Lj(a,b){a=+a;b=+b;return +(+Qf(a,b))}function Mj(a,b){a=+a;b=b|0;return +(+Md(a,b))}function Nj(a){a=a|0;return Fd(a,c[2235]|0)|0}function Oj(a,b){a=+a;b=b|0;return +(+Rd(a,b))}function Pj(a){a=a|0;return (eh(a)|0)!=0|0}function Qj(a){a=a|0;return Si(a|0)|0}function Rj(a){a=a|0;return Ij(a|0)|0}function Sj(a){a=a|0;return (a+-65|0)>>>0<26|0}function Tj(a){a=a|0;return (a+-97|0)>>>0<26|0}function Uj(a,b){a=a|0;b=b|0;Qb(b);return}function Vj(a){a=a|0;return c[a+16>>2]|0}function Wj(a,b){a=+a;b=+b;return +(+kc(a,b))}function Xj(a){a=a|0;return Si(a|0)|0}function Yj(a){a=a|0;return Si(a|0)|0}function Zj(a,b){a=a|0;b=b|0;ba(7);return 0}function _j(a){a=a|0;Ji(a);return}function $j(a){a=a|0;Hb[a&1]()}function ak(a){a=a|0;return Kb(a)|0}function bk(a){a=a|0;Qb(a);return}function ck(a){a=a|0;Qb(a);return}function dk(a){a=a|0;return 0}function ek(a,b){a=a|0;b=b|0;ba(3)}function fk(a){a=a|0;return 0}function gk(a){a=a|0;i=a}function hk(a){a=a|0;C=a}function ik(a){a=a|0;ba(5);return 0}function jk(){return c[186]|0}function kk(a){a=a|0;return}function lk(a){a=a|0;return 0}function mk(){return c[16]|0}function nk(){return C|0}function ok(){return i|0}function pk(a){a=a|0;ba(2)}function qk(){return 0}function rk(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[Hj,qf,Ye,yc,Pc,rg,bj,dj];var Cb=[jj,bf];var Db=[pk,pj,oj,pk];var Eb=[ek,Kf,Uj,ek];var Fb=[Ki,yd,Vc,_b,Zg,Ki,Ki,Ki];var Gb=[ik,oh,Ec,ik];var Hb=[rk,$i];var Ib=[Zj,Ge,De,vc,zd,Zh,Zj,Zj];return{_llvm_bswap_i16:Ij,_i64Subtract:Uh,_free:Qb,_main:Cf,_htonl:Yj,_realloc:he,_i64Add:ki,_memmove:Tf,_pthread_self:qk,_pthread_mutex_unlock:dk,_memset:Ne,_malloc:Kb,_pthread_mutex_lock:fk,_memcpy:ie,_llvm_bswap_i32:Si,_bitshift64Lshr:Nh,_htons:Aj,_bitshift64Shl:Ih,___errno_location:si,_ntohs:zj,runPostSets:Th,stackAlloc:Gi,stackSave:ok,stackRestore:gk,establishStackSpace:xj,setThrew:Wi,setTempRet0:hk,getTempRet0:nk,dynCall_iiii:xi,dynCall_viiiii:Yh,dynCall_vi:Dj,dynCall_vii:_i,dynCall_iiiiiii:sh,dynCall_ii:uj,dynCall_v:$j,dynCall_iii:Ti}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigBedInfo_static.js.mem b/bedTools/bigBedInfo_static.js.mem
new file mode 100644
index 0000000000000000000000000000000000000000..e2354e2f0d3f904e0e81aa17f0211ac4e8c7e21b
Binary files /dev/null and b/bedTools/bigBedInfo_static.js.mem differ
diff --git a/bedTools/bigBedSummary.c b/bedTools/bigBedSummary.c
new file mode 100644
index 0000000000000000000000000000000000000000..74283e4fdb53f736cd019a335cc3d35880a922b8
--- /dev/null
+++ b/bedTools/bigBedSummary.c
@@ -0,0 +1,122 @@
+/* bigBedSummary - Extract summary information from a bigBed file.. */
+
+/* Copyright (C) 2011 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+#include "common.h"
+#include "linefile.h"
+#include "hash.h"
+#include "options.h"
+#include "sqlNum.h"
+#include "bigBed.h"
+#include "asParse.h"
+#include "udc.h"
+#include "obscure.h"
+
+
+char *summaryType = "coverage";
+
+void usage()
+/* Explain usage and exit. */
+{
+errAbort(
+  "bigBedSummary - Extract summary information from a bigBed file.\n"
+  "usage:\n"
+  "   bigBedSummary file.bb chrom start end dataPoints\n"
+  "Get summary data from bigBed for indicated region, broken into\n"
+  "dataPoints equal parts.  (Use dataPoints=1 for simple summary.)\n"
+  "options:\n"
+  "   -type=X where X is one of:\n"
+  "         coverage - %% of region that is covered (default)\n"
+  "         mean - average depth of covered regions\n"
+  "         min - minimum depth of covered regions\n"
+  "         max - maximum depth of covered regions\n"
+  "   -fields - print out information on fields in file.\n"
+  "      If fields option is used, the chrom, start, end, dataPoints\n"
+  "      parameters may be omitted\n"
+  "   -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs\n"
+  );
+}
+
+static struct optionSpec options[] = {
+   {"type", OPTION_STRING},
+   {"fields", OPTION_BOOLEAN},
+   {"udcDir", OPTION_STRING},
+   {NULL, 0},
+};
+
+void bigBedSummary(char *fileName, char *chrom, int start, int end, int dataPoints)
+/* bigBedSummary - Extract summary information from a bigBed file.. */
+{
+/* Make up values array initialized to not-a-number. */
+double nan0 = strtod("NaN", NULL);
+double summaryValues[dataPoints];
+int i;
+for (i=0; i<dataPoints; ++i)
+    summaryValues[i] = nan0;
+
+struct bbiFile *bbi = bigBedFileOpen(fileName);
+if (bigBedSummaryArray(bbi, chrom, start, end, bbiSummaryTypeFromString(summaryType), 
+      dataPoints, summaryValues))
+    {
+    for (i=0; i<dataPoints; ++i)
+	{
+	double val = summaryValues[i];
+	if (i != 0)
+	    printf("\t");
+	if (isnan(val))
+	    printf("n/a");
+	else
+	    printf("%g", val);
+	}
+    printf("\n");
+    }
+else
+    {
+    errAbort("no data in region %s:%d-%d in %s\n", chrom, start, end, fileName);
+    }
+bbiFileClose(&bbi);
+}
+
+
+void bigBedFields(char *fileName)
+/* Print out info about fields in bed file. */
+{
+struct bbiFile *bbi = bigBedFileOpen(fileName);
+printf("%d bed definition fields, %d total fields\n", bbi->definedFieldCount, bbi->fieldCount);
+struct asObject *as = bigBedAs(bbi);
+if (as != NULL)
+    {
+    struct asColumn *col;
+    for (col = as->columnList; col != NULL; col = col->next)
+        {
+	printf("\t%s\t%s\n", col->name, col->comment);
+	}
+    }
+else
+    {
+    printf("No additional field information included.\n");
+    }
+}
+
+int main(int argc, char *argv[])
+/* Process command line. */
+{
+optionInit(&argc, argv, options);
+udcSetDefaultDir(optionVal("udcDir", udcDefaultDir()));
+if (optionExists("fields"))
+    {
+    if (argc < 2)
+        usage();
+    bigBedFields(argv[1]);
+    }
+else
+    {
+    summaryType = optionVal("type", summaryType);
+    if (argc != 6)
+	usage();
+    bigBedSummary(argv[1], argv[2], sqlUnsigned(argv[3]), sqlUnsigned(argv[4]), sqlUnsigned(argv[5]));
+    }
+if (verboseLevel() > 1)
+    printVmPeak();
+return 0;
+}
diff --git a/bedTools/bigBedSummary_static.js b/bedTools/bigBedSummary_static.js
new file mode 100644
index 0000000000000000000000000000000000000000..e9b17a35465680a445e50b81d248a633dc76cfd5
--- /dev/null
+++ b/bedTools/bigBedSummary_static.js
@@ -0,0 +1,17 @@
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+28880;__ATINIT__.push();memoryInitializer="bigBedSummary_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_v;var ja=env.invoke_iii;var ka=env.invoke_iiiiii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=oc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=oc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=22864;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=22891;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=lc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=22841;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=22864;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=22911;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=Zi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=22975;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=23004;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=lc(o,q,r)|0;else o=oc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=Zi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=23178;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=lc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11804+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=23199;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=oc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}pe(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11804+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=23040;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9628;c[H>>2]=9;c[I>>2]=11676;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=22956;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=23065;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=23065;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=23091;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=23128;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=23156;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=23274;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;pe(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=oc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=oc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=23252;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=oc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=22936;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=oc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=23222;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Nc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=lc(j,h,k)|0;else h=oc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6545]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=26220+(b<<1<<2)|0;e=d+8|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[6549]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6545]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6547]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=26220+(b<<1<<2)|0;e=d+8|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[6549]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6547]|0;break}else Za()}else{c[6545]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6550]|0;b=l>>>3;d=26220+(b<<1<<2)|0;a=c[6545]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{m=a;n=b}}else{c[6545]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6547]=h;c[6550]=e;N=j;i=O;return N|0}a=c[6546]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[26484+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6549]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=26484+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6546]=c[6546]&~(1<<a);break}}else{if(h>>>0<(c[6549]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6549]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6549]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6547]|0;if(a|0){f=c[6550]|0;b=a>>>3;e=26220+(b<<1<<2)|0;a=c[6545]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{r=a;s=b}}else{c[6545]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6547]=d;c[6550]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6546]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[26484+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[26484+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6547]|0)-q|0)>>>0:0){f=c[6549]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=26484+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6546]=c[6546]&~(1<<a);break}}else{if(g>>>0<(c[6549]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6549]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6549]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=26220+(a<<1<<2)|0;b=c[6545]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{w=a;x=b}}else{c[6545]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=26484+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6546]|0;b=1<<d;if(!(a&b)){c[6546]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6549]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6547]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6550]|0;if(a>>>0>15){N=b+q|0;c[6550]=N;c[6547]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6547]=0;c[6550]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6548]|0;if(a>>>0>q>>>0){L=a-q|0;c[6548]=L;N=c[6551]|0;M=N+q|0;c[6551]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6663]|0)){c[6665]=4096;c[6664]=4096;c[6666]=-1;c[6667]=-1;c[6668]=0;c[6656]=0;x=p&-16^1431655768;c[p>>2]=x;c[6663]=x}h=q+48|0;g=c[6665]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6655]|0;if(a|0?(w=c[6653]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6656]&4)){a=c[6551]|0;c:do if(a){d=26628;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6548]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6664]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6653]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6655]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6665]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6656]=c[6656]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6653]|0)+f|0;c[6653]=a;if(a>>>0>(c[6654]|0)>>>0)c[6654]=a;j=c[6551]|0;do if(j){e=26628;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6548]|0)|0;c[6551]=M;c[6548]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6552]=c[6667];break}a=c[6549]|0;if(h>>>0<a>>>0){c[6549]=h;k=h}else k=a;d=h+f|0;a=26628;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=26628;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6550]|0)){N=(c[6547]|0)+g|0;c[6547]=N;c[6550]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=26484+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6549]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6546]=c[6546]&~(1<<b);break e}while(0);e=c[6549]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6549]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=26220+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6545]=c[6545]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=26220+(a<<1<<2)|0;b=c[6545]|0;a=1<<a;do if(!(b&a)){c[6545]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6549]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=26484+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6546]|0;b=1<<d;if(!(a&b)){c[6546]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6549]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6548]|0)+g|0;c[6548]=N;c[6551]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=26628;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6551]=N;c[6548]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6552]=c[6667];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6657];c[a+4>>2]=c[6658];c[a+8>>2]=c[6659];c[a+12>>2]=c[6660];c[6657]=h;c[6658]=f;c[6660]=0;c[6659]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=26220+(a<<1<<2)|0;b=c[6545]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{J=a;K=b}}else{c[6545]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=26484+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6546]|0;b=1<<d;if(!(a&b)){c[6546]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6549]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6549]|0;if((N|0)==0|h>>>0<N>>>0)c[6549]=h;c[6657]=h;c[6658]=f;c[6660]=0;c[6554]=c[6663];c[6553]=-1;a=0;do{N=26220+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6551]=M;c[6548]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6552]=c[6667]}while(0);a=c[6548]|0;if(a>>>0>q>>>0){L=a-q|0;c[6548]=L;N=c[6551]|0;M=N+q|0;c[6551]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(xi()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0}while((Hj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=id(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[25994+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=id(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[26003+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=id(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=id(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(xi()|0)>>2]=22;jg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=id(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=id(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;k=ni(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=ni(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=id(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else jg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=ni(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=vc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){jg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Lh(o|0,n|0,2)|0;H=ni(H|0,C|0,-32,-1)|0;e=ni(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(xi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(xi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=ni(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Xh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=ni(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Uj(+Sd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(xi()|0)>>2]=34;g=+Vj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=id(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|0)==48){h=0;e=0;while(1){h=ni(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=ni(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=vc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){jg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=ni(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(xi()|0)>>2]=22;jg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(xi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(xi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9596+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9596+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9596+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Lh(c[p>>2]|0,0,29)|0;o=ni(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ti(o|0,n|0,1e9,0)|0;o=Og(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Uj(+Sd(1.0,105-o|0),j);m=+dk(j,+Sd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+dk(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(xi()|0)>>2]=34}while(0);g=+Vj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(xi()|0)>>2]=22;jg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(xi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Zc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[23302+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}tc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Qh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=23782;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=23782;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Xh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=23782;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?23782:23784;L=76}else{p=1;r=23783;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=23782;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=23782;o=N;break}case 109:{o=qe(c[(xi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:25684;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Gd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?25692:25697}else{G=1;H=25694}else{q=-q;G=1;H=25691}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Xj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ie(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[23766+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Gd(e,32,K,r,I);if(!(c[e>>2]&32))Zc(y,w,e)|0;Gd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Zc(ea,o,e)|0;f=ba-p|0;Gd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Zc(t,f,e)|0;Gd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Lh(c[r>>2]|0,0,t|0)|0;B=ni(B|0,C|0,o|0,0)|0;o=C;A=Og(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ti(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ie(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Gd(e,32,K,w,I);if(!(c[e>>2]&32))Zc(H,G,e)|0;Gd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ie(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Xe(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Zc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Zc(25722,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ie(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Xe(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Zc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Gd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ie(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Zc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Zc(25722,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Xe(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Zc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Gd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Zc(u,ba-u|0,e)|0}while(0);Gd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Gd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Zc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Zc(s?(t?26003:25718):t?25710:25714,3,e)|0;Gd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=23782;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[23766+(o&15)>>0]|r;o=Qh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=23782;L=77}else{o=t;t=2;r=23782+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=23782;L=77}}else if((L|0)==76){f=ie(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Oc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=23782;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Ni(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Gd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Ni(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Zc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Gd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Gd(e,32,o,s,p);if(!(c[e>>2]&32))Zc(v,w,e)|0;Gd(e,48,o,s,p^65536);Gd(e,48,r,t,0);if(!(c[e>>2]&32))Zc(f,t,e)|0;Gd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;tc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=yk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Hj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{jg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=id(e)|0}while((Hj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}jg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((id(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Xe(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Xe(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=id(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Cc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=oe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Vi(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=id(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=oe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=id(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=id(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;jg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=id(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Hj(d[m>>0]|0)|0))break;else n=m}jg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=id(e)|0}while((Hj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)xk(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=ni(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[183]|0)==0?(vf(c[a+8>>2]|0,21338)|0)!=0:0){ba=a+32|0;T=ba;T=Eb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=ni(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=ni(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=ni(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=ni(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Xh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=ni(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Xh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Xh(k|0,j|0,f|0,d|0)|0;pe(b|0,B+f|0,o|0)|0;e=ni(o|0,E|0,e|0,n|0)|0;f=C;d=Xh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=ni(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Yg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=je(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=ni(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Xh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[183]|0){y=ni(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=ni(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Ti(k|0,j|0,w|0,0)|0;t=ni(A|0,B|0,-1,-1)|0;t=ni(t|0,C|0,w|0,0)|0;w=Ti(t|0,C|0,w|0,0)|0;t=m+52|0;Vf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((rj(u,d,s)|0)<(s|0))f=0;else{Sj(u);j=B;k=A;continue}while(1){o=rj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=zj(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Zg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Zg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=ni(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Xh(f|0,j|0,p|0,q|0)|0;k=C;f=ne(j)|0;c[W>>2]=f;m=Eb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Yg(Z,c[K>>2]|0,p,0)|0;tf(Z,c[K>>2]|0,f,j);Pi(W)}be(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Yg(P,c[t>>2]|0,da+64|0,0)|0;tf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Sj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Yg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}wf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ai(21350,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Th(4,21406,$);Th(4,21452,aa);S=0;T=0;break}else if((n|0)==36){wf(Z,j,f,h);S=ba;S=ni(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=ni(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[183]|0:d;c[I>>2]=b;c[I+4>>2]=m;Th(4,21568,I);if(0){c[e>>2]=b;Eh(0,21589,e)|0}c[h>>2]=0;c[n>>2]=0;ud(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Sj(d);u=si(21338)|0;c[h>>2]=u;Sj(c[n>>2]|0);c[n>>2]=si(b)|0;j=1}else{u=d;j=0}h=u;g=je(16)|0;do if(!(vf(u,21598)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=21598}else{if(!(vf(u,21833)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=21833;break}if(vf(u,20727)|0?vf(u,21994)|0:0){if(!(vf(u,22e3)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=22e3;break}if(!(vf(u,21338)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=21338;break}else{c[k>>2]=u;Ai(22015,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=20727}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[183]|0?(l=(Ge(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Hb[c[g+8>>2]&7](b,p)|0)){Pi(o);Sj(u);Sj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=je(312)|0;c[d+4>>2]=si(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;fd(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[183]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(li(c[g>>2]|0)|0))t=29;else{ke(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[183]|0;if(g){Jd(c[d+40>>2]|0);p=d+44|0;n=Ec(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(li(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;Th(4,22104,s);Ii(G);If(c[p>>2]|0)|0;If(c[K>>2]|0)|0;g=d+52|0;if(li(c[g>>2]|0)|0)If(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];Th(4,22195,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Nd(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=ni(h|0,k|0,8191,0)|0;k=Qh(k|0,C|0,13)|0;lf(j,A,4);lf(j,x,4);lf(j,I,8);lf(j,v,8);lf(j,w,4);lf(j,y,4);lf(j,z,8);lf(j,z,8);lf(j,z,8);lf(j,z,8);g=d+136|0;h=Yg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Ai(22245,D)}a[E>>0]=0;Yg(g,j,((k+7|0)/8|0)+-1|0,1)|0;tf(g,j,E,1);kg(B);c[B>>2]=Nd(c[d+48>>2]|0,577)|0;kg(B);g=Ec(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Ai(22312,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=Lf(c[f+52>>2]|0,0,1)|0;Od(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=ni(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=Qh(H|0,C|0,13)|0;H=(rj(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Yg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Nd(c[d+48>>2]|0,2)|0;if(Gg(20727,u)|0){c[I>>2]=0;j=d+52|0;if(li(c[j>>2]|0)|0)xg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;If(c[j>>2]|0)|0;break}else{if(!(_g(g,h)|0))break;K=mg(c[j>>2]|0,22342)|0;H=c[f>>2]|0;bh(K,H,Wd(H)|0);gh(K,c[j>>2]|0)|0;Sj(K);break}}else c[d+132>>2]=si(c[I>>2]|0)|0;while(0);Sj(c[I>>2]|0)}}}else{if(!(li(b)|0)){d=0;break}K=Nd(b,0)|0;c[d+56>>2]=K;Ee(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}Sj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6549]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6550]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6547]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=26220+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6545]=c[6545]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=26484+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6546]=c[6546]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6549]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6549]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6549]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6551]|0)){p=(c[6548]|0)+g|0;c[6548]=p;c[6551]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6550]|0))return;c[6550]=0;c[6547]=0;return}if((m|0)==(c[6550]|0)){p=(c[6547]|0)+g|0;c[6547]=p;c[6550]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=26484+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6546]=c[6546]&~(1<<a);break}}else{if(f>>>0<(c[6549]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6549]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6549]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=26220+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6549]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6545]=c[6545]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6549]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6550]|0)){c[6547]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=26220+(a<<1<<2)|0;b=c[6545]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{o=a;p=b}}else{c[6545]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=26484+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6546]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6549]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6546]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6553]|0)+-1|0;c[6553]=q;if(!q)a=26636;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6553]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=11392;C=256;D=11518}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11842;C=-1;D=11968}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6549]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6550]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6547]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=26220+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6545]=c[6545]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=26484+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6546]=c[6546]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6549]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6549]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6549]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6549]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6551]|0)){q=(c[6548]|0)+g|0;c[6548]=q;c[6551]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6550]|0))return;c[6550]=0;c[6547]=0;return}if((o|0)==(c[6550]|0)){q=(c[6547]|0)+g|0;c[6547]=q;c[6550]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=26484+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6546]=c[6546]&~(1<<d);break}}else{if(f>>>0<(c[6549]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6549]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6549]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=26220+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6545]=c[6545]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6550]|0)){c[6547]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=26220+(d<<1<<2)|0;a=c[6545]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6549]|0)>>>0)Za();else{p=d;q=a}}else{c[6545]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=26484+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6546]|0;a=1<<b;if(!(d&a)){c[6546]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6549]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6549]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Fi(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(_e(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Oc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(xi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0}while((Hj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=id(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=id(b)|0;if((d[25729+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){jg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[25729+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;jg(b,0);c[(xi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=id(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Zg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=ni(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[25985+((e*23|0)>>>5&7)>>0]|0;j=a[25729+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;j=a[25729+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Qh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Lh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;j=a[25729+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[25729+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;j=a[25729+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Ti(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Zg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=ni(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;j=a[25729+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[25729+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0}while((d[25729+i>>0]|0)>>>0<e>>>0);c[(xi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(xi()|0)>>2]=34;g=ni(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(xi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Xh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=23222;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=23252;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=23274;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ve(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(vf(r,18021)|0)){j=g;h=k;N=4;break}s=Fi(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Hj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Wd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Aj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)dj(Q,o,(m|0)==0?18443:m)|0;else{l=qh(o,f)|0;if(!l){l=qh(o,56)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Xi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Wi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Pj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Pj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?18443:m;l=qh(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=pi(Q,o)|0;l=Yh(m)|0;if(!n){dj(Q,o,l)|0;break}else{Mh(n,l);break}}dj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ai(18032,z);break}case 34:{c[A>>2]=o;Ai(18058,A);break}case 36:{c[K>>2]=o;Ai(18097,K);break}case 38:{c[L>>2]=o;Ai(18133,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ai(18166,B);break}case 43:{c[C>>2]=o;Ai(18133,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ai(18208,D);break}case 48:{c[E>>2]=o;Ai(18252,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ai(18287,F);break}case 53:{c[G>>2]=o;Ai(18327,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ai(18363,H);break}case 57:{c[I>>2]=c[l>>2];Ai(18404,I);break}case 65:{Ai(18446,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,14655)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Ze(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Ig(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(xi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Gg(15462,f)|0))m=c[F>>2]|0;else{Xf(F)|0;f=Xf(F)|0;if(!f){O=20;break a}if((((Gg(16102,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(vf(f,16105)|0)if(vf(f,16109)|0){if(I?(g=vf(f,16113)|0,!((H|g|0)==0&G)):0)if(!(vf(f,16117)|0)){f=o;break}else{O=30;break a}if(!(vf(f,16204)|0)){O=34;break a}if(!(vf(f,16113)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Fi(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Rh(f+1|0)|0}if(!(Af(m,16256)|0)){if(o|0)c[e>>2]=si(f)|0;if(k)h=si(f)|0}}while(!(I&(Af(m,16265)|0)==0));if((Gg(16279,f)|0)!=0?(q=(Fi(f,32)|0)+1|0,r=Fi(q,45)|0,(r|0)!=0):0){l=r+1|0;m=sd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=sd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=qe(f)|0;c[z+4>>2]=d;gi(15913,z);f=0;break}case 10:{c[v>>2]=d;gi(15950,v);f=0;break}case 11:{c[x>>2]=d;gi(16006,x);f=0;break}case 15:{c[y>>2]=2e3;gi(16038,y);f=0;break}case 20:{c[u>>2]=d;gi(16076,u);f=0;break}case 30:{if(!g)gi(16121,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;gi(16164,E);f=0;break}case 34:{c[w>>2]=d;gi(16208,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;gi(16233,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;mh(N,256,19575,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;gi(16286,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?26804:16380;c[K+8>>2]=f?16105:16109;c[K+12>>2]=h|0?h:16396;gi(16406,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;mh(N,256,19575,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;gi(16447,M);f=0}break}}i=P;return f|0}function Yb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;x=A+64|0;q=A+56|0;u=A+48|0;t=A+40|0;s=A+32|0;r=A+24|0;v=A+16|0;p=A+8|0;o=A;w=A+84|0;z=A+80|0;g=jh(b)|0;c[z>>2]=g;c[w>>2]=0;h=g+20|0;a:while(1){if(!(gc(g)|0)){b=w;e=47;break}n=je(20)|0;do if(Af(c[h>>2]|0,19700)|0){if(!(Af(c[h>>2]|0,19706)|0)){a[n+17>>0]=1;break}if(Af(c[h>>2]|0,19686)|0){c[o>>2]=c[h>>2];Mf(g,19783,o)}}else a[n+16>>0]=1;while(0);uh(g)|0;j=n+4|0;c[j>>2]=si(c[h>>2]|0)|0;uh(g)|0;c[n+8>>2]=si(c[h>>2]|0)|0;uh(g)|0;Rf(g,19822);k=n+12|0;while(1){if((a[c[h>>2]>>0]|0)==41)break;l=je(48)|0;b=wg(c[h>>2]|0)|0;if(!b){c[p>>2]=c[h>>2];Mf(g,19824,p)}m=l+12|0;c[m>>2]=b;uh(g)|0;if((c[c[m>>2]>>2]&-2|0)==12){c[l+16>>2]=si(c[h>>2]|0)|0;uh(g)|0}switch(a[c[h>>2]>>0]|0){case 91:{if((c[c[m>>2]>>2]|0)==13)a[l+38>>0]=1;else a[l+37>>0]=1;uh(g)|0;b=c[h>>2]|0;d=a[b>>0]|0;do if((d+-48|0)>>>0<10){c[l+24>>2]=Td(b)|0;uh(g)|0}else{if(!(Tj(d)|0)){Mf(g,19866,r);break}d=si(c[h>>2]|0)|0;c[l+28>>2]=d;b=lh(n,d)|0;if(!b){e=23;break a}c[l+32>>2]=b;a[b+36>>0]=1;uh(g)|0}while(0);Rf(g,19781);break}case 40:{uh(g)|0;e=l+40|0;while(1){b=c[h>>2]|0;if((a[b>>0]|0)==41)break;d=Yh(b)|0;c[d>>2]=c[e>>2];c[e>>2]=d;uh(g)|0;d=c[h>>2]|0;b=a[d>>0]|0;switch(b<<24>>24){case 41:case 44:break;default:{c[s>>2]=d;Mf(g,19912,s);b=a[c[h>>2]>>0]|0}}if(b<<24>>24==41)continue;uh(g)|0}Rf(g,19720);Xg(e);break}default:{}}b=si(c[h>>2]|0)|0;d=l+4|0;c[d>>2]=b;f=lh(n,b)|0;if(f|0){e=35;break a}uh(g)|0;c[l+44>>2]=Ae(g,0)|0;if(!(vf(c[h>>2]|0,19978)|0)){a[l+39>>0]=1;if(((c[c[m>>2]>>2]|0)+-3|0)>>>0>=7){e=38;break a}uh(g)|0}Rf(g,20031);c[l+8>>2]=si(c[h>>2]|0)|0;uh(g)|0;if((c[c[m>>2]>>2]|0)==2?c[l+24>>2]|0:0)a[l+37>>0]=0;c[l>>2]=c[k>>2];c[k>>2]=l}Xg(k);if(wh(c[w>>2]|0,c[j>>2]|0)|0){c[q>>2]=c[j>>2];Mf(g,20033,q)}Mh(w,n)}if((e|0)==23){c[v>>2]=d;Ai(19842,v)}else if((e|0)==35){c[t>>2]=c[f+4>>2];c[t+4>>2]=b;Ai(19941,t)}else if((e|0)==38){c[u>>2]=c[d>>2];Ai(19983,u)}else if((e|0)==47){b:while(1){h=c[b>>2]|0;b=c[w>>2]|0;if(!h){e=58;break}f=h+17|0;j=h+4|0;d=h+12|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;e=c[g>>2]|0;if(e|0){v=wh(b,e)|0;e=d+20|0;c[e>>2]=v;if(!v){e=52;break b}if(a[f>>0]|0?(a[(c[e>>2]|0)+17>>0]|0)==0:0){e=55;break b}}}b=h;e=47}if((e|0)==52){c[x>>2]=c[g>>2];Ai(20060,x)}else if((e|0)==55){A=c[d+4>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=A;Ai(20084,y)}else if((e|0)==58){ki(z);i=A;return b|0}}return 0}function Zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=hj(h)|0;c[b+16>>2]=e;f=Cd(c[f>>2]|0)|0;if(!f){s=0;break}s=Wd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Sj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}te(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)$f(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Cg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;te(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;ng(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Yd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ai(20279,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Yd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Yd(b,f);s=1}else s=1}while(0);i=y;return s|0}function _b(a,b,d,e,f,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0.0,E=0.0,F=0.0;B=i;i=i+16|0;A=B;do if(e>>>0>d>>>0){Xe(k|0,0,j*40|0)|0;y=e-d|0;l=((y>>>0)/(j>>>0)|0|0)/2|0;l=De(c[a+100>>2]|0,(l|0)<0?0:l)|0;if(!l){x=rh(0)|0;c[A>>2]=x;b=Ib[f&1](a,b,d,e,x)|0;a:do if(!b)b=0;else{w=((j|0)<0)<<31>>31;t=d;x=0;f=b;b=0;while(1){if((x|0)>=(j|0))break a;u=x+1|0;v=Zg(u|0,((u|0)<0)<<31>>31|0,y|0,0)|0;v=Ti(v|0,C|0,j|0,w|0)|0;v=ni(v|0,C|0,d|0,0)|0;s=(v|0)==(t|0)?t+1|0:v;while(1){if(!f){f=0;l=0;break}if((c[f+8>>2]|0)>>>0>t>>>0){z=31;break}f=c[f>>2]|0}if((z|0)==31){z=0;o=+h[f+16>>3];q=0.0;r=f;p=o;n=0.0;m=0.0;while(1){if(!r)break;a=r+4|0;l=c[a>>2]|0;if(l>>>0>=s>>>0)break;e=r+8|0;l=qi(t,s,l,c[e>>2]|0)|0;if((l|0)>0){D=+((c[e>>2]|0)-(c[a>>2]|0)|0);D=D*(+(l|0)/D);E=+h[r+16>>3];q=q+D;p=p<E?E:p;o=o>E?E:o;n=n+E*D;m=m+E*E*D}r=c[r>>2]|0}l=~~+Z(+q)>>>0;E=+(l>>>0)/q;t=k+(x*40|0)|0;c[t>>2]=l;c[t+4>>2]=0;h[k+(x*40|0)+8>>3]=o;h[k+(x*40|0)+16>>3]=p;h[k+(x*40|0)+24>>3]=n*E;h[k+(x*40|0)+32>>3]=m*E}t=v;x=u;b=(l|0)==0?b:1}}while(0);zi(A);break}x=c[a+20>>2]|0;if(!(ui(x,b,Wd(b)|0,A,8)|0)){b=0;break}Kh(c[a+16>>2]|0,A);b=c[A>>2]|0;if((b|0)>=0){f=hc(l,a,b,d,e)|0;c[A>>2]=f;if(!f)b=0;else{v=((j|0)<0)<<31>>31;s=d;w=0;b=0;while(1){if((w|0)>=(j|0))break;t=w+1|0;u=Zg(t|0,((t|0)<0)<<31>>31|0,y|0,0)|0;u=Ti(u|0,C|0,j|0,v|0)|0;u=ni(u|0,C|0,d|0,0)|0;while(1){if(!f){f=0;l=0;break}if((c[f+12>>2]|0)>>>0>s>>>0){z=13;break}f=c[f>>2]|0}if((z|0)==13){z=0;q=0.0;p=+g[f+24>>2];o=+g[f+20>>2];r=f;n=0.0;m=0.0;while(1){if(!r)break;a=r+8|0;l=c[a>>2]|0;if(l>>>0>=u>>>0)break;e=r+12|0;l=qi(s,u,l,c[e>>2]|0)|0;if((l|0)>0){E=+(l|0)/+(((c[e>>2]|0)-(c[a>>2]|0)|0)>>>0);F=+g[r+24>>2];D=+g[r+20>>2];q=q+ +((c[r+16>>2]|0)>>>0)*E;p=p<F?F:p;o=o>D?D:o;n=n+ +g[r+28>>2]*E;m=m+E*+g[r+32>>2]}r=c[r>>2]|0}if(q>0.0){l=~~+Z(+q)>>>0;F=+(l>>>0)/q;x=k+(w*40|0)|0;c[x>>2]=l;c[x+4>>2]=0;h[k+(w*40|0)+8>>3]=o;h[k+(w*40|0)+16>>3]=p;h[k+(w*40|0)+24>>3]=n*F;h[k+(w*40|0)+32>>3]=m*F}else l=0}s=u;w=t;b=(l|0)==0?b:1}Nh(A)}}else b=0}else b=0;while(0);i=B;return b|0}function $b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((Gg(20342,b)|0)==0?(Gg(20350,b)|0)==0:0)?(Gg(20359,b)|0)==0:0){c[j>>2]=b;Ai(20422,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Th(4,20366,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=Xh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Th(4,20657,m);kg(x);j=h+128|0;if((c[j>>2]|0)>0)kg(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Th(4,20504,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6530]|0)){c[6530]=je(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=rf(j,k,c[6530]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=Xh(l|0,m|0,n|0,I|0)|0;J=C;I=ni(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;ig(20553,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=ni(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Ai(20606,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=ni(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=re(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;mh(y,2048,20708,z)|0;j=ic(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(Gg(20727,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Mc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Sj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Ai(20732,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=rf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)ig(20761,G);else F=j;K=h+120|0;J=K;J=ni(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function ac(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6549]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6665]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6551]|0)){d=(c[6548]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6551]=l;c[6548]=m;return a|0}if((k|0)==(c[6550]|0)){e=(c[6547]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6547]=d;c[6550]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=26484+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6546]=c[6546]&~(1<<d);break}}else{if(h>>>0<(c[6549]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6549]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6549]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=26220+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6545]=c[6545]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Eh(0,22365,b)|0}b=d+112|0;if(c[b>>2]|0)kg(b);b=d+128|0;if(c[b>>2]|0)kg(b);Sj(c[d+4>>2]|0);Sj(c[d+8>>2]|0);Pi(d+12|0);Sj(c[d+40>>2]|0);Sj(c[d+44>>2]|0);Sj(c[d+48>>2]|0);Sj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)kg(b);Ii(d+80|0)}Pi(a);i=e;return}function cc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(13156,13176,448,13192);h=ya()|0;c[s>>2]=h;if((h|0)<0)ig(13205,l);if(h|0)if(!(eh(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;ig(13743,k)}r=Hi()|0;c[s>>2]=r;if(eh(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;ig(13216,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Sg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}cg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))gg(t);if(c[k>>2]|0)gg(m);g=0;f=0;j=h;h=k}if((b|0)==14)ig(13205,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){rd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];ig(13450,o)}rd(k,0,h,e);h=Hg(1,f,g)|0;if((h|0)<0)ig(13361,p);if((h|0)==(g|0)){ph(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ai(13396,q)}}else if((b|0)==28){ph(0)|0;ph(1)|0;Oh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;cg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)ig(13523,u);else if((b|0)==35){c[v>>2]=h;Ai(13538,v)}else if((b|0)==39){v=af(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ai(13568,w)}else if((b|0)==41)Da(13623,13176,242,13647);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2262]|0;v=af(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Eh(h,13666,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(13713,13176,396,13733);else if((b|0)==49)_a(0)}}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=dg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((dg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ni(m|0,l|0,-1,-1)|0;d=C;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;Xh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Xh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Ye(a,b,d)|0){b=ei()|0;if((b|0)>=0){if(($d(b,1)|0)<0){ph(b)|0;b=-1;break}b:do if((qf(b,d,16)|0)<0){n=xi()|0;d=c[n>>2]|0;if((d|0)!=115){w=qe(d)|0;c[e>>2]=d;c[e+4>>2]=w;gi(14591,e);ph(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Tf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=qe(d)|0;c[t>>2]=d;c[t+4>>2]=C;gi(14367,t);ph(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;gi(14499,u);ph(b)|0;e=23;break}c[r>>2]=4;do if((bf(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=qe(d)|0;c[w>>2]=d;c[w+4>>2]=C;gi(14455,w);ph(b)|0;break}}else{B=c[n>>2]|0;C=qe(B)|0;c[v>>2]=B;c[v+4>>2]=C;gi(14425,v);ph(b)|0}while(0)}while(0);b=-1;break a}while(0);if(($d(b,0)|0)<0){ph(b)|0;b=-1;break}if((yf(b,120)|0)<0){ph(b)|0;b=-1}}}else b=-1;else{gi(14247,x+24|0);b=-1}while(0);i=x;return b|0}function fc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,$f(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Xe(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(fc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(xi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;n=q;m=q+4|0;do if(!(a[b>>0]|0)){f=b+4|0;c[f>>2]=0;p=b+16|0;h=b+8|0;j=b+12|0;k=b+33|0;l=b+34|0;d=c[p>>2]|0;a:while(1){g=Rh(d)|0;c[f>>2]=g-(c[p>>2]|0)+(c[f>>2]|0);d=a[g>>0]|0;b:do if(!(d<<24>>24))o=14;else{if(!(d<<24>>24==47&(a[k>>0]|0)!=0))if(d<<24>>24==35&(a[l>>0]|0)!=0){o=14;break}else{j=d;o=18;break a}switch(a[g+1>>0]|0){case 47:{o=14;break b}case 42:break;default:{j=47;o=18;break a}}d=g+2|0;while(1){d=Tb(d,19032)|0;if(d|0)break;if(!(Zb(c[h>>2]|0,j,m)|0)){o=10;break a}d=c[j>>2]|0}d=d+2|0;c[p>>2]=d}while(0);if((o|0)==14){o=0;if(!(Zb(c[h>>2]|0,j,m)|0)){o=17;break}c[f>>2]=(c[f>>2]|0)+1;d=c[j>>2]|0;c[p>>2]=d}}if((o|0)==10){c[n>>2]=c[(c[h>>2]|0)+4>>2];Ai(19035,n)}else if((o|0)==17){a[b+1>>0]=1;e=0;break}else if((o|0)==18){c:do if(j<<24>>24==95|(Aj(j<<24>>24)|0)!=0){d=g;while(1){d=d+1|0;if(Aj(a[d>>0]|0)|0)continue;if((a[d>>0]|0)!=95){e=d;break}}}else{switch(j<<24>>24){case 39:case 34:break;default:{d=g+1|0;e=d;break c}}k=(a[b+32>>0]|0)==0;f=g+1|0;g=k?f:g;d=g+2|0;while(1){e=a[f>>0]|0;if(e<<24>>24==j<<24>>24){if((a[f+-1>>0]|0)!=92){o=29;break}if(f>>>0>=d>>>0?(a[f+-2>>0]|0)==92:0){o=29;break}}else if(!(e<<24>>24)){o=30;break}f=f+1|0}if((o|0)==29){d=f+1|0;e=d;h=f;d=j<<24>>24==0?f:d}else if((o|0)==30){e=f+1|0;h=f;d=f}e=k?h:e}while(0);c[p>>2]=d;f=e-g|0;d=b+28|0;if((f|0)<(c[d>>2]|0)){e=b+20|0;d=e;e=c[e>>2]|0}else{e=f+128|0;c[d>>2]=e;d=b+20|0;e=bj(c[d>>2]|0,0,e)|0;c[d>>2]=e}pe(e|0,g|0,f|0)|0;a[(c[d>>2]|0)+f>>0]=0;e=c[d>>2]|0;break}}else{a[b>>0]=0;e=c[b+20>>2]|0}while(0);i=q;return e|0}function hc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;B=i;i=i+32|0;A=B+16|0;z=B+12|0;y=B+8|0;x=B+4|0;w=B;c[A>>2]=0;h=b+8|0;t=c[h>>2]|0;r=a+24|0;Pf(t,c[r>>2]|0,c[r+4>>2]|0);h=Vc(c[b+4>>2]|0,c[h>>2]|0)|0;c[z>>2]=h;h=Wf(h,d,e,f)|0;c[y>>2]=h;r=b+80|0;a=c[r>>2]|0;if(!a)s=0;else s=ne(a)|0;q=(s|0)==0;p=b+16|0;a=h;a:while(1){if(!a){a=24;break}Ce(a,x,w);o=a+8|0;l=c[o>>2]|0;o=c[o+4>>2]|0;m=c[x>>2]|0;k=m+8|0;m=m+16|0;n=c[m>>2]|0;m=c[m+4>>2]|0;k=Xh(c[k>>2]|0,c[k+4>>2]|0,l|0,o|0)|0;m=ni(k|0,C|0,n|0,m|0)|0;n=C;Pf(t,l,o);o=ne(m)|0;Pe(t,o,m,n);n=o;while(1){if((a|0)==(c[w>>2]|0))break;m=a+16|0;h=c[m>>2]|0;if(q){l=n+h|0;h=n}else{l=s+(jf(n,h,s,c[r>>2]|0)|0)|0;h=s}b=l-h|0;if(b&31|0){a=11;break a}k=(b|0)/32|0;j=0;while(1){if((j|0)>=(k|0))break;b=h+32|0;if(c[p>>2]|0){c[h>>2]=Zj(c[h>>2]|0)|0;D=h+4|0;c[D>>2]=Zj(c[D>>2]|0)|0;D=h+8|0;c[D>>2]=Zj(c[D>>2]|0)|0;D=h+12|0;c[D>>2]=Zj(c[D>>2]|0)|0;D=h+16|0;g[D>>2]=+Ph(+g[D>>2]);D=h+20|0;g[D>>2]=+Ph(+g[D>>2]);D=h+24|0;g[D>>2]=+Ph(+g[D>>2]);D=h+28|0;g[D>>2]=+Ph(+g[D>>2])}if((c[h>>2]|0)==(d|0)?(u=h+4|0,E=c[u>>2]|0,v=h+8|0,D=c[v>>2]|0,((E>>>0>e>>>0?E:e)|0)<((D>>>0<f>>>0?D:f)|0)):0){E=je(48)|0;c[E+4>>2]=c[h>>2];c[E+8>>2]=c[u>>2];c[E+12>>2]=c[v>>2];c[E+16>>2]=c[h+12>>2];c[E+20>>2]=c[h+16>>2];c[E+24>>2]=c[h+20>>2];c[E+28>>2]=c[h+24>>2];c[E+32>>2]=c[h+28>>2];c[E>>2]=c[A>>2];c[A>>2]=E}h=b;j=j+1|0}if((h|0)!=(l|0)){a=21;break a}a=c[a>>2]|0;n=n+(c[m>>2]|0)|0}Sj(o)}if((a|0)==11)Da(22747,22643,412,22773);else if((a|0)==21)Da(22794,22643,433,22773);else if((a|0)==24){Sj(s);Nh(y);hk(z);Xg(A);i=B;return c[A>>2]|0}return 0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,14651)|0))e=nf(b,0,r)|0;else{if((Gg(20342,b)|0)==0?(Gg(20350,b)|0)==0:0){if(!(Gg(20359,b)|0)){c[g>>2]=b;Ai(15846,g)}nc(b,o);if(vf(o,22e3)|0){c[f>>2]=b;Ai(15509,f)}b=o+4112|0;g=td(b,Td(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(vi(g,15556,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,mh(m,256,15563,j)|0,(vi(g,m,0,0)|0)==0):0){ph(g)|0;e=-1;break}j=o+6176|0;s=(a[(Wd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?15575:15580;c[k+4>>2]=j;mh(m,256,15585,k)|0;oj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Fi(j,40)|0;a[(Fi(j,41)|0)>>0]=0;if((Ne(s+1|0,15593,k,7)|0)!=6)Ai(15595,h);f=(Td(c[k+16>>2]|0)|0)<<8;f=ec(b,(Td(c[k+20>>2]|0)|0)+f|0)|0;Ci(l);if((f|0)<0){ph(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((vd(f,1e6)|0)>0){b=26;break}if((vd(g,0)|0)>0?(Bc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;gi(15631,n);ph(g)|0;ph(f)|0;e=-1;break}else if((b|0)==24){ph(g)|0;ph(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}yd(c[2291]|0)|0;yd(c[2232]|0)|0;yd(c[2262]|0)|0;b=je(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;pe(b+20|0,o|0,10280)|0;f=b+4|0;if(Uh(f)|0){c[p>>2]=qe(c[(xi()|0)>>2]|0)|0;Ai(15696,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=qe(b)|0;c[q>>2]=b;c[q+4>>2]=s;Ai(15800,q)}}}else{ph(g)|0;e=-1}while(0)}break}e=Yi(b,15490,0)|0}while(0);i=r;return e|0}function jc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Qh(d|0,m|0,52)|0;e=e&2047;j=Qh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Lh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Lh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Lh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Lh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Lh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Lh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Lh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Lh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Xh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Xh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=ni(d|0,f|0,0,-1048576)|0;d=C;e=Lh(e|0,0,52)|0;d=d|C;e=o|e}else{e=Qh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function kc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+32|0;D=G+24|0;B=G+20|0;z=G+16|0;y=G+12|0;x=G+8|0;E=G+4|0;A=G;c[D>>2]=0;lg(a);h=Oe(a,c[a+96>>2]|0,b,d|0?d+-1|0:0,e+1|0,B)|0;c[z>>2]=h;w=c[a+8>>2]|0;v=c[a+16>>2]|0;u=a+80|0;b=c[u>>2]|0;if(!b)t=0;else{t=ne(b)|0;h=c[z>>2]|0}c[E>>2]=0;a:do if(h|0){q=(t|0)==0;r=(f|0)<1;s=(f|0)>0;b=0;do{Ce(h,y,x);n=h+8|0;m=c[n>>2]|0;n=c[n+4>>2]|0;o=c[y>>2]|0;l=o+8|0;o=o+16|0;p=c[o>>2]|0;o=c[o+4>>2]|0;l=Xh(c[l>>2]|0,c[l+4>>2]|0,m|0,n|0)|0;o=ni(l|0,C|0,p|0,o|0)|0;p=C;Pf(w,m,n);n=ne(o)|0;c[E>>2]=n;Pe(w,n,o,p);p=c[E>>2]|0;while(1){if((h|0)==(c[x>>2]|0))break;o=h+16|0;a=c[o>>2]|0;if(q){c[A>>2]=p;j=p;n=p+a|0}else{c[A>>2]=t;n=jf(p,a,t,c[u>>2]|0)|0;m=c[A>>2]|0;j=m;n=m+n|0}l=b;b:while(1){if(j>>>0>=n>>>0){b=l;break}a=zg(A,v)|0;j=zg(A,v)|0;k=zg(A,v)|0;b=c[A>>2]|0;m=Wd(b)|0;do if((a|0)==(c[B>>2]|0)){if(!(j>>>0<e>>>0&k>>>0>d>>>0)){if((j|0)!=(k|0)){a=b;b=l;break}if(!((j|0)==(e|0)|(j|0)==(d|0))){a=b;b=l;break}}b=l+1|0;if(!(r|(l|0)<(f|0)))break b;a=Ef(g,20)|0;c[a+4>>2]=j;c[a+8>>2]=k;if((m|0)>0)c[a+12>>2]=Zh(g,c[A>>2]|0,m)|0;c[a+16>>2]=c[B>>2];c[a>>2]=c[D>>2];c[D>>2]=a;a=c[A>>2]|0}else{a=b;b=l}while(0);j=a+(m+1)|0;c[A>>2]=j;l=b}if(s&(b|0)>(f|0)){F=22;break}h=c[h>>2]|0;p=p+(c[o>>2]|0)|0}if((F|0)==22)F=0;if(s&(b|0)>(f|0))break a;Pi(E)}while((h|0)!=0)}while(0);Pi(E);Sj(t);Nh(z);Xg(D);i=G;return c[D>>2]|0}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;nc(b,h);if(vf(h,22e3)|0){c[g>>2]=b;Ai(14775,g)}b=h+6176|0;if(vf(b,21533)|0){p=td(h+4112|0,Td(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;mh(k,256,14933,q)|0;c[t>>2]=0;do if(vi(p,k,t,0)|0){if((Ne(c[(c[t>>2]|0)+4>>2]|0,14667,l,3)|0)!=2)Ai(14943,j);n=l+4|0;j=sd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Ci(t);c[s>>2]=b;mh(k,256,14979,s)|0;if(!(vi(p,k,t,0)|0)){ph(p)|0;f=0;break}b=Ne(c[(c[t>>2]|0)+4>>2]|0,14667,l,3)|0;if((b|0)!=2){c[m>>2]=b;Ai(14989,m)}j=c[n>>2]|0;if((Wd(j)|0)>>>0<14){c[o>>2]=j;Ai(15031,o)}b=s;g=15080;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,15100,q|0)|0)){c[r>>2]=s;Ai(15118,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Ai(15151,u)}else{c[e>>2]=b;Ci(t);ph(p)|0;f=1;break}}else{ph(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Wd(b)|0)>>>0>4095){c[e>>2]=b;Ai(14632,e)}Kj(f,b)|0;yi(f)|0;b=Tb(f,14651)|0;if(!b){a[d>>0]=a[20727]|0;a[d+1>>0]=a[20728]|0;a[d+2>>0]=a[20729]|0;a[d+3>>0]=a[20730]|0;a[d+4>>0]=a[20731]|0}else{a[b>>0]=0;Ch(f)|0;Jf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Fi(f,47)|0;if(g){Ze(g,b,e,1);if(!((Af(d,20727)|0)!=0?(Af(d,21994)|0)!=0:0)){e=Qd(g,14667,14669)|0;Jf(d+6176|0,4096,e);Sj(e)}a[g>>0]=0;if(!(Af(d,22e3)|0)){g=g+1|0;Vd(g,d+6176|0,Wd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Fi(f,64)|0;if(!g){if(!((Af(d,20727)|0)!=0?(Af(d,21994)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Af(d,22e3)|0)){b=d+16|0;e=14673;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=14683;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Fi(f,58)|0;if(!b){e=d+16|0;Jf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Jf(e,2048,f);f=d+2064|0;Jf(f,2048,b+1|0);b=f}Fd(e,e,Wd(e)|0);Fd(b,b,Wd(b)|0);f=g+1|0}b=Fi(f,58)|0;do if(!b){if(!(Af(d,20727)|0)){h=d+6160|0;a[h>>0]=a[14701]|0;a[h+1>>0]=a[14702]|0;a[h+2>>0]=a[14703]|0}if(!(Af(d,21994)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Af(d,22e3)|0)){h=d+6160|0;a[h>>0]=a[14704]|0;a[h+1>>0]=a[14705]|0;a[h+2>>0]=a[14706]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Jf(d+6160|0,16,e);break}else{c[h>>2]=e;Ai(14707,h)}}while(0);Jf(d+4112|0,2048,f);i=j;return}function oc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[736+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[736+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function pc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Pf(t,f,g);Pe(t,s,1,0);Pe(t,w+32|0,1,0);u=c[b+12>>2]|0;v=Ng(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;Th(3,17470,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=Mg(t,u)|0;c[p+(f<<2)>>2]=Mg(t,u)|0;c[q+(f<<2)>>2]=Mg(t,u)|0;c[r+(f<<2)>>2]=Mg(t,u)|0;g=Qf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(of(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;pc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=Mg(t,u)|0;s=Mg(t,u)|0;e=Mg(t,u)|0;b=Mg(t,u)|0;f=Qf(t,u)|0;g=C;m=Qf(t,u)|0;n=C;if(of(h,j,k,r,s,e,b)|0){b=je(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function qc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ji(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ji(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Ji(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Ji(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=Ji(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ji(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ji(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function rc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=di(512)|0;nc(b,s);h=ab(15270)|0;p=(h|0)!=0;if(p){nc(h,q);pe(r|0,q|0,10280)|0;h=ef(r,b)|0}else{pe(r|0,s|0,10280)|0;h=ef(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=si(b)|0;j=uj(b,59)|0;if((j|0)!=0?(Gg(14655,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Fh(k,15281,l);Sj(b);c[m>>2]=f;Fh(k,15292,m);if((vf(s,20727)|0)==0?(vf(14701,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((vf(s,21994)|0)==0?(vf(14736,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Fh(k,15320,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Fh(k,15309,n)}b=c[t>>2]|0;pe(r|0,s|0,10280)|0;xe(r,15334,b);if(p){pe(r|0,q|0,10280)|0;xe(r,15348,b);k=c[t>>2]|0}else k=b;pj(k,15368);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Fh(k,15407,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Fh(k,15382,u);break}}while(0);if(g|0)pj(c[t>>2]|0,g);v=c[t>>2]|0;pj(v,15428);lf(h,c[v+4>>2]|0,c[v+12>>2]|0);Ci(t)}i=w;return h|0}function sc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=je(120)|0;c[l+4>>2]=si(a)|0;m=Qg(a,wk()|0)|0;c[l+8>>2]=m;Pe(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Zj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Ai(22623,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=Ng(m,n)|0;g=l+26|0;b[g>>1]=Ng(m,n)|0;h=Qf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Qf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Qf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=Ng(m,n)|0;b[l+58>>1]=Ng(m,n)|0;j=Qf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Qf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Mg(m,n)|0;j=Qf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=je(32)|0;c[j+4>>2]=Mg(m,n)|0;c[j+8>>2]=Mg(m,n)|0;p=Qf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Qf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Xg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Pf(m,g,h);b[l+104>>1]=Ng(m,n)|0;b[l+106>>1]=Ng(m,n)|0;p=Qf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Pf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=kd(a,m)|0;i=o;return l|0}function tc(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 uc(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;d=a+4|0;e=c[d>>2]|0;do if(e){i=c[a+12>>2]|0;k=c[a+16>>2]|0;j=0;while(1){g=j+1|0;h=k+(j<<2)|0;c[h>>2]=e;d=e+12|0;f=Hb[i&7](b,c[d>>2]|0)|0;if((f|0)<0){e=c[e>>2]|0;if(!e){d=h;f=j;g=5;break}else{j=g;continue}}if((f|0)<=0){g=9;break}e=c[e+4>>2]|0;if(!e){d=h;f=j;g=8;break}else j=g}if((g|0)==5){e=c[d>>2]|0;d=e;i=0;h=f;g=10;break}else if((g|0)==8){e=c[d>>2]|0;d=e+4|0;i=0;h=f;g=10;break}else if((g|0)==9){d=c[d>>2]|0;break}}else{i=1;e=0;k=0;h=0;g=10}while(0);a:do if((g|0)==10){f=a+24|0;g=c[f>>2]|0;if(!g)g=Ef(c[a+20>>2]|0,16)|0;else c[f>>2]=c[g+4>>2];c[g+4>>2]=0;c[g>>2]=0;c[g+12>>2]=b;c[g+8>>2]=i;c[d>>2]=g;b=a+8|0;c[b>>2]=(c[b>>2]|0)+1;if((h|0)>0){j=h;d=g;while(1){i=e+8|0;if(c[i>>2]|0){d=0;break a}g=j+-1|0;f=c[k+(g<<2)>>2]|0;h=c[f>>2]|0;if((e|0)==(h|0))h=c[f+4>>2]|0;if(!h)break;h=h+8|0;if((c[h>>2]|0)==1)break;c[i>>2]=1;c[h>>2]=1;if(!g){d=0;break a}c[f+8>>2]=0;d=j+-2|0;e=c[k+(d<<2)>>2]|0;j=d;d=f}d=_c(a,g,f,e,d)|0;c[d+8>>2]=1;c[(c[d+4>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+8>>2]=0;d=0}else d=0}while(0);return d|0}function vc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Zg(f|0,b|0,10,0)|0;f=C;e=ni(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ni(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Xh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[j+4>>2]=b;c[j+8>>2]=d;j=df(a,j)|0;do if(j){e=j+4|0;f=c[e>>2]|0;if((f|0)<=(b|0)?(h=j+8|0,g=c[h>>2]|0,(g|0)>=(d|0)):0){if((f|0)<(b|0)){g=Ef(c[a+20>>2]|0,16)|0;c[g+4>>2]=c[e>>2];c[g+8>>2]=b;c[g+12>>2]=c[j+12>>2];c[e>>2]=b;uc(a,g)|0;b=c[h>>2]|0}else b=g;if((b|0)>(d|0)){g=Ef(c[a+20>>2]|0,16)|0;c[g+4>>2]=d;c[g+8>>2]=c[h>>2];b=j+12|0;c[g+12>>2]=c[b>>2];c[h>>2]=d;uc(a,g)|0}else b=j+12|0;c[b>>2]=(c[b>>2]|0)+1;break}h=a+20|0;g=sg(a,b,d)|0;while(1){if(!g)break;e=g+4|0;f=c[e>>2]|0;if((b|0)>=(f|0)){if((b|0)>(f|0)){j=Ef(c[h>>2]|0,16)|0;c[j+4>>2]=c[e>>2];c[j+8>>2]=b;c[j+12>>2]=c[g+12>>2];c[e>>2]=b;uc(a,j)|0}}else{j=Ef(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=c[e>>2];c[j+12>>2]=rk(1)|0;uc(a,j)|0}b=g+12|0;c[b>>2]=(c[b>>2]|0)+1;b=c[g+8>>2]|0;g=c[g>>2]|0}if((b|0)<(d|0)){j=Ef(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=rk(1)|0;uc(a,j)|0}}else{j=Ef(c[a+20>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=rk(1)|0;uc(a,j)|0}while(0);i=k;return}function xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Th(4,20803,p);f=b+36|0;e=0;while(1){d=ve(0,1)|0;c[p>>2]=d;d=Ej(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=fi(c[p>>2]|0,20889)|0;c[f>>2]=si(d)|0;d=re(a,d)|0;Zd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;gi(20836,g);n=0}else if((h|0)==7){d=fi(c[p>>2]|0,20899)|0;do if(!d){d=Fe(a)|0;e=C;if((e|0)<0){Zd(p);c[j>>2]=a;Ai(20915,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=sd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=fi(c[p>>2]|0,20982)|0;if(!d){d=fi(c[p>>2]|0,20997)|0;if(!d){Zd(p);c[m>>2]=a;Ai(21003,m)}else o=d}else o=d;if(!(Ua(o|0,21078,k|0)|0)){Zd(p);c[l>>2]=o;Ai(21103,l)}d=Gf(k)|0;if((d|0)==-1){Zd(p);c[q>>2]=o;Ai(21145,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Zd(p);n=200;break}}while(0);i=r;return n|0}function yc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Pf(c[t>>2]|0,d,e);Pe(c[t>>2]|0,o,1,0);Pe(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=Ng(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Pe(c[t>>2]|0,r,q,h);e=Qf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=_e(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Pe(c[t>>2]|0,r,q,h);e=Qf(c[t>>2]|0,p)|0;d=C;j=_e(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=hj(c[t>>2]|0)|0;m=C;yc(b,k,l,f,g);Pf(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}yc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Pe(c[t>>2]|0,r,q,d);Pe(c[t>>2]|0,j,c[h>>2]|0,0);if(!(_e(f,r,q)|0))oi(g,Ki(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function zc(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[6532]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ji(yb(146,n|0)|0)|0}else{xa(2,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ji(yb(146,m|0)|0)|0;la(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 Ac(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Oc(25724,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Fi(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Fi(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6533]|0))c[e+76>>2]=-1;mb(26156);f=c[6538]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6538]=e;eb(26156)}}else{c[(xi()|0)>>2]=22;e=0}i=o;return e|0}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=di(4096)|0;while(1){if((vd(b,1e6)|0)<=0){j=3;break}g=Ig(b,m,4096)|0;if(g){pf(c[o>>2]|0,m,g);if(!(Jh(c[(c[o>>2]|0)+4>>2]|0,14859)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Wd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Wd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;gi(14815,n);g=0}else if((j|0)==18){g=Td(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;gi(14861,p);g=0;break}if(!e)Ci(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Cc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?26176:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9280+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(xi()|0)>>2]=84;f=-1}i=l;return f|0}function Dc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Ig(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=ni(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Xh(1,0,g|0,e|0)|0;b=ni(b|0,C|0,d|0,h|0)|0}r=(Hg(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=ni(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=ni(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Zf(15744,l);if((b|0)==-1)Zf(15775,o);ph(c[m>>2]|0)|0;ph(c[a+12>>2]|0)|0;ph(c[n>>2]|0)|0;i=q;return 0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=nf(a,2,h)|0;if((e|0)<0)if((c[(xi()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;ig(22054,d)}else{Ee(e,h)|0;if((c[h+36>>2]|0)<64){ph(e)|0;b=0}else{Od(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Zj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Ai(22077,j)}}else f=0;b=je(56)|0;c[b+4>>2]=Kg(e,f)|0;g=Nf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Nf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Kg(e,f)|0;Kg(e,f)|0;Nf(e,f)|0;Nf(e,f)|0;Nf(e,f)|0;Nf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Ld(b);break}if((ph(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Ai(13901,k)}}else{if(!(c[a+20>>2]&2)){if($g(d)|0){c[f>>2]=c[a+12>>2];Ai(13870,f)}}else{yd(d)|0;if($g(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Ai(13840,e)}}if((ye(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Ai(13901,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)ig(13523,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Ai(13931,l)}if(b|0)Da(13972,13176,435,13990);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Ai(14006,m)}i=n;return d>>>8&255|0}function Gc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=yk(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)xk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Hc(a,b,d,e,f,g,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;p=q;o=Si(j*40|0)|0;n=_b(a,b,d,e,f,j,o)|0;a:do if(n|0){m=+(j|0)/+((e-d|0)>>>0);f=0;b:while(1){if((f|0)>=(j|0))break a;b=o+(f*40|0)|0;a=c[b>>2]|0;b=c[b+4>>2]|0;if(!((a|0)==0&(b|0)==0)){switch(g|0){case 0:{l=+h[o+(f*40|0)+24>>3]/(+(a>>>0)+4294967296.0*+(b>>>0));break}case 1:{l=+h[o+(f*40|0)+16>>3];break}case 2:{l=+h[o+(f*40|0)+8>>3];break}case 3:{l=m*(+(a>>>0)+4294967296.0*+(b>>>0));break}case 4:{l=+Ei(+h[o+(f*40|0)+24>>3],+h[o+(f*40|0)+32>>3],a,b);break}default:break b}h[k+(f<<3)>>3]=l}f=f+1|0}c[p>>2]=22643;c[p+4>>2]=695;Ai(22814,p)}while(0);Sj(o);i=q;return n|0}function Ic(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Pf(c[n>>2]|0,d,e);Pe(c[n>>2]|0,h,1,0);Pe(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Ng(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Pe(c[n>>2]|0,l,d,0);e=Qf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Pe(c[n>>2]|0,l,c[k>>2]|0,0);if((_e(f,l,c[k>>2]|0)|0)<0)break;e=Qf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Ic(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Pe(c[n>>2]|0,l,d,0);Pe(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(_e(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Jc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=si(26804)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Aj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=je(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Aj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;mh(h,4,12970,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Xe(b|0,0,e|0)|0;return b|0}function Lc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=di(512)|0;c[h>>2]=f;pj(f,b);pj(f,14651);d=b+16|0;if(a[d>>0]|0){d=Jc(d)|0;pj(f,d);Sj(d);d=b+2064|0;if(a[d>>0]|0){pj(f,14732);d=Jc(d)|0;pj(f,d);Sj(d)}pj(f,14734)}pj(f,b+4112|0);if(!((vf(b,22e3)|0)==0?!(vf(14704,b+6160|0)|0):0))e=7;do if((e|0)==7){if((vf(b,20727)|0)==0?(vf(14701,b+6160|0)|0)==0:0)break;d=b+6160|0;if((vf(b,21994)|0)==0?(vf(14736,d)|0)==0:0)break;pj(f,14732);pj(f,d)}while(0);pj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Fh(f,14740,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Fh(f,19575,k)}k=Ah(h)|0;i=l;return k|0}function Mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}ph(a)|0;if((h|0)>0)Sj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Gg(20342,f)|0)==0?(Gg(20350,f)|0)==0:0){g=11;break}f=re(g,f)|0;c[j>>2]=f;a=ic(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;gi(16495,k);g=14}else if((g|0)==11){c[l>>2]=f;gi(16549,l);g=14}else if((g|0)==13){c[m>>2]=f;gi(22348,m);g=14}if((g|0)==14)if((b|0)>0){Sj(f);b=0}else b=0;i=n;return b|0}function Nc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){pe(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;pe(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){pe(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Oc(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|0)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?b:0)|0}function Pc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ji(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(xi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ji(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;qc(e,2,j)|0}if(b&2048){c[h>>2]=qc(e,3,k)|0|2048;qc(e,4,h)|0}}}}while(0);i=l;return e|0}function Qc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+48|0;l=r+16|0;q=r+8|0;p=r;n=r+32|0;g=+Pj(12812,0);m=i;i=i+((1*(f<<3)|0)+15&-16)|0;j=0;while(1){if((j|0)>=(f|0))break;h[m+(j<<3)>>3]=g;j=j+1|0}j=Lj(a)|0;c[n>>2]=j;if(!(_h(j,b,d,e,Pd(c[2]|0)|0,f,m)|0)){c[l>>2]=b;c[l+4>>2]=d;c[l+8>>2]=e;c[l+12>>2]=a;Ai(12820,l)}else o=0;while(1){if((o|0)>=(f|0))break;g=+h[m+(o<<3)>>3];if(o|0)Wj(9)|0;s=+N(+g);h[k>>3]=s;l=c[k+4>>2]|0;if(l>>>0>2146435072|(l|0)==2146435072&(c[k>>2]|0)>>>0>0)Ih(12816,p)|0;else{h[q>>3]=g;Ih(19228,q)|0}o=o+1|0}Wj(10)|0;Bg(n);i=r;return}function Rc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6532]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ji(xb(145,h|0)|0)|0}else{xa(3,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ji(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Uc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(17340,17392,388,17404);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Si(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Xg(b);d=d+1|0}Sj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=je(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Pe(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=Zj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Ai(17426,j)}}else f=0;c[d+24>>2]=Mg(b,f)|0;j=Qf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=Mg(b,f)|0;c[d+44>>2]=Mg(b,f)|0;c[d+48>>2]=Mg(b,f)|0;c[d+52>>2]=Mg(b,f)|0;g=Qf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=Mg(b,f)|0;Pe(b,h,4,0);b=hj(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Wc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Th(4,21838,p);Tg(500);l=a+5|0;k=ld(l,21745)|0;c[p>>2]=k;Bj(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Tg(250);g=e-j|0;g=xf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Th(4,21891,m);if($g(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;gi(21913,o);c[n>>2]=l;ig(21797,n)}else if((g|0)==6){fj(p);i=q;return a|0}return 0}function Xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=je(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=di(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){pj(e,13104);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){pj(e,14667);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}pj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Ah(j)|0;if(!(c[a>>2]|0))Ai(13108,k);if(!(b&8))e=0;else{Mh(l,Le(44,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Mh(l,Le(d,l)|0);e=e+1|0}i=m;return l|0}function Yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=yk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;pe(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(le(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)xk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)xk(f);return e|0}function Zc(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(!(sf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);pe(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 _c(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;g=c[e>>2]|0;h=(g|0)==(f|0);do if((c[d>>2]|0)==(e|0))if(h){c[e>>2]=f;f=e+4|0;c[d>>2]=c[f>>2];c[f>>2]=d;break}else{c[e+4>>2]=c[f>>2];c[f>>2]=e;e=f+4|0;c[d>>2]=c[e>>2];c[e>>2]=d;e=f;break}else if(h){c[d+4>>2]=c[f>>2];c[f>>2]=d;h=f+4|0;c[e>>2]=c[h>>2];c[h>>2]=e;e=f;break}else{c[d+4>>2]=g;c[e>>2]=d;c[e+4>>2]=f;break}while(0);do if(b){g=c[(c[a+16>>2]|0)+(b+-1<<2)>>2]|0;if((c[g>>2]|0)==(d|0)){c[g>>2]=e;break}else{c[g+4>>2]=e;break}}else c[a+4>>2]=e;while(0);return e|0}function $c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;k=i;i=i+16|0;j=k+4|0;g=k;a=kc(a,b,d,e,0,f)|0;if(!a)a=0;else{b=uk()|0;c[j>>2]=b;while(1){if(!a)break;wc(b,c[a+4>>2]|0,c[a+8>>2]|0);a=c[a>>2]|0}b=$i(b)|0;c[g>>2]=0;a=0;while(1){if(!b)break;l=Ef(f,24)|0;m=c[b+4>>2]|0;c[l+4>>2]=m>>>0<d>>>0?d:m;m=c[b+8>>2]|0;c[l+8>>2]=m>>>0>e>>>0?e:m;h[l+16>>3]=+(vk(c[b+12>>2]|0)|0);c[l>>2]=a;c[g>>2]=l;a=l;b=c[b>>2]|0}Xg(g);Li(j);a=c[g>>2]|0}i=k;return a|0}function ad(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{pe(l|0,b|0,d|0)|0;Xe(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Ai(17948,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Ic(a,j,k,l,g)|0;else{yc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(cd(b,e<<24>>24)|0)-b|0;i=g;return e|0}function cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Wd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=je(16)|0;else l=Ef(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=qj(d,e)|0;else{k=Ef(h,e+1|0)|0;c[l+4>>2]=k;pe(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Uc(b,ri(m)|0);return l|0}function ed(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Dk()|0;pk(26024)|0;if((c[6513]|0)!=0&(a|0)==(c[6514]|0)){Hg(2,14030,61)|0;_a(1)}nk(26024)|0;pk(26060)|0;pk(26024)|0;c[6514]=a;c[6513]=1;nk(26024)|0;if(!(c[6522]|0))c[6522]=ve(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;mh(d,64,19575,b)|0;a=ff(c[6522]|0,d)|0;if(!a){a=je(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=dj(c[6522]|0,d,a)|0}pk(26024)|0;c[6513]=0;nk(26024)|0;nk(26060)|0;i=e;return c[a+8>>2]|0}function fd(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=di(Wd(f)|0)|0;c[j>>2]=g;h=f;f=Fi(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;pj(g,h);pj(g,21533);m=f+1|0;h=m;f=Fi(m,47)|0}pj(g,h);f=Ah(j)|0;j=Wd(d)|0;m=Wd(e)|0;m=j+3+m+(Wd(f)|0)|0;j=je(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;mh(j,m,21535,k)|0;c[b+44>>2]=hg(b,21544)|0;c[b+48>>2]=hg(b,21551)|0;c[b+52>>2]=hg(b,21562)|0}i=l;return}function gd(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Yi(b,d,0)|0;if((d|0)>-1){b=Lg(b,1,d)|0;c[h>>2]=b;a:do if((((Zb(b,g,0)|0)!=0?(Gg(15462,c[g>>2]|0)|0)!=0:0)?(Xf(g)|0,f=Xf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Td(f)|0;if(e)while(1){if(!(Zb(c[h>>2]|0,g,0)|0))break a;f=Xf(g)|0;if(!f)break a;b=Bh(f)|0;dj(e,b,si(Rh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Ld(h)}else d=c[(xi()|0)>>2]|0;i=j;return d|0}function id(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=bg(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function jd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9484;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(xi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Gc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=je(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Pe(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Zj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Ai(17909,j)}}else f=0;c[d+12>>2]=Mg(b,f)|0;c[d+16>>2]=Mg(b,f)|0;c[d+20>>2]=Mg(b,f)|0;g=Qf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Pe(b,h,4,0);Pe(b,h,4,0);b=hj(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function ld(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(vf(b,20269)|0){if(!(vf(b,16737)|0)){f=c[2232]|0;break}e=ce(b,d)|0;if(!e){a:do if(!d)e=26804;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=16765;break a}case 119:{e=16755;break a}default:{e=e<<24>>24==97?16744:26804;break a}}}while(0);d=qe(c[(xi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ai(16774,g)}else f=e}else f=c[2291]|0;while(0);i=h;return f|0}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;ud(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=je(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;fd(a,b,h,d);c[e>>2]=0;b=a+44|0;j=Yh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=Yh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=Yh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Xg(e);Sj(c[a+40>>2]|0);Sj(c[b>>2]|0);Sj(c[f>>2]|0);Sj(a);Sj(h);Sj(d);d=c[e>>2]|0}i=g;return d|0}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(hf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ek(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;lk(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;gi(16651,f);b=0;break}}else{uf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function od(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=je(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[22509+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[22509+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[22509+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[22509+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function pd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18956+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18956+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;e=g;d=g+12|0;c[d>>2]=a;ji(d,b,12);Nj(ag(12905,wk()|0)|0);do if(!(Yj(12912)|0)){c[2]=ag(12919,c[2]|0)|0;if((c[d>>2]|0)==6){d=c[b+4>>2]|0;a=c[b+8>>2]|0;e=ti(c[b+12>>2]|0)|0;f=ti(c[b+16>>2]|0)|0;Qc(d,a,e,f,ti(c[b+20>>2]|0)|0);break}else Ai(12094,f)}else if((c[d>>2]|0)<2)Ai(12094,e);else{_d(c[b+4>>2]|0);break}while(0);if((zk()|0)>1)Bd();i=g;return 0}function rd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))ig(13249,k);l=Hi()|0;if(eh(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Hi()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;ig(13272,f)}if(b|0?(og(b,0)|0)<0:0)ig(13299,g);if((d|0)!=1?(og(d,1)|0)<0:0)ig(13319,h);if((e|0)!=2?(og(e,2)|0)<0:0)ig(13340,j);Oh();i=k;return}function sd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Hj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Zg(c|0,d|0,10,0)|0;b=b+1|0;c=Xh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Xh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function td(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=ec(a,b)|0;if((a|0)<0)a=-1;else{if((vd(a,1e6)|0)>0)vi(a,26804,0,0)|0;c[g>>2]=0;c[h>>2]=d;mh(f,256,14904,h)|0;do if(vi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,mh(f,256,14914,j)|0,(vi(a,f,0,0)|0)==0):0){ph(a)|0;a=-1;break}if(!(vi(a,14924,0,0)|0)){ph(a)|0;a=-1}}else{ph(a)|0;a=-1}while(0)}i=k;return a|0}function ud(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Fi(b,58)|0;if(!h)h=0;else{m=qj(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Fi(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){Be(l,1024,b,k+1-b|0);c[g>>2]=Rd(l)|0}j=Fi(b,47)|0;if(!j)j=b+(Wd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Rd(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Tf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(xi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=qe(a)|0;gi(14757,m)}i=n;return a|0}function wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=nf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=je(5)|0;c[g>>2]=f;if((Ig(e,f,4)|0)<4)Pi(g);else a[f+4>>0]=0;ph(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=fe(e)|0,Pi(h),(g|0)!=0):0){h=Rg(Te(b)|0,33,b,0)|0;e=Lg(b,d,ck(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function xd(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Tc(g,22835,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=se(g)|0;i=j;return h|0}se(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function yd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ee(a)|0;break}d=(yk(a)|0)==0;b=ee(a)|0;if(!d)xk(a)}else{if(!(c[2261]|0))b=0;else b=yd(c[2261]|0)|0;mb(26156);a=c[6538]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=yk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ee(a)|0|b;if(d|0)xk(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(26156)}while(0);return b|0}function zd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=eg(e,0)|0;c[n>>2]=g;Dg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=eg(d,e)|0;else if(!f){e=nf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;ig(13809,k)}else j=e}else j=0;c[m>>2]=j;e=Cf(a,b,j,g)|0;gg(m);if(!l)gg(n);i=o;return e|0}function Ad(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[(xi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Bd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Hi()|0;c[g>>2]=f;mh(a,256,18708,g)|0;d=kf(a,1)|0;c[g>>2]=d;if(!d){j=c[2262]|0;c[b>>2]=a;Eh(j,18745,b)|0;a=j}else{while(1){if(!(ug(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,18724)|0){j=5;break}}if((j|0)==5){j=c[2262]|0;c[h>>2]=f;c[h+4>>2]=a;Eh(j,18731,h)|0}Ld(g);a=c[2262]|0}yd(a)|0;i=k;return}function Cd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=ne(k)|0;pe(j|0,d|0,e|0)|0;Sj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=si(d)|0;Sj(c);c=l}i=h;return c|0}function Dd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Th(4,21604,j);h=Ve(a)|0;n=ld(h,21745)|0;c[j>>2]=n;Bj(n,b,0)|0;a=xf(g+256|0,f,e,n)|0;if(!($g(n)|0)){fj(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;gi(21748,k);c[l>>2]=h;ig(21797,l)}return 0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Th(4,21223,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(mc(a,f,e)|0){a=Gf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Ai(21255,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function Fd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Hh(f,12966,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Gd(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;Xe(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){Zc(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;Zc(h,f,a)|0}while(0);i=j;return}function Hd(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(!(sf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Id(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Gh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=jd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Gh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Jd(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(li(b)|0)){c=(Wd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Kj(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Fi(b,47)|0;if(!b){fg(e)|0;b=0;continue}else{a[b>>0]=0;fg(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(yk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Hd(d,b)|0;xk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Hd(d,b)|0}while(0);return e|0}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Di(c[2291]|0)|0):0){ph(c[d>>2]|0)|0;Sj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)bc(d)}else ii(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Cb[d&3](f);Sj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Zd(g);Pi(b)}return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;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=Xh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,Xh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Xh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(vf(a,20269)|0)if(vf(a,16737)|0){c[d>>2]=436;d=nf(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?16765:16744;else d=16755;else d=16918;else d=16894;c[f>>2]=a;c[f+4>>2]=d;ig(16929,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Od(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Ig(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;ig(16957,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ai(16982,g)}else if((d|0)==8){i=h;return}}function Pd(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Af(a,22658)|0)!=0?(Af(a,22663)|0)!=0:0)if((Af(a,22671)|0)!=0?(Af(a,22675)|0)!=0:0)if((Af(a,22683)|0)!=0?(Af(a,22687)|0)!=0:0)if((Af(a,22695)|0)!=0?(Af(a,22704)|0)!=0:0)if(!(Af(a,22717)|0))b=4;else{c[d>>2]=a;Ai(22721,d)}else b=3;else b=2;else b=1;else b=0;i=e;return b|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Wd(b)|0;h=Wd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Wd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=je((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Kj(d,e)|0;j=a+g|0;i=d+(a-e)|0;Kj(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Kj(d,e)|0;return f|0}function Rd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(yg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=je(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(yg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;Dh(g,21527,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Sd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Lh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Td(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Hj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Vd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Hh(f,12966,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Wd(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 Xd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Qh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Xd(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 Yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(ff(c[e>>2]|0,d)|0)){dj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Eh(g,20275,h)|0}}}while(0);i=j;return}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Fj(d);d=g}e=e+1|0}}else{zi(b);b=d+8|0}while(0);Sj(c[b>>2]|0);Pi(a)}return}function _d(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;b=d+8|0;f=d;a=Lj(a)|0;g=e[a+56>>1]|0;c[f>>2]=e[a+58>>1];c[f+4>>2]=g;Ih(12854,f)|0;a=oh(a)|0;a:do if(!a)Ie(12924)|0;else{a=a+12|0;while(1){a=c[a>>2]|0;if(!a)break a;g=c[a+8>>2]|0;c[b>>2]=c[a+4>>2];c[b+4>>2]=g;Ih(12897,b)|0}}while(0);i=d;return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=qc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((qc(a,4,f)|0)<0){c[g>>2]=qe(c[(xi()|0)>>2]|0)|0;gi(14336,g);d=-1}else d=0}else{c[e>>2]=qe(c[(xi()|0)>>2]|0)|0;gi(14305,e);d=-1}i=h;return d|0}function ae(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=26007;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function be(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18964+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18972+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18972+f>>0]}while(0);return}function ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Oc(25724,a[d>>0]|0,4)|0){h=Kf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ji(jb(5,e|0)|0)|0;if((e|0)>=0){b=Ac(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(xi()|0)>>2]=22;b=0}i=g;return b|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ai(17659,d)}d=Oj(a,b)|0;if(!d){g=c[(xi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ai(17723,e)}else{i=f;return d|0}return 0}function ee(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Gg(20141,a)|0))if(!(Gg(20144,a)|0))if(!(Gg(20148,a)|0))if(!(Gg(20151,a)|0))a=0;else{a=20156;e=5}else{a=20160;e=5}else{a=20164;e=5}else{a=20166;e=5}if((e|0)==5){c[d>>2]=a;mh(b,20,20169,d)|0;a=si(b)|0}i=f;return a|0}function ge(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=Xh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Xh((dc(h,g,Xh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function he(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;jg(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ie(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=Og(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ti(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 je(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ai(17795,b)}b=jk(a)|0;if(!b){f=c[(xi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ai(17848,d)}else{Xe(b|0,0,a|0)|0;i=e;return b|0}return 0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(li(a)|0)){d=ce(a,19212)|0;c[b>>2]=d;if(!d){a=0;break}else{fj(b);a=1;break}}else{f=wi()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;gi(19182,d);a=0;break}}while(0);i=e;return a|0}function le(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function me(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18896;break}case 2:{a=18875;break}case -1:{a=18864;break}case -2:{a=18848;break}case -3:{a=18848;break}case -4:{a=18833;break}case -5:{a=18818;break}case -6:{a=18799;break}case 0:{a=0;break}default:{c[b>>2]=a;mh(26676,128,18780,b)|0;a=26676}}i=d;return a|0}function ne(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ai(17535,b)}b=jk(a)|0;if(!b){f=c[(xi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ai(17593,d)}else{i=e;return b|0}return 0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(xi()|0)>>2]=12;a=0;return a|0}d=ac(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;pe(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 qe(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[23792+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=23880;e=5;break}}if((e|0)==2)if(!c)b=23880;else{b=23880;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 re(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;nc(b,g);nc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Jf(e,2048,d);Jf(f+2064|0,2048,g+2064|0)}g=Lc(f)|0;i=h;return g|0}function se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Db[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Db[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function te(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ue(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ai(16579,k)}else{c[j>>2]=e;Ri(d,j)}return 0}function ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=je(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(17340,17392,357,17415);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=rh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Si(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function we(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;jg(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function xe(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;mh(h,256,15249,j)|0;j=od(h,Wd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Fh(e,15255,k);Pi(g)}i=l;return}function ye(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(26156);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6538]|0)==(a|0))c[6538]=b;eb(26156)}b=yd(a)|0;b=Fb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function ze(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=Lf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=17159;else e=(d|0)==2?17118:17127;else e=17150;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;ig(17168,g);return 0}function Ae(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;d=c[e>>2]|0;if(((vf(d,19760)|0)!=0?(vf(d,19768)|0)!=0:0)?(vf(d,19775)|0)!=0:0)d=0;else{d=je(12)|0;c[d+4>>2]=si(c[e>>2]|0)|0;uh(b)|0;if((a[c[e>>2]>>0]|0)==91){uh(b)|0;c[d+8>>2]=cf(b)|0;uh(b)|0;Rf(b,19781)}}return d|0}function Be(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Ai(17283,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;kj(b,e,f)|0;a[b+g>>0]=0;i=j;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=ni(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f;if((b|0)<0){c[d>>2]=b;Ai(22574,d)}a:do if((b|0)<2)d=0;else{e=1073741823;d=0;while(1){if(!a)break a;h=b-(c[a+4>>2]|0)|0;g=(h|0)>-1&(h|0)<(e|0);e=g?h:e;d=g?a:d;a=c[a>>2]|0}}while(0);i=f;return d|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){ae(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Ji(Pa(195,f|0)|0)|0}else d=Ji(d)|0;i=g;return d|0}function Fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;mh(g,4096,15473,e)|0;a=ve(0,1)|0;c[e>>2]=a;if(((hd(g,15490,a)|0)==206?(b=fi(a,15494)|0,(b|0)!=0):0)?(d=Fi(b,47)|0,(d|0)!=0):0){b=sd(d+1|0)|0;a=C}else{a=-1;b=-1}Zd(e);C=a;i=f;return b|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0;d=wi()|0;a=md(a,(b|0)==0?c[183]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Jh(e,21544)|0){if(!(li(e)|0))break a;if((Pg(e)|0)>>>0<b>>>0)b=Pg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function He(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;d=g;e=2;f=0;c=0;while(1){if((f|0)>=(e|0)){j=e<<1;h=ne(j)|0;pe(h|0,d|0,e|0)|0;Sj(c);d=h;e=j;c=h}j=hi(b)|0;a[d+f>>0]=j;if(!(j&255))break;else f=f+1|0}j=si(d)|0;Sj(c);i=g;return j|0}function Ie(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2232]|0;if((c[f+76>>2]|0)>-1)g=yk(f)|0;else g=0;do if((yj(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=(Hd(f,10)|0)<0}while(0);if(g|0)xk(f);return d<<31>>31|0}function Je(a){a=a|0;var b=0,d=0,e=0;while(1){if(!a)break;b=a+12|0;e=Hb[c[6526]&7](c[b>>2]|0,c[6524]|0)|0;d=Hb[c[6526]&7](c[b>>2]|0,c[6525]|0)|0;if((e|0)<=-1){if((d|0)>=1)break}else{Je(c[a>>2]|0);if((d|0)>=1)break;Cb[c[6523]&3](c[b>>2]|0)}a=c[a+4>>2]|0}return}function Ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Sj(e);f=f+1|0}Sj(b);Sj(i);i=h}Pi(g+12|0);Pi(g+28|0);Pi(a)}return}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=je(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=je((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=si(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Th(4,21961,d);Tg(500);if((fh(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Sc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(bd(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Oe(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(ui(k,d,Wd(d)|0,h,8)|0))a=0;else{Kh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Wf(b,a,e,f)|0}i=j;return a|0}function Pe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Ai(21475,g)}else{i=h;return}}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Th(4,21805,d);if((fh(Ve(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Re(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2232]|0);if((b|0)==(c[2291]|0)|d)if(d){yd(b)|0;b=1}else b=1;else if(!(ye(b)|0))b=1;else{Zf(17218,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Yc(b,d,1,a)|0)!=1:0){b=$g(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Ai(16863,f)}else{f=qe(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Ai(16834,e)}}i=g;return}function Te(a){a=a|0;var b=0;b=si(a)|0;if(!(((Gg(20342,a)|0)==0?(Gg(20350,a)|0)==0:0)?!(Gg(20359,a)|0):0))Fd(a,b,Wd(a)|0);if(!(Jh(b,20181)|0))if(!(Jh(b,20185)|0))if(!(Jh(b,20188)|0)){a=(Jh(b,20193)|0)==0;a=a?0:684}else a=720;else a=708;else a=696;Sj(b);return a|0}function Ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=ih(b)|0;do if((f|0)!=0?(vf(f,18443)|0)!=0:0){d=Xi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ai(18166,h)}else e=d;while(0);i=j;return e|0}function Ve(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(Gg(21652,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Ai(21659,e);if(((((Tb(b,21686)|0)==0?(Fi(b,126)|0)==0:0)?(Tb(b,21689)|0)==0:0)?(Tb(b,21692)|0)==0:0)?(Jh(21696,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Ai(21699,d);return 0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Si(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ai(18632,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Xe(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 Ye(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Jj(e&65535)|0;if(d){h=fk(nd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Ze(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=uj(b,59)|0;if((g|0?Gg(14655,g)|0:0)?(i=(Fi(g,61)|0)+1|0,h=Fi(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=sd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=sd(b)|0;c[e>>2]=f}}return}function _e(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 $e(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ji(pa(102,h|0)|0)|0;i=g;return e|0}function af(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=di(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){pj(e,14667);b=c[d>>2]|0}pj(e,b);f=f+1|0}g=Ah(g)|0;i=h;return g|0}function bf(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ji(pa(102,h|0)|0)|0;i=g;return e|0}function cf(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+20>>2]|0;if(((a[d>>0]|0)+-48|0)>>>0<10){e=ti(d)|0;i=f;return e|0}else{f=c[b+8>>2]|0;b=c[f+28>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=b;c[e+8>>2]=f;Ai(19722,e)}return 0}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+12>>2]|0;a=a+4|0;while(1){e=c[a>>2]|0;if(!e){a=0;break}a=e+12|0;d=Hb[f&7](b,c[a>>2]|0)|0;if((d|0)<0){a=e;continue}if((d|0)<=0){g=7;break}a=e+4|0}if((g|0)==7)a=c[a>>2]|0;return a|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(vf(a,20727)|0)if(!(vf(a,21994)|0)){d=bi(a+4112|0,Td(a+6160|0)|0)|0;break}else{c[e>>2]=b;Ai(15207,e)}else d=ec(a+4112|0,Td(a+6160|0)|0)|0;while(0);i=f;return d|0}function ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((vf(c[e+4>>2]|0,d)|0)!=0);return e|0}function gf(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((Ji(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function hf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Fi(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=xd(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=me(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Ai(18912,g)}return 0}function kf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(vf(a,20269)|0){if(Te(a)|0){c=wd(a,b)|0;break}c=nf(a,0,c)|0;if((c|0)==-1)c=0;else c=Lg(a,b,c)|0}else c=vj(b)|0;while(0);i=d;return c|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Hg(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)ig(17024,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ai(17050,e)}}function mf(b){b=b|0;var d=0,e=0,f=0;d=c[2262]|0;f=qe(c[(xi()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=yk(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Of(b,Wd(b)|0,1,d)|0;Kd(58,d)|0;Kd(32,d)|0}Of(f,Wd(f)|0,1,d)|0;Kd(10,d)|0;if(e|0)xk(d);return}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ji(jb(5,f|0)|0)|0;i=e;return d|0}function of(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function pf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Gh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;pe(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ji(pa(102,f|0)|0)|0;i=e;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ni(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Ig(b,d,e)|0;a=a+16|0;b=a;b=ni(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function sf(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 tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=ni(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=ni(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;lf(b,d,e);return}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((fc(2,a,d)|0)<0){b=qe(c[(xi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;gi(16610,e);a=0}else{c[b>>2]=ek(c[d>>2]|0)|0;a=1}i=f;return a|0}function vf(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 wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ni(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ni(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Od(b,d,e);return}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ni(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ni(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Yc(b,1,d,e)|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if(($e(a,1,20,d,8)|0)>=0)if(($e(a,1,21,d,8)|0)<0){gi(14200,e);a=-1}else a=0;else{gi(14150,f);a=-1}i=f;return a|0}function zf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=zc(b,d,e)|0;i=g;return f|0}function Af(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=sj(a[e>>0]|0)|0;c=c<<24>>24;b=(sj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Bf(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 Cf(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;Dg(b);a=Xc(a,b)|0;if(!(b&1)){b=Sg(a+16|0)|0;c[f>>2]=b;cc(a,b,d,e,0,0);gg(f)}else rg(a,d,e,0,0);i=g;return a|0}function Df(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=We(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Ff(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=jd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ai(17232,g)}return 0}function Gf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(17332)|0;d=(b|0)!=0;if(d)Jf(e,100,b);qa(17332,17335,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(17332,e|0,1)|0;else ob(17332)|0;Oa();i=f;return b|0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Oc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;pe(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function If(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Ji(ib(10,b|0)|0)|0;if(b){if((c[(xi()|0)>>2]|0)==21){c[d>>2]=a;b=Ji(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function Jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Wd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Ai(16691,f)}else{Kj(a,d)|0;i=g;return}}function Kf(b){b=b|0;var c=0,d=0,e=0;d=(Fi(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Fi(b,120)|0)==0;d=e?d:d|128;b=(Fi(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Lf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ji(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;f=f+16|0;c[f>>2]=d;mi(b,f);f=c[a+8>>2]|0;b=c[f+4>>2]|0;d=c[a+12>>2]|0;c[e>>2]=c[f+28>>2];c[e+4>>2]=b;c[e+8>>2]=d;Ai(19063,e)}function Nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Od(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Of(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=(yk(e)|0)==0;a=Zc(a,f,e)|0;if(!g)xk(e)}else a=Zc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=ni(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[183]|0)Yg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Pe(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=nj(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a+20|0;if(!(Af(c[d>>2]|0,b)|0))uh(a)|0;else{d=c[d>>2]|0;c[e>>2]=b;c[e+4>>2]=d;Mf(a,19104,e)}i=f;return}function Sf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2232]|0;else{Ie(14092)|0;Ie(14117)|0;d=c[2232]|0;Gc(d,a,b)|0;Kd(10,d)|0;yd(d)|0}yd(d)|0;d=c[2262]|0;Gc(d,a,b)|0;Kd(10,d)|0;yd(d)|0}return}function Tf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ji(kb(142,h|0)|0)|0;i=g;return d|0}function Uf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Vf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=ne(h)|0;a=a+136|0;Yg(a,b,d+64|0,0)|0;wf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;pc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Xg(f);i=g;return c[f>>2]|0}function Xf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Rh(e)|0,(a[d>>0]|0)!=0):0){e=qg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function Yf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=qe(c[(xi()|0)>>2]|0)|0;c[g+4>>2]=a;Dh(f,14144,g)|0;mi(f,e);i=d;return}function _f(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?(Of(b,d,1,a)|0)!=1:0){a=qe($g(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Ai(16804,e)}i=f;return}function $f(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else pe(b,c,d)|0;return b|0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[6529]|0;if((d|0?(e=qh(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Ai(18564,f);f=ih(a)|0;i=g;return ((f|0)==0?b:f)|0}function bg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(le(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ai(13466,e)}}function dg(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 eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=nf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;ig(13777,d)}else{i=e;return b|0}return 0}function fg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((hh(a,511)|0)<0)if((c[(xi()|0)>>2]|0)==17)b=0;else{mf(26804);c[d>>2]=a;Ai(19124,d)}else b=1;i=e;return b|0}function gg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((ph(b)|0)<0){c[d>>2]=b;ig(13501,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function hg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Wd(c[g>>2]|0)|0;e=Wd(d)|0;b=je(f+2+e|0)|0;pe(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;pe(f+1|0,d|0,e|0)|0;return b|0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=qe(c[(xi()|0)>>2]|0)|0;c[f+4>>2]=a;Dh(e,14144,f)|0;Ri(e,d)}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function kg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((ph(b)|0)<0)ig(17200,d);else{c[a>>2]=-1;break}while(0);i=e;return}function lg(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Pf(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Vc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Wd(a)|0;g=g+1+(Wd(b)|0)|0;d=je(g)|0;c[f>>2]=a;c[f+4>>2]=b;kh(d,g,17213,f)|0;i=e;return d|0}function ng(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=bj(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(20213,20235,352,20251)}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Ji(d)|0;i=f;return e|0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=je(104)|0;c[f+4>>2]=si(b)|0;c[f+8>>2]=-1;b=Wd(e)|0;c[f+20>>2]=b;c[f+12>>2]=b;a[f+40>>0]=d;c[f+52>>2]=e;return f|0}function qg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Hj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function rg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Sg(h)|0;cc(a,b,c[h>>2]|0,d,e,f);gg(h);i=g;return}function sg(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+4>>2]=b;c[f+8>>2]=d;c[6531]=0;nh(a,f,f,1);Xg(26124);i=e;return c[6531]|0}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(fh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function ug(b,d){b=b|0;d=d|0;a:while(1){if(!(Zb(b,d,0)|0)){b=0;break}switch(a[(Rh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function vg(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;a=b-a*a/(+(c>>>0)+4294967296.0*+(d>>>0));if(d>>>0>0|(d|0)==0&c>>>0>1){d=ni(c|0,d|0,-1,-1)|0;a=a/(+(d>>>0)+4294967296.0*+(C>>>0))}return +a}function wg(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=17){b=0;break}if(!(Af(c[72+(b*36|0)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4)b=72+(b*36|0)|0;return b|0}function xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=tg(b)|0;b=ld(b,21745)|0;g=ne(f+1|0)|0;c[d>>2]=g;Se(b,g,f);a[g+f>>0]=0;ye(b)|0;if(e|0)c[e>>2]=f;return}function yg(a){a=a|0;a:do if(!(Aj(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function zg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=Zi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;pe(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Bg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){hk(b+96|0);d=b+100|0;Nh(d);Nh(d);kk(b+20|0);bc(b+8|0);Sj(c[b+4>>2]|0);Pi(a)}return}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Ig(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Dg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ai(12975,c);break}default:{}}if((a&18|0)==16)Ai(13041,b);else{i=c;return}}function Eg(a){a=a|0;var b=0,d=0;d=a+64|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0)b=0;else{a=c[a+8>>2]|0;Pf(a,b,d);b=He(a)|0}return b|0}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(yk(a)|0)==0;b=Ud(a,b,d)|0;if(!e)xk(a)}else b=Ud(a,b,d)|0;return b|0}function Gg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ji(pb(4,f|0)|0)|0;i=e;return a|0}
+function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ji(sb(3,f|0)|0)|0;i=e;return a|0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;mh(e,256,19630,f)|0;Bh(e)|0;b=ff(a,e)|0;i=d;return b|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Od(a,d,4);a=c[d>>2]|0;if(b){a=Zi(a|0)|0;c[d>>2]=a}i=e;return a|0}function Lg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=je(104)|0;c[f+4>>2]=si(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=je(65537)|0;return f|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Pe(a,d,4,0);a=c[d>>2]|0;if(b){a=Zj(a)|0;c[d>>2]=a}i=e;return a|0}function Ng(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Pe(a,d,2,0);a=b[d>>1]|0;if(c){a=_j(a)|0;b[d>>1]=a}i=e;return a|0}function Og(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Pg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((fh(a,b)|0)<0){c[d>>2]=a;Ai(19151,d)}else{i=e;return c[b+56>>2]|0}return 0}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;Ai(22348,d)}else{i=e;return b|0}return 0}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=zd(g,b,d,e)|0;i=f;return e|0}function Sg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Uh(b)|0)<0)ig(13138,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Tg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Tf(0,0,0,0,b)|0}i=d;return}function Ug(b){b=b|0;var c=0,d=0;c=Wd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Hj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[13]|0)>=(a|0)){a=c[6527]|0;if(!a){a=c[2262]|0;c[6527]=a}Gc(a,b,d)|0;yd(c[6527]|0)|0}return}function Wg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Xg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=ni(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return ze(b,d,e)|0}function Zg(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=Uf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _g(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(vf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function $g(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(yk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)xk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function ah(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;a=si(a)|0;c[d>>2]=a;a=Yb(pg(20136,1,a)|0)|0;Pi(d);i=b;return a|0}function bh(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;a=ld(a,19212)|0;c[f>>2]=a;_f(a,b,d);fj(f);i=e;return}function ch(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=22004;c[a+4>>2]=352;Ai(22814,a);return 0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=je(28)|0;c[e+4>>2]=0;c[e+12>>2]=a;c[e+20>>2]=b;c[e+16>>2]=d;c[e+8>>2]=0;return e|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ji(cb(57,e|0)|0)|0;i=d;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ji(Pa(195,e|0)|0)|0;i=d;return a|0}function gh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ji(hb(38,e|0)|0)|0;i=d;return a|0}function hh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ji(Ia(39,e|0)|0)|0;i=d;return a|0}function ih(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6528]|0;if(!b)Ai(18532,d);else{a=pi(b,a)|0;i=d;return a|0}return 0}function jh(a){a=a|0;var b=0;b=je(36)|0;c[b+28>>2]=128;c[b+20>>2]=je(128)|0;c[b+8>>2]=a;c[b+16>>2]=26804;c[b+12>>2]=26804;return b|0}function kh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=jd(a,b,d,g)|0;i=f;return e|0}function lh(a,b){a=a|0;b=b|0;a=a+12|0;do{a=c[a>>2]|0;if(!a){a=0;break}}while((Af(c[a+4>>2]|0,b)|0)!=0);return a|0}function mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Ff(a,b,d,g)|0;i=f;return e|0}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[6523]=e;c[6524]=b;c[6525]=d;c[6526]=c[a+12>>2];Je(c[a+4>>2]|0);return}function oh(a){a=a|0;var b=0;b=a+64|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0)a=0;else{b=Eg(a)|0;a=ah(b)|0;Sj(b)}return a|0}function ph(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=Ji((a|0)==-4?-115:a)|0;i=b;return a|0}function qh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(vf(d,a)|0))break;b=b+8|0}return b|0}function rh(a){a=a|0;var b=0;b=je(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;We(b,a)|0;return b|0}function sh(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=Ji(Wa(6,d|0)|0)|0;i=b;return a|0}function th(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]}function uh(a){a=a|0;var b=0;b=i;i=i+16|0;a=gc(a)|0;if(!a)Ai(19081,b);else{i=b;return a|0}return 0}function vh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Eb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function wh(a,b){a=a|0;b=b|0;while(1){if(!a){a=0;break}if(!(Af(c[a+4>>2]|0,b)|0))break;a=c[a>>2]|0}return a|0}function xh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function yh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=je(d+1|0)|0;c=(c|0)<(d|0)?c:d;pe(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function zh(a){a=a|0;while(1){if(!a)break;zh(c[a>>2]|0);Cb[c[6523]&3](c[a+12>>2]|0);a=c[a+4>>2]|0}return}function Ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(18661,18672,40,18688);else{b=c[b+4>>2]|0;Pi(a);return b|0}return 0}function Bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=sj(c<<24>>24)|0;d=d+1|0}return b|0}function Ch(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=tj(c<<24>>24)|0;d=d+1|0}return b|0}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=gj(a,b,f)|0;i=e;return d|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gc(a,b,f)|0;i=e;return d|0}function Fh(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;Id(a,b,f);i=e;return}function Gh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=bj(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Df(a,b,f)|0;i=e;return d|0}function Ih(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=Gc(c[2232]|0,a,e)|0;i=d;return b|0}function Jh(a,b){a=a|0;b=b|0;var c=0;c=Wd(a)|0;c=c-(Wd(b)|0)|0;if((c|0)<0)c=0;else c=(vf(a+c|0,b)|0)==0&1;return c|0}function Kh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Zj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Zj(c[a>>2]|0)|0}return}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Mh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Nh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Sj(b);b=d}c[a>>2]=0;return}function Oh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;ph(b)|0;b=b+1|0}return}function Ph(a){a=+a;var b=0;b=Zi((g[k>>2]=a,c[k>>2]|0)|0)|0;return +(c[k>>2]=b,+g[k>>2])}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Rh(b){b=b|0;if(!b)b=0;else while(1)if(!(Hj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Sh(a,b){a=a|0;b=b|0;if((c[a+8>>2]|0)>(c[b+4>>2]|0))a=(c[b+8>>2]|0)<=(c[a+4>>2]|0)&1;else a=-1;return a|0}function Th(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;Vg(a,b,f);i=e;return}function Uh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ji(wa(42,d|0)|0)|0;i=b;return a|0}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,c)|0;if(c>>>0>b>>>0)Xe(a+b|0,0,c-b|0)|0;return a|0}function Wh(){}function Xh(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 (C=d,a-c>>>0|0)|0}function Yh(a){a=a|0;var b=0;if(!a)a=je(8)|0;else{b=je((Wd(a)|0)+8|0)|0;Kj(b+4|0,a)|0;a=b}return a|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=0;else{a=Ef(a,c+1|0)|0;pe(a|0,b|0,c|0)|0}return a|0}function _h(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Hc(a,b,c,d,1,e,f,g)|0}function $h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ib[a&1](b|0,c|0,d|0,e|0,f|0)|0}function ai(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[13]=a;c[d>>2]=0;i=b;return}function bi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Ai(18980,d);return 0}function ci(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=22004;c[a+4>>2]=360;Ai(22814,a);return 0}function di(a){a=a|0;var b=0;b=je(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=je(a+1|0)|0;c[b+8>>2]=a;return b|0}function ei(){var a=0,b=0;b=i;i=i+16|0;a=Pc(2,1,0)|0;if((a|0)<0)gi(14275,b);i=b;return a|0}function fi(a,b){a=a|0;b=b|0;a=Jg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function gi(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;mi(a,e);i=d;return}function hi(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c;Pe(a,b,1,0);i=c;return d[b>>0]|0|0}function ii(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Fc(b)|0;Ke(a)}return b|0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6528]|0)){Oi(Wb(a,b,0,d,0)|0);c[6529]=d}return}function ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Sj(c[b+20>>2]|0);Ld(b+8|0);Pi(a)}return}function li(a){a=a|0;if((vf(a,20269)|0)!=0?(vf(a,16737)|0)!=0:0)a=(tg(a)|0)!=-1&1;else a=1;return a|0}function mi(a,b){a=a|0;b=b|0;var d=0;d=ed()|0;Db[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function oi(a,b){a=a|0;b=b|0;var d=0;d=je(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function pi(a,b){a=a|0;b=b|0;a=ff(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function ri(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function si(a){a=a|0;var b=0;if(!a)a=0;else{b=Wd(a)|0;a=yh(a,b,b)|0}return a|0}function ti(a){a=a|0;var b=0;b=i;i=i+16|0;a=ue(a,0,b)|0;i=b;return a|0}function ui(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ad(a,b,c,e,0,d,0)|0}function vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oj(a,b);return Bc(a,b,c,d)|0}function wi(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function xi(){var a=0;if(!(c[6532]|0))a=26172;else a=c[(Dk()|0)+64>>2]|0;return a|0}function yi(a){a=a|0;if(!a)a=0;else{a=Rh(a)|0;Ug(a)}return a|0}function zi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Nh(b);Sj(b);c[a>>2]=0}return}function Ai(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ri(a,d)}function Bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Ci(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Sj(c[b+4>>2]|0);Pi(a)}return}function Di(a){a=a|0;if((c[a+76>>2]|0)>-1?yk(a)|0:0)xk(a);return c[a+60>>2]|0}function Ei(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;return +(+O(+(+vg(a,b,c,d))))}function Fi(b,c){b=b|0;c=c|0;b=cd(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Gi(){var a=0;a=ed()|0;Gb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Hi(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ii(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){kg(b+52|0);Pi(a)}return}function Ji(a){a=a|0;if(a>>>0>4294963200){c[(xi()|0)>>2]=0-a;a=-1}return a|0}function Ki(a,b){a=a|0;b=b|0;var c=0;c=ne(b)|0;pe(c|0,a|0,b|0)|0;return c|0}function Li(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){zi(b+20|0);Pi(a)}return}function Mi(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ni(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ad(a,b,0)|0;return a|0}function Oi(a){a=a|0;c[6528]=a;if(ih(18024)|0)ai(Ue(18024,0)|0);return}function Pi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)mk(b);return}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Ri(a,b){a=a|0;b=b|0;c[(ed()|0)+4>>2]=1;mi(a,b);Gi()}function Si(a){a=a|0;var b=0;b=ne(a)|0;Xe(b|0,0,a|0)|0;return b|0}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function Ui(a){a=a|0;var b=0;b=rh(0)|0;return dh(a,b,Ef(b,512)|0)|0}function Vi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;a=we(a,b,c,0,-2147483648)|0;return a|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;a=we(a,b,c,-2147483648,0)|0;return a|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;return rc(a,b,15431,15440,c)|0}function Zi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function _i(a,b){a=a|0;b=b|0;c[6523]=b;zh(c[a+4>>2]|0);return}function $i(a){a=a|0;c[6531]=0;_i(a,1);Xg(26124);return c[6531]|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;return Hb[a&7](b|0,c|0)|0}function bj(a,b,c){a=a|0;b=b|0;c=c|0;return Vh(a,b,c)|0}function cj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(7);return 0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return dd(a,b,Wd(b)|0,c)|0}function ej(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function fj(a){a=a|0;if(!(Re(a)|0))Gi();else return}function gj(a,b,c){a=a|0;b=b|0;c=c|0;return jd(a,2147483647,b,c)|0}function hj(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;Db[a&3](b|0,c|0)}function jj(){if((ab(14125)|0)==0?(ab(14135)|0)==0:0)_a(-1);Za()}function kj(a,b,c){a=a|0;b=b|0;c=c|0;Kc(a,b,c)|0;return a|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function mj(a,b,c){a=a|0;b=b|0;c=c|0;return Hf(a,b,c)|0}function nj(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function oj(a,b){a=a|0;b=b|0;lf(a,b,Wd(b)|0);return}function pj(a,b){a=a|0;b=b|0;pf(a,b,Wd(b)|0);return}function qj(a,b){a=a|0;b=b|0;return yh(a,Wd(a)|0,b)|0}function rj(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,0,c)|0}function sj(a){a=a|0;var b=0;b=(ak(a)|0)==0;return (b?a:a&95)|0}function tj(a){a=a|0;var b=0;b=($j(a)|0)==0;return (b?a:a|32)|0}function uj(a,b){a=a|0;b=b|0;return Wg(a,b,(Wd(a)|0)+1|0)|0}function vj(a){a=a|0;return Lg(20269,a,Di(c[2291]|0)|0)|0}function wj(a){a=a|0;if(!(c[a+68>>2]|0))xk(a);return}function xj(a){a=a|0;if(!(c[a+68>>2]|0))xk(a);return}function yj(a,b){a=a|0;b=b|0;return (Of(a,Wd(a)|0,1,b)|0)+-1|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,1,c)|0}function Aj(a){a=a|0;return ((a+-48|0)>>>0<10|(Tj(a)|0)!=0)&1|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;return Fg(a,b,c)|0}function Cj(a,b){a=a|0;b=b|0;return Fb[a&3](b|0)|0}function Dj(a){a=a|0;c[a>>2]=c[6531];c[6531]=a;return}function Ej(a,b){a=a|0;b=b|0;return hd(a,15468,b)|0}function Fj(a){a=a|0;Sj(c[a+4>>2]|0);Sj(a);return}function Gj(a,b){a=a|0;b=b|0;i=a;j=b}function Hj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ij(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Jj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Kj(a,b){a=a|0;b=b|0;gd(a,b)|0;return a|0}function Lj(a){a=a|0;return sc(a,-2021002517,18948)|0}function Mj(a,b){a=a|0;b=b|0;Cb[a&3](b|0)}function Nj(a){a=a|0;c[183]=si(a)|0;return}function Oj(a,b){a=a|0;b=b|0;return oe(a,b)|0}function Pj(a,b){a=a|0;b=b|0;return +(+he(a,b,1))}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Rj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Sj(a){a=a|0;if(a|0)mk(a);return}function Tj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Uj(a,b){a=+a;b=+b;return +(+Yf(a,b))}function Vj(a,b){a=+a;b=b|0;return +(+Sd(a,b))}function Wj(a){a=a|0;return Kd(a,c[2232]|0)|0}function Xj(a,b){a=+a;b=b|0;return +(+Xd(a,b))}function Yj(a){a=a|0;return (ih(a)|0)!=0|0}function Zj(a){a=a|0;return Zi(a|0)|0}function _j(a){a=a|0;return Rj(a|0)|0}function $j(a){a=a|0;return (a+-65|0)>>>0<26|0}function ak(a){a=a|0;return (a+-97|0)>>>0<26|0}function bk(a,b){a=a|0;b=b|0;Qb(b);return}function ck(a){a=a|0;return c[a+16>>2]|0}function dk(a,b){a=+a;b=+b;return +(+jc(a,b))}function ek(a){a=a|0;return Zi(a|0)|0}function fk(a){a=a|0;return Zi(a|0)|0}function gk(a,b){a=a|0;b=b|0;ba(6);return 0}function hk(a){a=a|0;Pi(a);return}function ik(a){a=a|0;Gb[a&1]()}function jk(a){a=a|0;return Kb(a)|0}function kk(a){a=a|0;Pi(a);return}function lk(a){a=a|0;Qb(a);return}function mk(a){a=a|0;Qb(a);return}function nk(a){a=a|0;return 0}function ok(a,b){a=a|0;b=b|0;ba(2)}function pk(a){a=a|0;return 0}function qk(a){a=a|0;i=a}function rk(a){a=a|0;return 0+a|0}function sk(a){a=a|0;C=a}function tk(a){a=a|0;ba(4);return 0}function uk(){return Ui(6)|0}function vk(a){a=a|0;return a|0}function wk(){return c[183]|0}function xk(a){a=a|0;return}function yk(a){a=a|0;return 0}function zk(){return c[13]|0}function Ak(){return C|0}function Bk(){return i|0}function Ck(a){a=a|0;ba(1)}function Dk(){return 0}function Ek(){ba(5)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[Qj,zf,gf,zc,Rc,Ag,lj,mj];var Cb=[Ck,Dj,xj,wj];var Db=[ok,Sf,bk,ok];var Eb=[Qi,Dd,Wc,$b,ch,Qi,Qi,Qi];var Fb=[tk,sh,Dc,tk];var Gb=[Ek,jj];var Hb=[gk,Qe,Me,xc,Ed,ci,Sh,gk];var Ib=[cj,$c];return{_llvm_bswap_i16:Rj,_i64Subtract:Xh,_free:Qb,_main:qd,_htonl:fk,_realloc:oe,_i64Add:ni,_memmove:$f,_pthread_self:Dk,_pthread_mutex_unlock:nk,_memset:Xe,_malloc:Kb,_pthread_mutex_lock:pk,_memcpy:pe,_llvm_bswap_i32:Zi,_bitshift64Lshr:Qh,_htons:Jj,_bitshift64Shl:Lh,___errno_location:xi,_ntohs:Ij,runPostSets:Wh,stackAlloc:Mi,stackSave:Bk,stackRestore:qk,establishStackSpace:Gj,setThrew:ej,setTempRet0:sk,getTempRet0:Ak,dynCall_iiii:Bi,dynCall_vi:Mj,dynCall_vii:ij,dynCall_iiiiiii:vh,dynCall_ii:Cj,dynCall_v:ik,dynCall_iii:aj,dynCall_iiiiii:$h}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigBedSummary_static.js.html b/bedTools/bigBedSummary_static.js.html
new file mode 100644
index 0000000000000000000000000000000000000000..3c1ab4b91d173f256ae61e2e98410ce4b18b06b8
--- /dev/null
+++ b/bedTools/bigBedSummary_static.js.html
@@ -0,0 +1,1319 @@
+<!doctype html>
+<html lang="en-us">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Emscripten-Generated Code</title>
+    <style>
+      body {
+        font-family: arial;
+        margin: 0;
+        padding: none;
+      }
+
+      .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
+      div.emscripten { text-align: center; }      
+      div.emscripten_border { border: 1px solid black; }
+      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
+      canvas.emscripten { border: 0px none; }
+
+      #emscripten_logo {
+        display: inline-block;
+        margin: 0;
+      }
+
+      .spinner {
+        height: 30px;
+        width: 30px;
+        margin: 0;
+        margin-top: 20px;
+        margin-left: 20px;
+        display: inline-block;
+        vertical-align: top;
+
+        -webkit-animation: rotation .8s linear infinite;
+        -moz-animation: rotation .8s linear infinite;
+        -o-animation: rotation .8s linear infinite;
+        animation: rotation 0.8s linear infinite;
+
+        border-left: 5px solid rgb(235, 235, 235);
+        border-right: 5px solid rgb(235, 235, 235);
+        border-bottom: 5px solid rgb(235, 235, 235);
+        border-top: 5px solid rgb(120, 120, 120);
+        
+        border-radius: 100%;
+        background-color: rgb(189, 215, 46);
+      }
+
+      @-webkit-keyframes rotation {
+        from {-webkit-transform: rotate(0deg);}
+        to {-webkit-transform: rotate(360deg);}
+      }
+      @-moz-keyframes rotation {
+        from {-moz-transform: rotate(0deg);}
+        to {-moz-transform: rotate(360deg);}
+      }
+      @-o-keyframes rotation {
+        from {-o-transform: rotate(0deg);}
+        to {-o-transform: rotate(360deg);}
+      }
+      @keyframes rotation {
+        from {transform: rotate(0deg);}
+        to {transform: rotate(360deg);}
+      }
+
+      #status {
+        display: inline-block;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-left: 20px;
+        font-weight: bold;
+        color: rgb(120, 120, 120);
+      }
+
+      #progress {
+        height: 20px;
+        width: 30px;
+      }
+
+      #controls {
+        display: inline-block;
+        float: right;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-right: 20px;
+      }
+
+      #output {
+        width: 100%;
+        height: 200px;
+        margin: 0 auto;
+        margin-top: 10px;
+        border-left: 0px;
+        border-right: 0px;
+        padding-left: 0px;
+        padding-right: 0px;
+        display: block;
+        background-color: black;
+        color: white;
+        font-family: 'Lucida Console', Monaco, monospace;
+        outline: none;
+      }
+    </style>
+  </head>
+  <body>
+    <a href="http://emscripten.org">
+      <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="296px" 
+   height="78px" 
+   viewBox="420 120 100 170"
+   enable-background="new 0 0 900 400"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="emscripten_powered_by_logo.svg"><metadata
+   id="metadata345"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs343"><linearGradient
+     y2="247.6265"
+     x2="225.1929"
+     y1="152.499"
+     x1="225.1929"
+     gradientUnits="userSpaceOnUse"
+     id="linearGradient5104"><stop
+   id="stop5106"
+   style="stop-color:#C1D72F"
+   offset="0.3227531" /><stop
+   id="stop5108"
+   style="stop-color:#BCD631"
+   offset="0.45119295" /><stop
+   id="stop5110"
+   style="stop-color:#AFD136"
+   offset="0.64491969" /><stop
+   id="stop5112"
+   style="stop-color:#ABD037"
+   offset="1" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.0123" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.3086" /><a:midPointStop
+   style="stop-color:#ABD037"
+   offset="1" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5120"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter
+     inkscape:collect="always"
+     id="filter5126"><feGaussianBlur
+       inkscape:collect="always"
+       stdDeviation="0.56377237"
+       id="feGaussianBlur5128" /></filter><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5134"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996" /></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1440"
+   inkscape:window-height="838"
+   id="namedview341"
+   showgrid="false"
+   inkscape:zoom="0.63555556"
+   inkscape:cx="224.82424"
+   inkscape:cy="-52.085109"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_1" /><g
+   id="g5130"
+   transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path
+     transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)"
+     id="path5122"
+     style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)"
+     d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc"
+     inkscape:connector-curvature="0"
+     d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z"
+     style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none"
+     id="path5080" /></g><path
+   fill="#E2E2E2"
+   d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36  c-2.646,0-4.8-2.153-4.8-4.8V165.236z"
+   id="path3" /><path
+   d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path5"
+   inkscape:connector-curvature="0"
+   style="fill:#e2e2e2" /><path
+   fill="#F5F5F5"
+   d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36  c-2.646,0-4.8-2.153-4.8-4.8V163.236z"
+   id="path7" /><g
+   id="g9"><g
+   id="g11"><path
+   fill="#FBFDF8"
+   d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663    c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path13" /><path
+   fill="#F0F4E1"
+   d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663    c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663    c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527    C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z"
+   id="path15" /></g><defs
+   id="defs17"><filter
+   id="Adobe_OpacityMaskFilter"
+   filterUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix20" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"
+   id="SVGID_1_"><g
+   filter="url(#Adobe_OpacityMaskFilter)"
+   id="g23"><image
+   overflow="visible"
+   width="422"
+   height="480"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAg2AAAQ4QAAF1b/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAeMBqQMBIgACEQEDEQH/ xACjAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAgEBAQAAAAAAAAAAAAAAAAAAAAEQAAEDAQQKAwAC AwEAAAAAAAABAwQCMRMUBRBQEjMVJQYWNgcgESEwI5AiMkARAAEBAwsEAQIFAwUBAAAAAAABMQID EFAycqOz0wQ0RaURIXGRIEFRMGEiExRAgRKh0SMzQxUSAQAAAAAAAAAAAAAAAAAAAJD/2gAMAwEA AhEDEQAAANUJsrZYFfFgV8WBXxYEL0ki5fo6GjJuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRu aRuaMHQ5dR3ojnJ9XxYFfFgV8WD0jxf2AodbslbAD6mDhlpLvI/qkuiovZL7CGzNfRCJwQacEGnB Bp0QSdEEnRBJ0QSdEEnRBJ3BBpwQacEHidwQXzPfBA6bBqK5w2nlKVH3iJitt+gAeweP+wFDrdkr Y+vmaN02k6+e3d2Gjo6N0c2zoyaM7xozuGluGluGluGluGluGluGluGluGluGluGluGnG8c/z1YO PVIfJF80xoIGPsfBVVrl6hIrD7+B7B4/7AUOt2StnXaYyxHTJ6ZKvrqb4x9MgAAAAAAAAAAAAAAA DGR8692Dh4pbkIKJscTVNiLdVY1+weP+wFDgJ+JLJORs3XbIc3dGz6ZAAAAAAAAAAAAAAAAAAAPn R0ayMi5uLqv1S51eIT2Dx/2AofB38Ra5uIm6kOzm6o+gAAAAAAAAAAAAAAAAAAAPj7+TkjJWNIOt 2et1WfYPH/YIofH2cZcJyEnKkenn6IyAAAAAAAAAAAAAAAAAAABjODmjZONIWt2WtVWPYPH/AGCK Hx9nIXGcg5ypLfo3xkAAAAAAAAAAAAAAAAAAADGcHPGyUaQ1astaqseweP8AsEUPk6+QuM7BTtSW 7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAA AAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4Oe OkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsH j/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYK dqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAA AAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f8AYIofJ18hcZ2Cnakt2ndGQAAAAAAAAAAAAAAAAAAA MZwc8dIxxDVmzVmqx7B4/wCwRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNm rNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr 5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3Rk AAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAA AAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ 1Zs1ZqseweP+wRQ+Tr4y5TkHOVJb9G+MgAAAAAAAAAAAAAAAAAAAYzg542SjSGrVlrVVj2Dx/wBg ih8fZxlxnIKcqT6ObpjIAAAAAAAAAAAAAAAAAAAGM4OeNkY0h61Za1VY9g8f9gih8Xbwlxm4GbqW 6uLrj7AAAAAAAAAAAAAAAAAAAA+fr5OaNkI0ia1Y61Vb9g8f9gihxknCl1m65N1OdsZ3x0ZxkAAA AAAAAAAAAAAAAAAAx8fek5ozui6jazYKsRPsHj/sEUOu2Ktlqn6XZ6scjBSRLbOPpjYxkAAAAAAA AAAAAAAAAAYfJjm+uM0xXVE1xVOZr0Y9g8f9gKHW7JWz7s1W6i9SdYlasXXB9pLbI7fHY5/s3NeT 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs DyhP1cpjbLcVojtDLY3QIn1qZU+yugebJDRKaJ7CVUvtq27o9geURaLx6C19JFbI7Y1QU0/WqFQd oH6CS2TG/wAzZrZd0ewPKMqo2n4VH5FoGKBunVTifj9JJpJdBnVH+mj2B5RkqfdcOki0jFJQn5qm pPx5CTSS6TOKf6tHsDyjI0/2hIRU/GUKbNU1DyfklCWhm6f06PYHlGRf9QkIqfjKCWapWx4kkszj daPYHlGQ2wrItjImqlseJJMM43Wj2B5RkNsEjWNarUeJJMM43Oj2B5RkNsEjWNarUeJJMM43Oj2B 5RkNsGyLY1qtR6ySTDONzo9geUZDbBsi2NarUesk2TDON1o9geUZDbBsjWNarUesk2TDON1o9geU ZDbBsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDb BsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsj WNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNa rUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUe skkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskk wzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzj daPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzjdaP YHlGQ2wbI1jWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJJMM43Oj2B 5RkNsGyNY1qtR4kkwzjc6PYHlGQ2wSNY1qtR4kkwzjc6PYHlGQ2wrItjImqlseJJMM43Wj2B5RkV sJSKv4yolmqVseJJLM43Wj2B5Rkf/UJSKv4ypTZqmoeX8kqS1M43Oj2B5Rki/wC0Koi1DKlC/mqa h5SSpLUzdf6tHsDyjJ6/p2HURaxiobX81TWv4/USaiXUZy59N6PYHlGXubEiE5+RaxisaqEXVCjl Q/WSayXX+Zy59ro9geUUVbNeXPpVRFdI7gzWUVfeqK6h2skOElwmu/ST3bx/R7A8oMpk/SxHiM8M OjThTX9iLqWqr6HHB50kOkp4zSVsUVKqro9geUDLit15fLSumM+MPjTw26UuCVH2moPsWoqcK3R1 4feJD5MkIiTpKvO6fYHlGiFLViuHLSpGJAzIGnyh8peKXRHEEcQ20NtDbQ2kNpDaQ2kNpDaQ2kNp DaQ2kNpDaQ2kNpDaQ2kNpDaQ2kNpDaQ20NtDbQVxBXEFdKnit8cfHpA/IJMn6TMp+0vw9geUaYU+ pmqJNprRmUNSRuSUSSmQgkgSQI+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X4r4sgWQV SCuSOSR2SPSiRLREzDMlUVVVfh7A8o+EeW4wsTNKKxmYijcsollMspliSxJZjDGIYxDGIYxDGIYx DGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxBZYssqllUsrljksdmISsxooSVmLjyqq r8vYHlHxRVRWZ77QznNI3mzSlGZUKU5hSJmKHEUOIocRQ4jScRQ4ihxFDiKHEUOIocRQ4ihxFDiK HEUOIocRQ4ihxFDiKHEUOIocRpOIocRQ4ihxFBcxQXMEKsxpHM1aQezmhB/M3nCquqtfn7A8o/hS utC9dL50vnS/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/ eL50vnS9dLytT7X+PrDhvHuTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOT HJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY/pP/aAAgBAgIGPwBR f//aAAgBAwIGPwBRf//aAAgBAQEGPwCPk8jmv2su47DV1z9uE90V5xHl7vuKrTXWMHDNdYwcM11j BwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHD NdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11 jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMH DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z"
+   transform="matrix(0.24 0 0 0.24 174.5615 142.499)"
+   id="image25"></image></g></mask><g
+   opacity="0.09"
+   mask="url(#SVGID_1_)"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   id="g27"><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M195.361,251.626    c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527    c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path29" /><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M255.024,152.499    c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527    c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527    c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499    L255.024,144.499z"
+   id="path31" /></g></g><g
+   id="g33"><g
+   id="g35"><linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="152.499"
+   x2="225.1929"
+   y2="247.6265"><stop
+   offset="0.0123"
+   style="stop-color:#C1D72F"
+   id="stop38" /><stop
+   offset="0.1394"
+   style="stop-color:#BCD631"
+   id="stop40" /><stop
+   offset="0.5859"
+   style="stop-color:#AFD136"
+   id="stop42" /><stop
+   offset="1"
+   style="stop-color:#ABD037"
+   id="stop44" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="0.3086"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="1"
+   style="stop-color:#ABD037" /></linearGradient><path
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527    c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path46"
+   fill="url(#SVGID_2_)" /></g><defs
+   id="defs48"><filter
+   id="Adobe_OpacityMaskFilter_1_"
+   filterUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix51" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"
+   id="SVGID_3_"><g
+   filter="url(#Adobe_OpacityMaskFilter_1_)"
+   id="g54"><image
+   overflow="visible"
+   width="356"
+   height="414"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAXBAAALIQAAEOP/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAaEBawMBIgACEQEDEQH/ xACYAAEAAgMBAQAAAAAAAAAAAAAABAcBBQYDAgEBAAAAAAAAAAAAAAAAAAAAABAAAAMIAwEAAgMB AAAAAAAAAAIGATIDBBQFFjZQMwcRECKQMRMSEQABAgQEBgEBBwQDAQAAAAAAAQIxcgMEEFCRsyGC M6PTNBFBIGFxEiIyE1GB0UKhscFiEgEAAAAAAAAAAAAAAAAAAACQ/9oADAMBAAIRAxEAAADy0npz Z0Dnx0DS7Q9kr0IKcIKeICeICeICeICeICeICeICeICeICeICeICeICfggp2CElQD1aXxOgc+O1s um7kKj5vpObG6d2Q9zspRA9JmSGmCHmWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIaYIeJo1sPe 4OK5C2tCVS3OmN5clN3IVHod9EOv6zWb0zkAAAAAAAAAAAAAAAAAMRJnwcVXltVuetyU3chUfp5+ 5YexhTgAAAAAAAAAAAAAAAAABjODUVxZNbnjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwaut rJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAA AAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjy Cx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1t ZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAA AAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQ WPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautr JrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAA AAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyC x5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZ NbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAA AAAAAAABjODV1tZNbHjclN3IVH7+HqWTO1uxMgAAAAAAAAAAAAAAAAAYzg1Vb2NXB5XJTdyFRx5G jLc3XG9SS2MgAAAAAAAAAAAAAAAAD4+ohqq47GvTa3JTdyFR830nNm/7qp+gLVk8fuDcZgehLRBL RBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBKQohP0MbkT40OcG8uSm7kKj5vpObAJm45sd n98SO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3xxI7PX84JcQAN5 clN3IAAAAAAAAAAAAAAAAAAAAAAAf//aAAgBAgABBQD+G3//2gAIAQMAAQUA/ht//9oACAEBAAEF AFgq7/bL9narGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxn arGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qx narGdqsZ2qxnarCYVyhn78PQNo/MCUmJhssm48QEScNrGJGEMQgjEIIxCCMQgjEIIxCCMQgjEIIx CCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIQakYQOlI bGTCajw2R5SPLm/KK2gegbR+LVYzzDZGzFKyBaysYS3FYGSBBQkFCQUJBQkFCQUJBQkFCQUJBQkF CQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQNkCA9uK0R7WVrJ+ykMy6WI8BrW NY0IraB6BtAsdqbMHtttYxkvKFKxhCs4JpCtExKFMy5W5jWX22NgRAitoHoG0SsBsePZZFhSSkuw peFm5dhi3qRKYk1BbAjoraB6BtCcl/8ASYtUBjCkL8Lwp2fS3WCxpVDA/wA5lFbQPQNoShGNLbif CcM3+roX9VQz4ZFbQPQNoSLP0t7P04e5uql5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW 0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5F bQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnk VtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqe RW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp 5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6q nkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubq qeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5u qp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m 6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSLlvb+nD3N1UvIraB6BtCTN8Jbj /ScM3+rob9VQ36ZFbQPQNoTUx/xGtcdjSlb9ZwsRvwt1jMYVRR/+5hFbQPQNokZinmbPOsaWVjsM XhZuOwpbxOsYWcjtjzCK2gegbQLDdv8ANtuuDGsgTJTMYZjeCaZjBHmSlZcbgxjL9dGxDBFbQPQN oDGtK2z31pBJXYrWQLmVrCz5Whk8QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFa QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkDZ4gNPkYI9zKxk7dysZdr80zTGaZoRW0D0DaPzK3Oalmyy oYwEVEv8yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGV S4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXB1RL/JlUMMyauU1Mt/KK2gegbRxaK2jj/wD/ 2gAIAQICBj8AG3//2gAIAQMCBj8AG3//2gAIAQEBBj8Ar2djdfxW7G01az+Ok74VzEcvF7FWJ73Z o+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+ M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M9 7s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s 0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+Ms7O7u/5Leq5yVGfx0m/KIxzotYixTC5kpbbfsfFJir 9/0EWo74+5qHH8y/3IO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U g7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U4fmT+5803fP3Kn+D4qsVP v+n2LCd22/C5kpbbcUqVkX4+jf8AIiI34QTgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIEBe AqK1FRfuFqUE/SkWf4PhY4WE7tt+FzJS224JWqJw+f0ov/YnATgcMi4i8BeAtdifpX9yf+4WE7tt +FzJS22jKSfVeP4DUROCCcMmXgORU4KPpL/qvD8CwndtvwuZKW20dUVIcEE4Hxkyi8BHon7uC/2L Cd22/C5kpbbT5/8AoTKFG/iWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttp zKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+Fz JS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu 234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFG zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k="
+   transform="matrix(0.24 0 0 0.24 182.5615 150.499)"
+   id="image56"></image></g></mask><g
+   opacity="0.35"
+   mask="url(#SVGID_3_)"
+   a:adobe-opacity-share="1"
+   id="g58"><path
+   a:adobe-opacity-share="0"
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663    c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path60"
+   fill="#1D2915" /></g></g><linearGradient
+   id="SVGID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="226.1924"
+   y1="159.7139"
+   x2="226.1924"
+   y2="200"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop63" /><stop
+   offset="0.3788"
+   style="stop-color:#F8FBF3"
+   id="stop65" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop67" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.4383"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></linearGradient><polygon
+   fill="url(#SVGID_4_)"
+   points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61   227.655,173.61 236.978,159.714 "
+   id="polygon69" /><g
+   id="g71"><g
+   id="g73"><g
+   id="g75"><image
+   overflow="visible"
+   opacity="0.75"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="392"
+   height="242"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAD2CAYAAADF97BZAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHohJREFUeNrsnYlu40gSBZMU5Z75 /4+dbUsiFwtY2JrqvIqHSEoRACFZPtqk3BV8WVcvAAAACXouAQAAIAwAAEAYAADwWgYuwSp0XAKA wzJxCRAGIgCANf8fIxaE8RIxIBaA8yeMDokgjLkNfLfyzwOAfWTRNX49EkEY5h9N6+sIAuC8/++n mXKZjJ/5UfIYPuyPRXut9WOEAXDuxOGJYEqKZPpEebyjMOYKoTO+BmEAfIYwSjG0JJFaHm8rjncS RkYE2uutwkAgAO8liezzTPqY3jl1vIMwooa+fi0SRvQzshIBgHMKYwpez5Su3jJ1nFUYLWWlznne KpHW5AEAx5fF5Aijfi0jDy91nFocZxRGJgnUMvDkkf3arDiQCMD+YshIwxKE93xy5CGJ1HFqcZxJ GEsE4b0WHa3JA2EAHEcYU8PjlJREdESp47TiOIMwIlG0yqEPPl4iDmQBcCxpZMtOmWNs+Fy2n6M7 kzSOLIy5oogk0SsfZwWCNADeSxhZMYzGYy2I8uslIY5TpY2jCiMzsikjCO2xDz4fiaNFGggDYD9h LJGF9uh9rq8+7hxxWLI4vDiOJozsKCdPFJoc5ry2JG0gDYDzJouxOrTXLJHUsuiKz4uROurS1GHL VEcShpcqNGFoZSZLBBfla6zXO0MeGXGQMgCOkyyyopgCMfzveDifs44yRdQlLKtEdei0cRRhaLKI UkXZoFtCeH7uUn3dJfF9UV8HwgA4tzDG6nktjYfy/OF8zhJLZ0hjEns01SHTxt7C8EpQmdKTlhQu lSguxmu1TLSfNac8hTQAji+MMZEsahHUx6g8743v1aQxOudzSGnsKYyoBOUlCk0StQQGRRrW4aUO bWRVpj8DYQDsI4xaFJEwPFk8FGHcDYGUR1/Jon7uzf84bIlqL2FkS1BWP8XFSRKDIozBEclgiMPq CJ8rDSQCsI0cWmWRTRaWDO7BYy2OXhFH2SE+BudymLSxhzAsWbSkCk8S3vNBkUdGGJE06pTUIgTE AbCOKLRylCYNqxyVTRV347gYX9sr4nhUotDKVPXw292l8WphtMrCSxWeEOrjqghDE0hUlrKkYaUL ZACwj1S8lBGli1oYWpL433Eznl8qWdxFL2trfRsiev/GIaTxSmFkJ99po5+0RBHJoXy8Bt+j9WmU /743qU/E7vxGGgD7JBBrCRCvs9sqRd2NZHErRDEY4iiTxV1p72ppiPx/IqDVr7GbNF4ljBZZaKnC E0UtBu3jq5E0PGFcgpJUH8gCcQDsJworXWQTRiSMWyWM5/Oheu3ZltzFLmk/lPbhkCOoXiEMreHM 9FVYsrhWz8vjS3lNE8dglKiyHd9ewqAsBbB/KcoThjbvwhpCG6WL8vgu2pRb0XbdnGpFKY26vbCG 3u4mja2Fkemz8EpQZWOulZq+gkdNIlFZaq4wBGkAHFYWIm2d3lG6uFeiKNPFt9Ku3ESfEOyJY3TS xi7S2FIYc2ThpQpLFF/Bx6U4auFckiWpFlkgCoBjiCPb8T01Jow6WVx/JHEtZPEt+oCaaD6XRUYa b1OSapXFEJSdsodVporKUZlRUpEsEAbAcaWhpYx6WK02lPamSKOWxVBIo1UY3QJpbC6PrYTROhLK SxW1LH5VUvhlvG5JQ0sXWv/FReYNp0UaAPvKYq4wxoQwvIQRlbojYayRNDaVxhbCaFmKXJNFPcrp q5LFL0UUGWlE6UJ7Y7MT9hAGwDmFEaUMb/5F3X/hjb70hulnZVFL4/Sd3l2iLNUHsrBKUL+M48v4 2EoX0ZvqlaIEYQCcWhalNKwNkrz5GPeftuRWtCk30ed8aUsYzU0WdZoo25ZaHJsJZMuSVMs8i6iv opbEX4FAnt+jdXZnZaEtby6IAuBtUsac/oxaGoPy6A2mWZoupiJldK8uTa0pjLmlKK2DOxLFX8br WllKG5Lbsn4UO+0BII1B/uzLqG9Av+XPKQHZNsU7H22IcF2e0qRx2ISRkYU1g3sISlB/KY9/OUlD 67vIyOKSKEO1JAzEAbCfKFqF4c0CL1PGUKSNm9hr1LXchHYJWYjoy4RYZSnZQhxbz8OIRDEYwvhl SOIvQxh/KenC6+hu7eSOpIEwAM4hjCXSuBRp47lW1F1p16wtoFvShSYLa++MUV7Un7GGMFpKUV66 qPssaln8bUijFoY1u9vbOGnp8NkucX0A4LWyEGmbCT6KvnzIWMjiUcgjsyGbdQOa+V0nyW/p2r2i NLVmSWqJLLR0Ycnib6ck5U3S85JFy8KCSzq5kQfA9pJokUX52AdJo6/EkVmwdM6ci2nG0TmyWE0c S4URDaPN9ltkZPG3U5bS5l1kFhecu2w55SeAfcl0FncJgXh9G30hivqxXIE2Gl3ZO6KIymPZo0xI m/VjrFWSmjsqanBkYfVd/K2kC6uj25JFZ7yxraJAEADHF8pUvTYFjbZUd+5T0UY8hfEQfapAZnRl lCpG0eeHaB/XKcOS5CriGFZ6Qyx5aPMuhiBZ/FJkoaUMTRblMNpoFvfS3fOQBcB55DEp/3e9DuJa GE9ZWO1bpvRkNeZWp7u1Z0emNDUp579YGsOCNyBKF9HIqEFp7K1U4Q2lteZcWOu4tM6xoAQF8H7S EKN0Uz9qd/B90Xh3ku+r6IxUMTpHuWWsdvRGacrr09g9YWTnW7RM0rPKU9oyIN7CgpYs1twxD3EA HJcp+f9UuxPvFGnMFUUXpANLGJ5Qyu+t/+1Ddnp3iXKUNu/iy0gYvyQ/Qa8cGaUt+5FJFiJtI5+Q A8D50kVGIpNy0zgtkIYY/0b5PLOnuHZcqpTRK0nIK0+9TBjZLVfnzOrOJI0vQxbafAuvzyJbfmK4 LMB7JAzv/+zU8H+9lEZL2zApopgMcURHVJrqRO+72a0Pw0oX0YZIVsKIylDWkuVav0UpK2upj7mi QA4A504YnkCmoLpQfm/r3hbWarmRHJ5rV3kpwytNaalqljiGhRc+U4qKNkb6ctJFnSa0uRaaLC7J ZEEZCgCBRCOoLHFMxd19JuVEndyeMLIpo98yZcwtSWWXL5/bf/El9kioL7H3tYhmW1rpYm4pCgDe RyCt4pCigRaxZ297w2fHIFWU6aJ8HOTf61uVbd5mKWOYcVFb08Wc/bm1RQTrVFH3WViy6INUgSgA oEUcWn9HL7kFEOtS1BiIojy+5P97cdSlqUfVDnspYzZLh9Vq+3Rn5mBcE6KwtlgtReEli16YiAcA 64vDayt65XszQ2ejhFFu3FTuxfFQksYo+kitXfowOrFHSnmlqGgLVi9daEt9ZCbmibAzHgBsK46u kIFUlY3pp416CmNIlqNulShuRVtYbuB0r26aR6MsNYm/d8aqwpi7DEhm74urU36K9rTQ1p23Fg9E FgCwpjjqmeFdlTK8ctS1eNT2DP+qZPFVSOMm+grcUV/G4s7v1j6MOcuYe3MwNGl8KV8b7cFd/w4i /pR8RAEAc8QRSUOqlPH8+jpljEVJqZbGl5Iq6qPc7e9eScPry5AlKWONeRjeUNpLUI7SEsUg9sxt bwZ3L/RVAMBr04bXCT5Wpam6XF+WpK7y7z6Ka5EqynQxiL2DaC/xaKnNJ+5Fayi1jpQagtKTNXN7 SKSLaClhZAEAa6cNSxrlXX5fpYyxaNdqadyVdnBuyli187ufeaG0foJMyhgMMdSlp0wZykoXIu3b qAIAzE0b2nNtBGl2YdbBaRsHJ2W0rMg9q23sGy5My2S9PnExhsTFyG6BmHkDAQBeLRFNGpeqNOXt RJppG7Wb6i6Qxiz6hpP3RNIHCSNj0swF6WaUopAFALwyZWRvri1xXIL2sWVqQbR67qrCaEkaLUNr 6wtxCWRh7ZVryQFJAMAe0ojazWe7dWlsI6/JhKG1l6KUoma1lf3Ci2RdiGyyuIg+CspbRLA3TD7n jQQA2EIe0Y21Nw1hUB6z0sgkDC8dLRZGNlVkR0hZpSdLFpfkBVhkTgCADVJGZoM5qyLjyaN1o7hV +jH6mTHL2gcjugjWBfHKUN1WJw8AsFG6iGSRLeNn2spoFOlqbWXfeDG6IHK1ysI76cyOeaQLADhr maqfIY2L5Pt5rQ7vzYfVZspUfXC0CsLq5LbGEgMAnC1laP0Z1giqls7ubBl/k07vaOiYtp6TdjKa JKJJJ9n5FqQLADhj2vCG20Y33NlSVNfwu62SMLqkNb2E0SviyMzgXrUOBwDw4pThrY6R6QPOVmo2 7fvNTNzrgs9F9bhIHH3ihC07C+kCAE4mE00ctUCiakymhN+vfZPdz4gm2fHFXSALK0V409pFWPID AM6XNrwUklnANSpZzRlS29x+zllLqiVpZBKHNwoqE6OQBgAcXRTeIoCd0x564siW8K2RUs0MMy9E 9tBOwNv4KFtjQxwA8C5C8drOLlmlya4h5a21Fy513q948llbdo48okglQn8FAJxLCt68Ma1Bt9pD 7fW1O7q7LYQRxausLaPaGivPAsC7yyTbZnZiTznIyENk4UipfuZJtp68VXLyxJGZoEfaAIAzSaJl TtuaCWOVdrJ18UHrJCNZRFErU3ZCCgDwjglDa+u6GQkjszjr5sLIJI2oA8dLGtKYMBAHAJxVDJ4s Mmv1ZWURlaNeKgxJnmBmT9kueZFFKEEBwGdJJjui9CU7j/YrnJTX6Gcn3m1SbwMAOEnyyDT4SxNF tGrtLGF4nc3euN7MbMKsGDIlKMQCAO8kjeyNdIs0Vm0vt+jDiGQS2TVbtgIAOKMkoopMa5uaEc4q 9C+8EF4UmyMpAIB3Tx4tfcGb32T3G52sVzN7iQkBAA4ogJYbbetjbxe9zFp8s8v8/Y4XCQAAkeiN uwSJQiQ3qbn1Jn/zhNHNuDCR5RAKAHyKLDKfjxJG9t/YpdNbpH1/7ZY4BgDw6TKJSvWtW0Espt/g ROes/eQtxYtQAAAOsJFc/6KTmxPJAADAF8RL29F+5xMHAEAGfz5fvHfFFu1tf8ILCgDwbrLIrAi+ xs/+CGEAACCX/FpTm9x4IwwAgPMkka2+/jDCoJwEAPAGbSoJAwDgwxr+owuDlAEAcHJIGAAAgDAA AD6At5jpDQAAJAwAAPikdIEwAAAAYQAAAMIAAACEAQAACAMAABAGAAAgDAAAAIQBAAAIAwAAEAYA ACAMAABAGAAAgDAAAABhAAAAIAwAAEAYAACAMAAAAGEAAADCAAAAhAEAAAgDAAAAYQAAAMIAAACE AQAACAMAABAGAAAgDAAAQBgAAAAIAwAAEAYAACAMAABAGAAAgDAAAABhAAAAwgAAAEAYAACAMAAA AGEAAADCAAAAhAEAAAgDAAAQBgAAAMIAAACEAQDwMUwIAwAASBgAAHDOlIEwAADgUMKYuNQAAOdu F0kYAABwGGGQLgAA1mtHd2tTSRgAAOeThvX58vhYYZBSAOBTJDAl0sXU0EauJhESBgDA/tKoG/U1 GvnVk0a/08UhNQAArJtENqff4KQydbTpyBcFAODA0titA7xf+MtPM09YuwDT1nEKAOCEaSLqw5he 1Wb2K51c5hedErYkUQDAJ0ohalen4KZ9esXN9h4zvefIBQDgE6QxSVyJmSRXllq9xN9vdBEiM2ai FwDAp0hjMm6sWxKGN9oqandTbW+/0clnkkXr8DFkAgBnl8KcG+dJ/AFFU9DGZqUQ3uT3G1yUKGJ5 1pyEkVIA8BkCySSOKHVMiTZ2tfazn3liU/IEopPPXBhkAQDvKIu5N9JTcGx2o903xpLopDIXyJNB JIgp+XsCAJxBHNkb6czN+ZT8Ppl7Q96vcNItJxHZUoKTRBAA8K4CiYbIPp+PDW1t5qb+ZcKQwIxZ C3oJA2kAwLumi0w7OiqSGKWtI3yV9rNPntyc2KQdkRk9cQAAvIscJidZWG3mqHy89IZ804SR6Zix RDFWJzlK23Axz4zIBQDOJBCRuDQ/OqLItKOrDx5asw/DkoRmxFH5mlH8OhzDbQHg3WQRtZuZhDE6 clky9201YURlqDFIGGODGT0rAwCcVRxRKX9MtJ8tJarF7WffcIJZY3mmtKJVFK+s+AYAcBYxRJ+L Sk5jcMzp12iq2myVMFpO0CpXtdoRgQDAGSQSdW5bCePRII1R8h3tL1lLaq4kyhN/SNwhHtkaUQDA UdOFVRXxkoUmh0fQfmZK/SILy/t94mS9dUsiI3on6J209jNF4o5w5AEAZxFHNM/iURxLZbFKGT+7 ltSUSBjRCKjoRB/BBaQjHADOKAmvKqP1UTyM9jFqQz2BaL/D6sJoPenROdHoKC+EVdfLCAJ5AMCR xJGpzHg32I9EW9pSltosYXiiECNWRXW4R0PUmrOoFgDAEdOFJpEoSTyPe/U4VxpzfvdFCSNKGi1W fF6Au7T1a7SsagsAsHe6EMmVo7yb63tSFF5ZalHq6Gc2utnRUZEkshdgSpw8ogCAI6YLWUEUd+fj pQkj3W6uMXEvEkdWEnfR63abxSsAgBeki7k32Hfj0BJH3W5uMlqqbzh5TyCtUSpzEVpKU6QMADhi uvCE8VBuqj1R3IMb72iY7WLmrlabnXuRsWXGng/xZ4KTMgDgiOlCGiowLdKIOr6jzetm7ZGx1bDa TN/F87glLkhLR44IczQAYL90kZnYbI2EqtvEW4M8Mqt/L2of+4YLEfVfaOb0TvJWXIybcWE8e86Z owEAsJUsrOkGmVLUXZFG1D5mb7BXm4vRz7worQkjEsVNsanVqROtzLjYogAAM2URdXA/GtrIW0Ic L524Nyy4UJm+jEdwEerj+vM4/DxeiuN/P6P7kdz487z7ed4rF6P7ea0rfueOv3EA2KAMJZLbEygr iqjNbE0X2u/YfEM9JC9MV/3gLlGWsmpz1vH98/uUx70QRl8cXXFIJY5IGoI4AGBFWbR0cFtTDeo2 8ltpH7W+jUyHt7fH92YJY3JEkZFFfVG+fxLFd5EsbkXCGKqEEQmjThmlLOp0QdoAgLVkUYujbrSt AUC3QBLWa9mEYW0V8fKSVH1xygbbGjJWlppuijQG5Yhk0SmJoa+k4EmDtAEAS0RRPnorz1ojoer2 sD40aUQDgzJbts5KGUPDxeoco0bjiy9KuhgUWVyLz1+MhOEJoyt+v1H5Gk0SpA0AyIoiksUYVFse jizqR00ac6YeTMnzWj1haHfpVsdOb0SwoUgadbK4FsmiTBnZhNFVKUNDEwdpAwCyohCZtyzSwyhD 1cdvI2lEKcOTxSpTEJb0YZSNb1mailLGUxpRGWqoRKHJonMa+k7aO8ERBwCiiEShVVesEaLlTbM1 2Oe3IwpLGLdkyvDKaZsnDE0cXSGLTMrISKNMFhdHFpYwpkIWnZM4InEgDwBEYcnCWnVWW+LDE0Ut jUgcmc7uVdeQWiIMcS5iJmXcqpLTt/w5IqpFFlGjXs/b6BrEQeoAQBTRpLxphiwsUXji8EpSWv+F yEqd3XOFMTl34V7KuFelpUtwaGWovlEW5UXqg5SRKU1NhmQA4NyCyIpCjGShDZ3V5lV8B3L4bXzu OyhFeSOkWs5/s4RhDVEt7+QfRUNfSqNMGV6qqKXRBymjlsTFKFPV3zsVH7eUpqagzAUAxxRDNmFk k8XDSBfaCKhaCv/5OTxpRB3eXt/FquvtrdGHUd+p18t2PIqGXytNXZTk4U3Sy7zxtTiespjEHmk1 JctVmWQDAOcSibXQamYDJGvobCmL34njP+L3YWRLUasOpS25zPy+srPZKhFpX+Md3pDZqA+j5Y9k 6UXrFn4eAPZPGNnyU3borCaLm1KG+k+VLLzDG17rSWOTdLFEGCJ+B7IllEgCEryWbaCjWZlrxVlE AXA+cSyRxST6sFlNFjdHFnU5yhPGb0cW1gipTSofwwpvRl3S0dZ+19JEn0waljCiIW7Px6EqS12K z2n9IyL+pEBGTQGcUxaZ5T2iDm5v8yNtUp7VZ/FPQ7Lw9gpqWdJ8t+XNPVlIUhqZklSXSBGj2JNn roU0xh9ZjIU4ns9HRxzWo9dBjlAAjlOGmgJJiCzbz8KSxbfofRSRLH47Zaho7oXIhpvKrTUPo1N+ wbFoOLPSyAgjMw66vJClLMpjlD9HYdXikMSjJocu+SYhFYBlMmhJFa2y0EZCZWRxE33IbC2Hf6rH WhatI6M230RurZKUNcy2FkerNLw33lvw6/mmXos3tlyj6iH6aKw+WRaLZIEgAPYTSKs0rEUEvdFQ 1uZH2qQ8r5/iH4k7uVtGRmlltdVYM2FYb9RYNbgZaXiNq/amWtseatJ4iD9JcKk0WjrnAWB7aXhr QXk3oJP4o6G0mdzakh9WZ/c/Ys/DiFanrTdM8q7BoUpSUWmqbOSz0rB+flSGeiSkcRF7rw1vhrlI bhgx0gDYVxhT0GjWd+FjsmJxF31TuGg2dzSk9rdRjlpj7+7DJYxsaapMG1oDG02Es5ZR90RRvsHP pdOfW79mpZFdUh1hABxfGN5EvKws6r6Let8Kq/8imt3tLWWe2fNis1LUFgnDeyNHpeF8JGThJYxo 8kx5J3AtJHFVUoa1LIkmjH6mMJAFwPbCyHZyjzOqFlay0Pa1aJnR7Y2KinbV82SxujS2Kklpo4Qm RRwtPzsShZUqvooL/0wX9QZN1gq5njhE2kZSIQ2A7WQxNT5qZai6P3SU3G559RIgVsqwEoW1wGA0 jFacEtQpEoYnjXLOQ7bxzAyh9UYtfBXiuMq/d/UbnKShiWOuNJAFwHGkYQnj0ZAublU5yts5L1qy /DuQRVSCispzpyhJlfLwImGLLKw+DC8yluIYKnFo0uiN8hTSAHgfYYwSz+HKlqIyW61qaULbqzsq Q2X7LTaTx7DRm9gF4sjKQpKi8IRx/XkjalnUfRmeNCxhRP0ZCAPgGMLwZDGJP4imlsXdKEdF+3Pf xO+rqDu4DyWLLRNG1J8RScMaAjc69UUrXVyrhOGVpYbGlIEwAM6TLsZkwshULW4N0rgpj9oM7nr4 bKss3qIkNVcaIvl16LWRUc9SVJkwhiphWH0ZLSlj7dngANAuCi1R1M+z6WIUe85FnTK+FWnclBRR J4rspLwWWWwujuGFb3KLNDL9F1Z0/DJKUbUwWstSnjSQBcDxpRHJIprRHaWMmyEIL1FEqSLb0X36 Tu9SFFlpTOKvSZ8dVntVRKEJo+78tvYWvyQSBsIAOFZJKhKG1p6MTtXCGimlPY9E8RB9BvdDkdok L1qN9ggJo0Ua2T0vvIRxlT/7MKwSVDS8NprINzdlIA6AdUQRJYy6HOUtLGi1KZnSlCWSjChaS1C7 yGKPklQkDS1teEnjUr3JQ/H4nKh3q4RxUaRxCRJGZngtHd8Ax0oYmXJUZq+LaB0p77WHxP0UD4nX htqlz2IvYWSkMUnbHhhjII5aCjcjTXjlqOxcjEgaiAJge3FkN0NqmYORKU9ZcmhJFNYM7sPI4tXC mFue0t703hFH+ca2pIkoXWRkkU0ZHogFoK1BbNk9L+rH8OZ5ZYRgPc+Iwis/7S6LPYThSUOTxyh/ 7hNei6N+oy/y7z0v7skk4fVdZIWxRBaIAmC+OLKyyHZ+eyth3wOpRENkWzc/OoQs9hJGNmlMSmNc v+F9lTZ6+fduehdFHPXn+oQoMsIQsffKQAwA24ukRRqZlOF1hkevWf0To1IWkzPIYk9hlCffGc8l SBudkjaejXmdNHrjMRLEnHSBMAD2k4WIP2CmRRqePEbxl/Cw0kRUftp1nsWRhdFaotI6xbW00RWl qmfi0NJDS5pAGADnF4ZIbk0pSxjWx1lJjOL3URwyVRxNGFrasGRRp43668dKFmVD/0gKwtqiNdrn m/kXAPsJQyS3rPmkNN7185bDks00s/R0WFkcSRiiJAxLIJNxh1+nkzFICr3zemY01JzlzZEGwD7C kERpKtv4j4mUUm9L3ZImpqNe+OHAfwzRwoWROLoqcXTiL1MepYmlu+0hCoDXlaZapZFJHlMghslJ FJnf7dCyOKoworSREYcYAukqeWTkQKoAeO+kIQl5eK+PkptDccpUcRZhiPgjqTKd4p2TRGSGIJYI A2kAbC+LrDBE8qOpWo45SWI6y0UfTvbHEZWp6mSSafQzH4vkJ+chDIB9hRHdxWdGKUWL/0Wd2G8l irMJQ5OBKOnDk4bX6GdSw1qLCyINgNcKo0UakUhE5o1yOrUozioMcWTRkjqyKSGbJOjgBjiuSLyG u6V/YU5fxFuI4szC0N6MOaljmiGDTOkJUQAcM31MM59PC37GW4jiXYShiUMkP7JK+16SBMBnp45s w9/6McI48B9GlDrq2eNTQjgIA+D9hLH11yCME6cOCdJHy89AGADnFEbm89PCr0UYb5A6ZIFAsn8o SATguIJo+fppxX8HYZz8D6n75DcfAGE0ff3HtxEDf1ipdNDyh9LxhwVwOmkgB4Sx6h9Kxx8aAGJB GLDmHxb9FwCIAGEAf6gA8Ln0XAIAAEAYAACAMAAAAGEAAADCAACAs/JfAQYAL3iXmIlSiu4AAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 179.2061 198.1514)"
+   id="image77"></image><g
+   id="g79"><radialGradient
+   id="SVGID_5_"
+   cx="225.1929"
+   cy="226.1387"
+   r="30.8299"
+   gradientTransform="matrix(1 0 0 0.75 0 56.5347)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop82" /><stop
+   offset="0.4828"
+   style="stop-color:#FDFEFB"
+   id="stop84" /><stop
+   offset="0.7611"
+   style="stop-color:#F8FBF3"
+   id="stop86" /><stop
+   offset="0.989"
+   style="stop-color:#F2F8E8"
+   id="stop88" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop90" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.8025"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><path
+   fill="url(#SVGID_5_)"
+   d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801      v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path92" /><path
+   fill="none"
+   stroke="#EDF5E5"
+   stroke-width="5"
+   stroke-miterlimit="10"
+   d="M186.706,235.825      c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801      h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path94" /></g></g><path
+   opacity="0.74"
+   fill="#FFFFFF"
+   a:adobe-blending-mode="lighten"
+   d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107    v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324    c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z"
+   id="path96" /><linearGradient
+   id="SVGID_6_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="204.3135"
+   x2="225.1929"
+   y2="246.626"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0"
+   id="stop99" /><stop
+   offset="0.0141"
+   style="stop-color:#FDFDFC;stop-opacity:2.231669e-04"
+   id="stop101" /><stop
+   offset="0.1344"
+   style="stop-color:#BEBEAF;stop-opacity:0.0148"
+   id="stop103" /><stop
+   offset="0.2565"
+   style="stop-color:#94957C;stop-opacity:0.0297"
+   id="stop105" /><stop
+   offset="0.3796"
+   style="stop-color:#747759;stop-opacity:0.0446"
+   id="stop107" /><stop
+   offset="0.5029"
+   style="stop-color:#5D633F;stop-opacity:0.0596"
+   id="stop109" /><stop
+   offset="0.6263"
+   style="stop-color:#4D552E;stop-opacity:0.0746"
+   id="stop111" /><stop
+   offset="0.75"
+   style="stop-color:#414B23;stop-opacity:0.0896"
+   id="stop113" /><stop
+   offset="0.8742"
+   style="stop-color:#3B461E;stop-opacity:0.1047"
+   id="stop115" /><stop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12"
+   id="stop117" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="0.2901"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path
+   fill="url(#SVGID_6_)"
+   a:adobe-blending-mode="darken"
+   d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801    h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962    c0,0,10.063,0.328,10.801,10.799V221.954z"
+   id="path119" /></g><g
+   id="g121"><g
+   id="g123"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 216.5547)"
+   id="image125"></image><g
+   id="g127"><radialGradient
+   id="SVGID_7_"
+   cx="202.6289"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop130" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop132" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop134" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_7_)"
+   cx="202.629"
+   cy="219.704"
+   r="2.999"
+   id="circle136" /></g></g><g
+   id="g138"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 213.9448 216.5547)"
+   id="image140"></image><g
+   id="g142"><radialGradient
+   id="SVGID_8_"
+   cx="217.5439"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop145" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop147" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop149" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_8_)"
+   cx="217.544"
+   cy="219.704"
+   r="2.999"
+   id="circle151" /></g></g><g
+   id="g153"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 216.5547)"
+   id="image155"></image><g
+   id="g157"><radialGradient
+   id="SVGID_9_"
+   cx="232.459"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop160" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop162" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop164" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_9_)"
+   cx="232.459"
+   cy="219.704"
+   r="2.999"
+   id="circle166" /></g></g><g
+   id="g168"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 243.7749 216.5547)"
+   id="image170"></image><g
+   id="g172"><radialGradient
+   id="SVGID_10_"
+   cx="247.374"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop175" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop177" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop179" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_10_)"
+   cx="247.374"
+   cy="219.704"
+   r="2.999"
+   id="circle181" /></g></g><g
+   id="g183"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 230.2217)"
+   id="image185"></image><g
+   id="g187"><radialGradient
+   id="SVGID_11_"
+   cx="202.6289"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop190" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop192" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop194" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_11_)"
+   cx="202.629"
+   cy="233.37"
+   r="2.999"
+   id="circle196" /></g></g><g
+   id="g198"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 213.9448 230.2217)"
+   id="image200"></image><g
+   id="g202"><radialGradient
+   id="SVGID_12_"
+   cx="217.5439"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop205" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop207" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop209" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_12_)"
+   cx="217.544"
+   cy="233.37"
+   r="2.999"
+   id="circle211" /></g></g><g
+   id="g213"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 230.2217)"
+   id="image215"></image><g
+   id="g217"><radialGradient
+   id="SVGID_13_"
+   cx="232.459"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop220" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop222" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop224" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_13_)"
+   cx="232.459"
+   cy="233.37"
+   r="2.999"
+   id="circle226" /></g></g><g
+   id="g228"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 243.7749 230.2217)"
+   id="image230"></image><g
+   id="g232"><radialGradient
+   id="SVGID_14_"
+   cx="247.374"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop235" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop237" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop239" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_14_)"
+   cx="247.374"
+   cy="233.37"
+   r="2.999"
+   id="circle241" /></g></g></g></g><path
+   d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path243"
+   inkscape:connector-curvature="0"
+   style="fill:#f5f5f5" /><g
+   id="g245"
+   transform="translate(0,16)"><g
+   id="g247"><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path249"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path251"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path253"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path255"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path257"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path259"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path261"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path263"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path265"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path267"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /></g><g
+   id="g269"><linearGradient
+   id="SVGID_15_"
+   gradientUnits="userSpaceOnUse"
+   x1="324.1611"
+   y1="239.7637"
+   x2="324.1611"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop272" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop274" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path276"
+   style="fill:url(#SVGID_15_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_16_"
+   gradientUnits="userSpaceOnUse"
+   x1="377.45459"
+   y1="239.7637"
+   x2="377.45459"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop279" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop281" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path283"
+   style="fill:url(#SVGID_16_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_17_"
+   gradientUnits="userSpaceOnUse"
+   x1="435.17719"
+   y1="239.7637"
+   x2="435.17719"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop286" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop288" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path290"
+   style="fill:url(#SVGID_17_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_18_"
+   gradientUnits="userSpaceOnUse"
+   x1="474.83691"
+   y1="239.7637"
+   x2="474.83691"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop293" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop295" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path297"
+   style="fill:url(#SVGID_18_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_19_"
+   gradientUnits="userSpaceOnUse"
+   x1="512.28223"
+   y1="239.7637"
+   x2="512.28223"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop300" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop302" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path304"
+   style="fill:url(#SVGID_19_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_20_"
+   gradientUnits="userSpaceOnUse"
+   x1="546.65918"
+   y1="239.7637"
+   x2="546.65918"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop307" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop309" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path311"
+   style="fill:url(#SVGID_20_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_21_"
+   gradientUnits="userSpaceOnUse"
+   x1="580.69629"
+   y1="239.7637"
+   x2="580.69629"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop314" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop316" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path318"
+   style="fill:url(#SVGID_21_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_22_"
+   gradientUnits="userSpaceOnUse"
+   x1="622.7832"
+   y1="239.7637"
+   x2="622.7832"
+   y2="155.3268"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop321" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop323" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path325"
+   style="fill:url(#SVGID_22_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_23_"
+   gradientUnits="userSpaceOnUse"
+   x1="655.6709"
+   y1="239.7637"
+   x2="655.6709"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop328" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop330" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path332"
+   style="fill:url(#SVGID_23_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_24_"
+   gradientUnits="userSpaceOnUse"
+   x1="697.92969"
+   y1="239.7637"
+   x2="697.92969"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop335" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop337" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path339"
+   style="fill:url(#SVGID_24_)"
+   inkscape:connector-curvature="0" /></g></g><g
+   id="g4141"
+   transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g
+   id="g4143"></g><g
+   id="g4165"><linearGradient
+   y2="155.3275"
+   x2="324.1611"
+   y1="239.7637"
+   x1="324.1611"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4167"><stop
+   id="stop4169"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4171"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="377.45459"
+   y1="239.7637"
+   x1="377.45459"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4175"><stop
+   id="stop4177"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4179"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="435.17719"
+   y1="239.7637"
+   x1="435.17719"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4183"><stop
+   id="stop4185"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4187"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="474.83691"
+   y1="239.7637"
+   x1="474.83691"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4191"><stop
+   id="stop4193"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4195"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="512.28223"
+   y1="239.7637"
+   x1="512.28223"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4199"><stop
+   id="stop4201"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4203"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="546.65918"
+   y1="239.7637"
+   x1="546.65918"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4207"><stop
+   id="stop4209"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4211"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="580.69629"
+   y1="239.7637"
+   x1="580.69629"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4215"><stop
+   id="stop4217"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4219"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3268"
+   x2="622.7832"
+   y1="239.7637"
+   x1="622.7832"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4223"><stop
+   id="stop4225"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4227"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="655.6709"
+   y1="239.7637"
+   x1="655.6709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4231"><stop
+   id="stop4233"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4235"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="697.92969"
+   y1="239.7637"
+   x1="697.92969"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4239"><stop
+   id="stop4241"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4243"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient></g></g></svg>
+    </a>
+
+    <div class="spinner" id='spinner'></div>
+    <div class="emscripten" id="status">Downloading...</div>
+
+<span id='controls'>
+  <span><input type="checkbox" id="resize">Resize canvas</span>
+  <span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
+  <span><input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked, 
+                                                                            document.getElementById('resize').checked)">
+  </span>
+</span>
+
+    <div class="emscripten">
+      <progress value="0" max="100" id="progress" hidden=1></progress>
+    </div>
+
+    
+    <div class="emscripten_border">
+      <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
+    </div>
+    <textarea id="output" rows="8"></textarea>
+
+    <script type='text/javascript'>
+      var statusElement = document.getElementById('status');
+      var progressElement = document.getElementById('progress');
+      var spinnerElement = document.getElementById('spinner');
+
+      var Module = {
+        preRun: [],
+        postRun: [],
+        print: (function() {
+          var element = document.getElementById('output');
+          if (element) element.value = ''; // clear browser cache
+          return function(text) {
+            if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+            // These replacements are necessary if you render to raw HTML
+            //text = text.replace(/&/g, "&amp;");
+            //text = text.replace(/</g, "&lt;");
+            //text = text.replace(/>/g, "&gt;");
+            //text = text.replace('\n', '<br>', 'g');
+            console.log(text);
+            if (element) {
+              element.value += text + "\n";
+              element.scrollTop = element.scrollHeight; // focus on bottom
+            }
+          };
+        })(),
+        printErr: function(text) {
+          if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+          if (0) { // XXX disabled for safety typeof dump == 'function') {
+            dump(text + '\n'); // fast, straight to the real console
+          } else {
+            console.error(text);
+          }
+        },
+        canvas: (function() {
+          var canvas = document.getElementById('canvas');
+
+          // As a default initial behavior, pop up an alert when webgl context is lost. To make your
+          // application robust, you may want to override this behavior before shipping!
+          // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
+          canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
+
+          return canvas;
+        })(),
+        setStatus: function(text) {
+          if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
+          if (text === Module.setStatus.text) return;
+          var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
+          var now = Date.now();
+          if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
+          if (m) {
+            text = m[1];
+            progressElement.value = parseInt(m[2])*100;
+            progressElement.max = parseInt(m[4])*100;
+            progressElement.hidden = false;
+            spinnerElement.hidden = false;
+          } else {
+            progressElement.value = null;
+            progressElement.max = null;
+            progressElement.hidden = true;
+            if (!text) spinnerElement.style.display = 'none';
+          }
+          statusElement.innerHTML = text;
+        },
+        totalDependencies: 0,
+        monitorRunDependencies: function(left) {
+          this.totalDependencies = Math.max(this.totalDependencies, left);
+          Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
+        }
+      };
+      Module.setStatus('Downloading...');
+      window.onerror = function(event) {
+        // TODO: do not warn on ok events like simulating an infinite loop or exitStatus
+        Module.setStatus('Exception thrown, see JavaScript console');
+        spinnerElement.style.display = 'none';
+        Module.setStatus = function(text) {
+          if (text) Module.printErr('[post-exception status] ' + text);
+        };
+      };
+    </script>
+    <script>
+
+          (function() {
+            var memoryInitializer = 'bigBedSummary_static.js.html.mem';
+            if (typeof Module['locateFile'] === 'function') {
+              memoryInitializer = Module['locateFile'](memoryInitializer);
+            } else if (Module['memoryInitializerPrefixURL']) {
+              memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer;
+            }
+            var xhr = Module['memoryInitializerRequest'] = new XMLHttpRequest();
+            xhr.open('GET', memoryInitializer, true);
+            xhr.responseType = 'arraybuffer';
+            xhr.send(null);
+          })();
+
+          var script = document.createElement('script');
+          script.src = "bigBedSummary_static.js.js";
+          document.body.appendChild(script);
+
+</script>
+  </body>
+</html>
diff --git a/bedTools/bigBedSummary_static.js.html.mem b/bedTools/bigBedSummary_static.js.html.mem
new file mode 100644
index 0000000000000000000000000000000000000000..a82da49c4b7dd40d52476510e66a00dcd6221575
Binary files /dev/null and b/bedTools/bigBedSummary_static.js.html.mem differ
diff --git a/bedTools/bigBedSummary_static.js.js b/bedTools/bigBedSummary_static.js.js
new file mode 100644
index 0000000000000000000000000000000000000000..c0b3f4dde4510b59486d59b21e933b3567498481
--- /dev/null
+++ b/bedTools/bigBedSummary_static.js.js
@@ -0,0 +1,17 @@
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+28880;__ATINIT__.push();memoryInitializer="bigBedSummary_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_v;var ja=env.invoke_iii;var ka=env.invoke_iiiiii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=oc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=oc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=22864;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=22891;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=lc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=22841;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=22864;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=22911;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=Zi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=22975;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=23004;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=lc(o,q,r)|0;else o=oc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=Zi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=23178;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=lc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11804+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=23199;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=oc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}pe(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11804+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=23040;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9628;c[H>>2]=9;c[I>>2]=11676;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=22956;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=23065;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=23065;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=23091;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=23128;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=23156;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=oc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=23274;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;pe(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=oc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=oc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=23252;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=oc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=22936;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=oc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=23222;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Nc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=lc(j,h,k)|0;else h=oc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6545]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=26220+(b<<1<<2)|0;e=d+8|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[6549]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6545]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6547]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=26220+(b<<1<<2)|0;e=d+8|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[6549]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6547]|0;break}else Za()}else{c[6545]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6550]|0;b=l>>>3;d=26220+(b<<1<<2)|0;a=c[6545]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{m=a;n=b}}else{c[6545]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6547]=h;c[6550]=e;N=j;i=O;return N|0}a=c[6546]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[26484+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6549]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=26484+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6546]=c[6546]&~(1<<a);break}}else{if(h>>>0<(c[6549]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6549]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6549]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6547]|0;if(a|0){f=c[6550]|0;b=a>>>3;e=26220+(b<<1<<2)|0;a=c[6545]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{r=a;s=b}}else{c[6545]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6547]=d;c[6550]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6546]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[26484+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[26484+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6547]|0)-q|0)>>>0:0){f=c[6549]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=26484+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6546]=c[6546]&~(1<<a);break}}else{if(g>>>0<(c[6549]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6549]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6549]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=26220+(a<<1<<2)|0;b=c[6545]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{w=a;x=b}}else{c[6545]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=26484+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6546]|0;b=1<<d;if(!(a&b)){c[6546]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6549]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6547]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6550]|0;if(a>>>0>15){N=b+q|0;c[6550]=N;c[6547]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6547]=0;c[6550]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6548]|0;if(a>>>0>q>>>0){L=a-q|0;c[6548]=L;N=c[6551]|0;M=N+q|0;c[6551]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6663]|0)){c[6665]=4096;c[6664]=4096;c[6666]=-1;c[6667]=-1;c[6668]=0;c[6656]=0;x=p&-16^1431655768;c[p>>2]=x;c[6663]=x}h=q+48|0;g=c[6665]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6655]|0;if(a|0?(w=c[6653]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6656]&4)){a=c[6551]|0;c:do if(a){d=26628;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6548]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6664]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6653]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6655]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6665]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6656]=c[6656]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6653]|0)+f|0;c[6653]=a;if(a>>>0>(c[6654]|0)>>>0)c[6654]=a;j=c[6551]|0;do if(j){e=26628;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6548]|0)|0;c[6551]=M;c[6548]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6552]=c[6667];break}a=c[6549]|0;if(h>>>0<a>>>0){c[6549]=h;k=h}else k=a;d=h+f|0;a=26628;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=26628;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6550]|0)){N=(c[6547]|0)+g|0;c[6547]=N;c[6550]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=26484+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6549]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6546]=c[6546]&~(1<<b);break e}while(0);e=c[6549]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6549]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=26220+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6545]=c[6545]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=26220+(a<<1<<2)|0;b=c[6545]|0;a=1<<a;do if(!(b&a)){c[6545]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6549]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=26484+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6546]|0;b=1<<d;if(!(a&b)){c[6546]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6549]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6548]|0)+g|0;c[6548]=N;c[6551]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=26628;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6551]=N;c[6548]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6552]=c[6667];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6657];c[a+4>>2]=c[6658];c[a+8>>2]=c[6659];c[a+12>>2]=c[6660];c[6657]=h;c[6658]=f;c[6660]=0;c[6659]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=26220+(a<<1<<2)|0;b=c[6545]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{J=a;K=b}}else{c[6545]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=26484+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6546]|0;b=1<<d;if(!(a&b)){c[6546]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6549]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6549]|0;if((N|0)==0|h>>>0<N>>>0)c[6549]=h;c[6657]=h;c[6658]=f;c[6660]=0;c[6554]=c[6663];c[6553]=-1;a=0;do{N=26220+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6551]=M;c[6548]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6552]=c[6667]}while(0);a=c[6548]|0;if(a>>>0>q>>>0){L=a-q|0;c[6548]=L;N=c[6551]|0;M=N+q|0;c[6551]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(xi()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0}while((Hj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=id(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[25994+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=id(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[26003+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=id(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=id(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(xi()|0)>>2]=22;jg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=id(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=id(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;k=ni(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=ni(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=id(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else jg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=ni(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=vc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){jg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Lh(o|0,n|0,2)|0;H=ni(H|0,C|0,-32,-1)|0;e=ni(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(xi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(xi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=ni(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Xh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=ni(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Uj(+Sd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(xi()|0)>>2]=34;g=+Vj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=id(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|0)==48){h=0;e=0;while(1){h=ni(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=ni(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=id(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=vc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){jg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=ni(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(xi()|0)>>2]=22;jg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(xi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(xi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9596+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9596+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9596+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Lh(c[p>>2]|0,0,29)|0;o=ni(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ti(o|0,n|0,1e9,0)|0;o=Og(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Uj(+Sd(1.0,105-o|0),j);m=+dk(j,+Sd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+dk(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(xi()|0)>>2]=34}while(0);g=+Vj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(xi()|0)>>2]=22;jg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(xi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Zc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[23302+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}tc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Qh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=23782;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=23782;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Xh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=23782;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?23782:23784;L=76}else{p=1;r=23783;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=23782;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=23782;o=N;break}case 109:{o=qe(c[(xi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:25684;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Gd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?25692:25697}else{G=1;H=25694}else{q=-q;G=1;H=25691}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Xj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ie(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[23766+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Gd(e,32,K,r,I);if(!(c[e>>2]&32))Zc(y,w,e)|0;Gd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Zc(ea,o,e)|0;f=ba-p|0;Gd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Zc(t,f,e)|0;Gd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Lh(c[r>>2]|0,0,t|0)|0;B=ni(B|0,C|0,o|0,0)|0;o=C;A=Og(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ti(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ie(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Gd(e,32,K,w,I);if(!(c[e>>2]&32))Zc(H,G,e)|0;Gd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ie(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Xe(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Zc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Zc(25722,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ie(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Xe(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Zc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Gd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ie(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Zc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Zc(25722,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Xe(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Zc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Gd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Zc(u,ba-u|0,e)|0}while(0);Gd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Gd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Zc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Zc(s?(t?26003:25718):t?25710:25714,3,e)|0;Gd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=23782;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[23766+(o&15)>>0]|r;o=Qh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=23782;L=77}else{o=t;t=2;r=23782+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=23782;L=77}}else if((L|0)==76){f=ie(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Oc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=23782;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Ni(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Gd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Ni(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Zc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Gd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Gd(e,32,o,s,p);if(!(c[e>>2]&32))Zc(v,w,e)|0;Gd(e,48,o,s,p^65536);Gd(e,48,r,t,0);if(!(c[e>>2]&32))Zc(f,t,e)|0;Gd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;tc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=yk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Hj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{jg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=id(e)|0}while((Hj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}jg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((id(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Xe(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Xe(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=id(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Cc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=oe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Vi(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=id(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=oe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=id(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=id(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;jg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=id(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Hj(d[m>>0]|0)|0))break;else n=m}jg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=id(e)|0}while((Hj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)xk(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=ni(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[183]|0)==0?(vf(c[a+8>>2]|0,21338)|0)!=0:0){ba=a+32|0;T=ba;T=Eb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=ni(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=ni(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=ni(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=ni(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Xh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=ni(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Xh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Xh(k|0,j|0,f|0,d|0)|0;pe(b|0,B+f|0,o|0)|0;e=ni(o|0,E|0,e|0,n|0)|0;f=C;d=Xh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=ni(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Yg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=je(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=ni(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Xh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[183]|0){y=ni(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=ni(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Ti(k|0,j|0,w|0,0)|0;t=ni(A|0,B|0,-1,-1)|0;t=ni(t|0,C|0,w|0,0)|0;w=Ti(t|0,C|0,w|0,0)|0;t=m+52|0;Vf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((rj(u,d,s)|0)<(s|0))f=0;else{Sj(u);j=B;k=A;continue}while(1){o=rj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=zj(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Zg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Zg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=ni(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Xh(f|0,j|0,p|0,q|0)|0;k=C;f=ne(j)|0;c[W>>2]=f;m=Eb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Yg(Z,c[K>>2]|0,p,0)|0;tf(Z,c[K>>2]|0,f,j);Pi(W)}be(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Yg(P,c[t>>2]|0,da+64|0,0)|0;tf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Sj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Yg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}wf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ai(21350,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Th(4,21406,$);Th(4,21452,aa);S=0;T=0;break}else if((n|0)==36){wf(Z,j,f,h);S=ba;S=ni(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=ni(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[183]|0:d;c[I>>2]=b;c[I+4>>2]=m;Th(4,21568,I);if(0){c[e>>2]=b;Eh(0,21589,e)|0}c[h>>2]=0;c[n>>2]=0;ud(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Sj(d);u=si(21338)|0;c[h>>2]=u;Sj(c[n>>2]|0);c[n>>2]=si(b)|0;j=1}else{u=d;j=0}h=u;g=je(16)|0;do if(!(vf(u,21598)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=21598}else{if(!(vf(u,21833)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=21833;break}if(vf(u,20727)|0?vf(u,21994)|0:0){if(!(vf(u,22e3)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=22e3;break}if(!(vf(u,21338)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=21338;break}else{c[k>>2]=u;Ai(22015,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=20727}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[183]|0?(l=(Ge(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Hb[c[g+8>>2]&7](b,p)|0)){Pi(o);Sj(u);Sj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=je(312)|0;c[d+4>>2]=si(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;fd(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[183]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(li(c[g>>2]|0)|0))t=29;else{ke(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[183]|0;if(g){Jd(c[d+40>>2]|0);p=d+44|0;n=Ec(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(li(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;Th(4,22104,s);Ii(G);If(c[p>>2]|0)|0;If(c[K>>2]|0)|0;g=d+52|0;if(li(c[g>>2]|0)|0)If(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];Th(4,22195,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Nd(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=ni(h|0,k|0,8191,0)|0;k=Qh(k|0,C|0,13)|0;lf(j,A,4);lf(j,x,4);lf(j,I,8);lf(j,v,8);lf(j,w,4);lf(j,y,4);lf(j,z,8);lf(j,z,8);lf(j,z,8);lf(j,z,8);g=d+136|0;h=Yg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Ai(22245,D)}a[E>>0]=0;Yg(g,j,((k+7|0)/8|0)+-1|0,1)|0;tf(g,j,E,1);kg(B);c[B>>2]=Nd(c[d+48>>2]|0,577)|0;kg(B);g=Ec(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Ai(22312,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=Lf(c[f+52>>2]|0,0,1)|0;Od(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=ni(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=Qh(H|0,C|0,13)|0;H=(rj(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Yg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Nd(c[d+48>>2]|0,2)|0;if(Gg(20727,u)|0){c[I>>2]=0;j=d+52|0;if(li(c[j>>2]|0)|0)xg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;If(c[j>>2]|0)|0;break}else{if(!(_g(g,h)|0))break;K=mg(c[j>>2]|0,22342)|0;H=c[f>>2]|0;bh(K,H,Wd(H)|0);gh(K,c[j>>2]|0)|0;Sj(K);break}}else c[d+132>>2]=si(c[I>>2]|0)|0;while(0);Sj(c[I>>2]|0)}}}else{if(!(li(b)|0)){d=0;break}K=Nd(b,0)|0;c[d+56>>2]=K;Ee(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}Sj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6549]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6550]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6547]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=26220+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6545]=c[6545]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=26484+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6546]=c[6546]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6549]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6549]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6549]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6551]|0)){p=(c[6548]|0)+g|0;c[6548]=p;c[6551]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6550]|0))return;c[6550]=0;c[6547]=0;return}if((m|0)==(c[6550]|0)){p=(c[6547]|0)+g|0;c[6547]=p;c[6550]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=26484+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6546]=c[6546]&~(1<<a);break}}else{if(f>>>0<(c[6549]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6549]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6549]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=26220+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6549]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6545]=c[6545]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6549]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6550]|0)){c[6547]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=26220+(a<<1<<2)|0;b=c[6545]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6549]|0)>>>0)Za();else{o=a;p=b}}else{c[6545]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=26484+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6546]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6549]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6549]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6546]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6553]|0)+-1|0;c[6553]=q;if(!q)a=26636;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6553]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=11392;C=256;D=11518}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11842;C=-1;D=11968}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6549]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6550]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6547]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=26220+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6545]=c[6545]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=26484+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6546]=c[6546]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6549]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6549]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6549]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6549]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6551]|0)){q=(c[6548]|0)+g|0;c[6548]=q;c[6551]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6550]|0))return;c[6550]=0;c[6547]=0;return}if((o|0)==(c[6550]|0)){q=(c[6547]|0)+g|0;c[6547]=q;c[6550]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=26484+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6546]=c[6546]&~(1<<d);break}}else{if(f>>>0<(c[6549]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6549]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6549]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=26220+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6545]=c[6545]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6550]|0)){c[6547]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=26220+(d<<1<<2)|0;a=c[6545]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6549]|0)>>>0)Za();else{p=d;q=a}}else{c[6545]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=26484+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6546]|0;a=1<<b;if(!(d&a)){c[6546]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6549]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6549]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Fi(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(_e(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Oc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(xi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0}while((Hj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=id(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=id(b)|0;if((d[25729+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){jg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[25729+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;jg(b,0);c[(xi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=id(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Zg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=ni(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[25985+((e*23|0)>>>5&7)>>0]|0;j=a[25729+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;j=a[25729+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Qh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Lh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;j=a[25729+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[25729+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;j=a[25729+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Ti(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Zg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=ni(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0;j=a[25729+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[25729+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=id(b)|0}while((d[25729+i>>0]|0)>>>0<e>>>0);c[(xi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(xi()|0)>>2]=34;g=ni(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(xi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Xh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=23222;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=23252;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=23274;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ve(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(vf(r,18021)|0)){j=g;h=k;N=4;break}s=Fi(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Hj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Wd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Aj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)dj(Q,o,(m|0)==0?18443:m)|0;else{l=qh(o,f)|0;if(!l){l=qh(o,56)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Xi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Wi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Pj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Pj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?18443:m;l=qh(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=pi(Q,o)|0;l=Yh(m)|0;if(!n){dj(Q,o,l)|0;break}else{Mh(n,l);break}}dj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ai(18032,z);break}case 34:{c[A>>2]=o;Ai(18058,A);break}case 36:{c[K>>2]=o;Ai(18097,K);break}case 38:{c[L>>2]=o;Ai(18133,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ai(18166,B);break}case 43:{c[C>>2]=o;Ai(18133,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ai(18208,D);break}case 48:{c[E>>2]=o;Ai(18252,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ai(18287,F);break}case 53:{c[G>>2]=o;Ai(18327,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ai(18363,H);break}case 57:{c[I>>2]=c[l>>2];Ai(18404,I);break}case 65:{Ai(18446,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,14655)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Ze(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Ig(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(xi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Gg(15462,f)|0))m=c[F>>2]|0;else{Xf(F)|0;f=Xf(F)|0;if(!f){O=20;break a}if((((Gg(16102,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(vf(f,16105)|0)if(vf(f,16109)|0){if(I?(g=vf(f,16113)|0,!((H|g|0)==0&G)):0)if(!(vf(f,16117)|0)){f=o;break}else{O=30;break a}if(!(vf(f,16204)|0)){O=34;break a}if(!(vf(f,16113)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Fi(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Rh(f+1|0)|0}if(!(Af(m,16256)|0)){if(o|0)c[e>>2]=si(f)|0;if(k)h=si(f)|0}}while(!(I&(Af(m,16265)|0)==0));if((Gg(16279,f)|0)!=0?(q=(Fi(f,32)|0)+1|0,r=Fi(q,45)|0,(r|0)!=0):0){l=r+1|0;m=sd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=sd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=qe(f)|0;c[z+4>>2]=d;gi(15913,z);f=0;break}case 10:{c[v>>2]=d;gi(15950,v);f=0;break}case 11:{c[x>>2]=d;gi(16006,x);f=0;break}case 15:{c[y>>2]=2e3;gi(16038,y);f=0;break}case 20:{c[u>>2]=d;gi(16076,u);f=0;break}case 30:{if(!g)gi(16121,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;gi(16164,E);f=0;break}case 34:{c[w>>2]=d;gi(16208,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;gi(16233,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;mh(N,256,19575,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;gi(16286,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?26804:16380;c[K+8>>2]=f?16105:16109;c[K+12>>2]=h|0?h:16396;gi(16406,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;mh(N,256,19575,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;gi(16447,M);f=0}break}}i=P;return f|0}function Yb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;x=A+64|0;q=A+56|0;u=A+48|0;t=A+40|0;s=A+32|0;r=A+24|0;v=A+16|0;p=A+8|0;o=A;w=A+84|0;z=A+80|0;g=jh(b)|0;c[z>>2]=g;c[w>>2]=0;h=g+20|0;a:while(1){if(!(gc(g)|0)){b=w;e=47;break}n=je(20)|0;do if(Af(c[h>>2]|0,19700)|0){if(!(Af(c[h>>2]|0,19706)|0)){a[n+17>>0]=1;break}if(Af(c[h>>2]|0,19686)|0){c[o>>2]=c[h>>2];Mf(g,19783,o)}}else a[n+16>>0]=1;while(0);uh(g)|0;j=n+4|0;c[j>>2]=si(c[h>>2]|0)|0;uh(g)|0;c[n+8>>2]=si(c[h>>2]|0)|0;uh(g)|0;Rf(g,19822);k=n+12|0;while(1){if((a[c[h>>2]>>0]|0)==41)break;l=je(48)|0;b=wg(c[h>>2]|0)|0;if(!b){c[p>>2]=c[h>>2];Mf(g,19824,p)}m=l+12|0;c[m>>2]=b;uh(g)|0;if((c[c[m>>2]>>2]&-2|0)==12){c[l+16>>2]=si(c[h>>2]|0)|0;uh(g)|0}switch(a[c[h>>2]>>0]|0){case 91:{if((c[c[m>>2]>>2]|0)==13)a[l+38>>0]=1;else a[l+37>>0]=1;uh(g)|0;b=c[h>>2]|0;d=a[b>>0]|0;do if((d+-48|0)>>>0<10){c[l+24>>2]=Td(b)|0;uh(g)|0}else{if(!(Tj(d)|0)){Mf(g,19866,r);break}d=si(c[h>>2]|0)|0;c[l+28>>2]=d;b=lh(n,d)|0;if(!b){e=23;break a}c[l+32>>2]=b;a[b+36>>0]=1;uh(g)|0}while(0);Rf(g,19781);break}case 40:{uh(g)|0;e=l+40|0;while(1){b=c[h>>2]|0;if((a[b>>0]|0)==41)break;d=Yh(b)|0;c[d>>2]=c[e>>2];c[e>>2]=d;uh(g)|0;d=c[h>>2]|0;b=a[d>>0]|0;switch(b<<24>>24){case 41:case 44:break;default:{c[s>>2]=d;Mf(g,19912,s);b=a[c[h>>2]>>0]|0}}if(b<<24>>24==41)continue;uh(g)|0}Rf(g,19720);Xg(e);break}default:{}}b=si(c[h>>2]|0)|0;d=l+4|0;c[d>>2]=b;f=lh(n,b)|0;if(f|0){e=35;break a}uh(g)|0;c[l+44>>2]=Ae(g,0)|0;if(!(vf(c[h>>2]|0,19978)|0)){a[l+39>>0]=1;if(((c[c[m>>2]>>2]|0)+-3|0)>>>0>=7){e=38;break a}uh(g)|0}Rf(g,20031);c[l+8>>2]=si(c[h>>2]|0)|0;uh(g)|0;if((c[c[m>>2]>>2]|0)==2?c[l+24>>2]|0:0)a[l+37>>0]=0;c[l>>2]=c[k>>2];c[k>>2]=l}Xg(k);if(wh(c[w>>2]|0,c[j>>2]|0)|0){c[q>>2]=c[j>>2];Mf(g,20033,q)}Mh(w,n)}if((e|0)==23){c[v>>2]=d;Ai(19842,v)}else if((e|0)==35){c[t>>2]=c[f+4>>2];c[t+4>>2]=b;Ai(19941,t)}else if((e|0)==38){c[u>>2]=c[d>>2];Ai(19983,u)}else if((e|0)==47){b:while(1){h=c[b>>2]|0;b=c[w>>2]|0;if(!h){e=58;break}f=h+17|0;j=h+4|0;d=h+12|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;e=c[g>>2]|0;if(e|0){v=wh(b,e)|0;e=d+20|0;c[e>>2]=v;if(!v){e=52;break b}if(a[f>>0]|0?(a[(c[e>>2]|0)+17>>0]|0)==0:0){e=55;break b}}}b=h;e=47}if((e|0)==52){c[x>>2]=c[g>>2];Ai(20060,x)}else if((e|0)==55){A=c[d+4>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=A;Ai(20084,y)}else if((e|0)==58){ki(z);i=A;return b|0}}return 0}function Zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=hj(h)|0;c[b+16>>2]=e;f=Cd(c[f>>2]|0)|0;if(!f){s=0;break}s=Wd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Sj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}te(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)$f(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Cg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;te(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;ng(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Yd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ai(20279,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Yd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Yd(b,f);s=1}else s=1}while(0);i=y;return s|0}function _b(a,b,d,e,f,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0.0,E=0.0,F=0.0;B=i;i=i+16|0;A=B;do if(e>>>0>d>>>0){Xe(k|0,0,j*40|0)|0;y=e-d|0;l=((y>>>0)/(j>>>0)|0|0)/2|0;l=De(c[a+100>>2]|0,(l|0)<0?0:l)|0;if(!l){x=rh(0)|0;c[A>>2]=x;b=Ib[f&1](a,b,d,e,x)|0;a:do if(!b)b=0;else{w=((j|0)<0)<<31>>31;t=d;x=0;f=b;b=0;while(1){if((x|0)>=(j|0))break a;u=x+1|0;v=Zg(u|0,((u|0)<0)<<31>>31|0,y|0,0)|0;v=Ti(v|0,C|0,j|0,w|0)|0;v=ni(v|0,C|0,d|0,0)|0;s=(v|0)==(t|0)?t+1|0:v;while(1){if(!f){f=0;l=0;break}if((c[f+8>>2]|0)>>>0>t>>>0){z=31;break}f=c[f>>2]|0}if((z|0)==31){z=0;o=+h[f+16>>3];q=0.0;r=f;p=o;n=0.0;m=0.0;while(1){if(!r)break;a=r+4|0;l=c[a>>2]|0;if(l>>>0>=s>>>0)break;e=r+8|0;l=qi(t,s,l,c[e>>2]|0)|0;if((l|0)>0){D=+((c[e>>2]|0)-(c[a>>2]|0)|0);D=D*(+(l|0)/D);E=+h[r+16>>3];q=q+D;p=p<E?E:p;o=o>E?E:o;n=n+E*D;m=m+E*E*D}r=c[r>>2]|0}l=~~+Z(+q)>>>0;E=+(l>>>0)/q;t=k+(x*40|0)|0;c[t>>2]=l;c[t+4>>2]=0;h[k+(x*40|0)+8>>3]=o;h[k+(x*40|0)+16>>3]=p;h[k+(x*40|0)+24>>3]=n*E;h[k+(x*40|0)+32>>3]=m*E}t=v;x=u;b=(l|0)==0?b:1}}while(0);zi(A);break}x=c[a+20>>2]|0;if(!(ui(x,b,Wd(b)|0,A,8)|0)){b=0;break}Kh(c[a+16>>2]|0,A);b=c[A>>2]|0;if((b|0)>=0){f=hc(l,a,b,d,e)|0;c[A>>2]=f;if(!f)b=0;else{v=((j|0)<0)<<31>>31;s=d;w=0;b=0;while(1){if((w|0)>=(j|0))break;t=w+1|0;u=Zg(t|0,((t|0)<0)<<31>>31|0,y|0,0)|0;u=Ti(u|0,C|0,j|0,v|0)|0;u=ni(u|0,C|0,d|0,0)|0;while(1){if(!f){f=0;l=0;break}if((c[f+12>>2]|0)>>>0>s>>>0){z=13;break}f=c[f>>2]|0}if((z|0)==13){z=0;q=0.0;p=+g[f+24>>2];o=+g[f+20>>2];r=f;n=0.0;m=0.0;while(1){if(!r)break;a=r+8|0;l=c[a>>2]|0;if(l>>>0>=u>>>0)break;e=r+12|0;l=qi(s,u,l,c[e>>2]|0)|0;if((l|0)>0){E=+(l|0)/+(((c[e>>2]|0)-(c[a>>2]|0)|0)>>>0);F=+g[r+24>>2];D=+g[r+20>>2];q=q+ +((c[r+16>>2]|0)>>>0)*E;p=p<F?F:p;o=o>D?D:o;n=n+ +g[r+28>>2]*E;m=m+E*+g[r+32>>2]}r=c[r>>2]|0}if(q>0.0){l=~~+Z(+q)>>>0;F=+(l>>>0)/q;x=k+(w*40|0)|0;c[x>>2]=l;c[x+4>>2]=0;h[k+(w*40|0)+8>>3]=o;h[k+(w*40|0)+16>>3]=p;h[k+(w*40|0)+24>>3]=n*F;h[k+(w*40|0)+32>>3]=m*F}else l=0}s=u;w=t;b=(l|0)==0?b:1}Nh(A)}}else b=0}else b=0;while(0);i=B;return b|0}function $b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((Gg(20342,b)|0)==0?(Gg(20350,b)|0)==0:0)?(Gg(20359,b)|0)==0:0){c[j>>2]=b;Ai(20422,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Th(4,20366,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=Xh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Th(4,20657,m);kg(x);j=h+128|0;if((c[j>>2]|0)>0)kg(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Th(4,20504,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6530]|0)){c[6530]=je(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=rf(j,k,c[6530]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=Xh(l|0,m|0,n|0,I|0)|0;J=C;I=ni(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;ig(20553,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=ni(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Ai(20606,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=ni(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=re(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;mh(y,2048,20708,z)|0;j=ic(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(Gg(20727,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Mc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Sj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Ai(20732,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=rf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)ig(20761,G);else F=j;K=h+120|0;J=K;J=ni(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function ac(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6549]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6665]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6551]|0)){d=(c[6548]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6551]=l;c[6548]=m;return a|0}if((k|0)==(c[6550]|0)){e=(c[6547]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6547]=d;c[6550]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=26484+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6546]=c[6546]&~(1<<d);break}}else{if(h>>>0<(c[6549]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6549]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6549]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=26220+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6545]=c[6545]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Eh(0,22365,b)|0}b=d+112|0;if(c[b>>2]|0)kg(b);b=d+128|0;if(c[b>>2]|0)kg(b);Sj(c[d+4>>2]|0);Sj(c[d+8>>2]|0);Pi(d+12|0);Sj(c[d+40>>2]|0);Sj(c[d+44>>2]|0);Sj(c[d+48>>2]|0);Sj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)kg(b);Ii(d+80|0)}Pi(a);i=e;return}function cc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(13156,13176,448,13192);h=ya()|0;c[s>>2]=h;if((h|0)<0)ig(13205,l);if(h|0)if(!(eh(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;ig(13743,k)}r=Hi()|0;c[s>>2]=r;if(eh(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;ig(13216,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Sg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}cg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))gg(t);if(c[k>>2]|0)gg(m);g=0;f=0;j=h;h=k}if((b|0)==14)ig(13205,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){rd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];ig(13450,o)}rd(k,0,h,e);h=Hg(1,f,g)|0;if((h|0)<0)ig(13361,p);if((h|0)==(g|0)){ph(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ai(13396,q)}}else if((b|0)==28){ph(0)|0;ph(1)|0;Oh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;cg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)ig(13523,u);else if((b|0)==35){c[v>>2]=h;Ai(13538,v)}else if((b|0)==39){v=af(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ai(13568,w)}else if((b|0)==41)Da(13623,13176,242,13647);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2262]|0;v=af(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Eh(h,13666,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(13713,13176,396,13733);else if((b|0)==49)_a(0)}}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=dg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((dg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ni(m|0,l|0,-1,-1)|0;d=C;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;Xh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Xh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Ye(a,b,d)|0){b=ei()|0;if((b|0)>=0){if(($d(b,1)|0)<0){ph(b)|0;b=-1;break}b:do if((qf(b,d,16)|0)<0){n=xi()|0;d=c[n>>2]|0;if((d|0)!=115){w=qe(d)|0;c[e>>2]=d;c[e+4>>2]=w;gi(14591,e);ph(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Tf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=qe(d)|0;c[t>>2]=d;c[t+4>>2]=C;gi(14367,t);ph(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;gi(14499,u);ph(b)|0;e=23;break}c[r>>2]=4;do if((bf(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=qe(d)|0;c[w>>2]=d;c[w+4>>2]=C;gi(14455,w);ph(b)|0;break}}else{B=c[n>>2]|0;C=qe(B)|0;c[v>>2]=B;c[v+4>>2]=C;gi(14425,v);ph(b)|0}while(0)}while(0);b=-1;break a}while(0);if(($d(b,0)|0)<0){ph(b)|0;b=-1;break}if((yf(b,120)|0)<0){ph(b)|0;b=-1}}}else b=-1;else{gi(14247,x+24|0);b=-1}while(0);i=x;return b|0}function fc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,$f(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Xe(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(fc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(xi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;n=q;m=q+4|0;do if(!(a[b>>0]|0)){f=b+4|0;c[f>>2]=0;p=b+16|0;h=b+8|0;j=b+12|0;k=b+33|0;l=b+34|0;d=c[p>>2]|0;a:while(1){g=Rh(d)|0;c[f>>2]=g-(c[p>>2]|0)+(c[f>>2]|0);d=a[g>>0]|0;b:do if(!(d<<24>>24))o=14;else{if(!(d<<24>>24==47&(a[k>>0]|0)!=0))if(d<<24>>24==35&(a[l>>0]|0)!=0){o=14;break}else{j=d;o=18;break a}switch(a[g+1>>0]|0){case 47:{o=14;break b}case 42:break;default:{j=47;o=18;break a}}d=g+2|0;while(1){d=Tb(d,19032)|0;if(d|0)break;if(!(Zb(c[h>>2]|0,j,m)|0)){o=10;break a}d=c[j>>2]|0}d=d+2|0;c[p>>2]=d}while(0);if((o|0)==14){o=0;if(!(Zb(c[h>>2]|0,j,m)|0)){o=17;break}c[f>>2]=(c[f>>2]|0)+1;d=c[j>>2]|0;c[p>>2]=d}}if((o|0)==10){c[n>>2]=c[(c[h>>2]|0)+4>>2];Ai(19035,n)}else if((o|0)==17){a[b+1>>0]=1;e=0;break}else if((o|0)==18){c:do if(j<<24>>24==95|(Aj(j<<24>>24)|0)!=0){d=g;while(1){d=d+1|0;if(Aj(a[d>>0]|0)|0)continue;if((a[d>>0]|0)!=95){e=d;break}}}else{switch(j<<24>>24){case 39:case 34:break;default:{d=g+1|0;e=d;break c}}k=(a[b+32>>0]|0)==0;f=g+1|0;g=k?f:g;d=g+2|0;while(1){e=a[f>>0]|0;if(e<<24>>24==j<<24>>24){if((a[f+-1>>0]|0)!=92){o=29;break}if(f>>>0>=d>>>0?(a[f+-2>>0]|0)==92:0){o=29;break}}else if(!(e<<24>>24)){o=30;break}f=f+1|0}if((o|0)==29){d=f+1|0;e=d;h=f;d=j<<24>>24==0?f:d}else if((o|0)==30){e=f+1|0;h=f;d=f}e=k?h:e}while(0);c[p>>2]=d;f=e-g|0;d=b+28|0;if((f|0)<(c[d>>2]|0)){e=b+20|0;d=e;e=c[e>>2]|0}else{e=f+128|0;c[d>>2]=e;d=b+20|0;e=bj(c[d>>2]|0,0,e)|0;c[d>>2]=e}pe(e|0,g|0,f|0)|0;a[(c[d>>2]|0)+f>>0]=0;e=c[d>>2]|0;break}}else{a[b>>0]=0;e=c[b+20>>2]|0}while(0);i=q;return e|0}function hc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;B=i;i=i+32|0;A=B+16|0;z=B+12|0;y=B+8|0;x=B+4|0;w=B;c[A>>2]=0;h=b+8|0;t=c[h>>2]|0;r=a+24|0;Pf(t,c[r>>2]|0,c[r+4>>2]|0);h=Vc(c[b+4>>2]|0,c[h>>2]|0)|0;c[z>>2]=h;h=Wf(h,d,e,f)|0;c[y>>2]=h;r=b+80|0;a=c[r>>2]|0;if(!a)s=0;else s=ne(a)|0;q=(s|0)==0;p=b+16|0;a=h;a:while(1){if(!a){a=24;break}Ce(a,x,w);o=a+8|0;l=c[o>>2]|0;o=c[o+4>>2]|0;m=c[x>>2]|0;k=m+8|0;m=m+16|0;n=c[m>>2]|0;m=c[m+4>>2]|0;k=Xh(c[k>>2]|0,c[k+4>>2]|0,l|0,o|0)|0;m=ni(k|0,C|0,n|0,m|0)|0;n=C;Pf(t,l,o);o=ne(m)|0;Pe(t,o,m,n);n=o;while(1){if((a|0)==(c[w>>2]|0))break;m=a+16|0;h=c[m>>2]|0;if(q){l=n+h|0;h=n}else{l=s+(jf(n,h,s,c[r>>2]|0)|0)|0;h=s}b=l-h|0;if(b&31|0){a=11;break a}k=(b|0)/32|0;j=0;while(1){if((j|0)>=(k|0))break;b=h+32|0;if(c[p>>2]|0){c[h>>2]=Zj(c[h>>2]|0)|0;D=h+4|0;c[D>>2]=Zj(c[D>>2]|0)|0;D=h+8|0;c[D>>2]=Zj(c[D>>2]|0)|0;D=h+12|0;c[D>>2]=Zj(c[D>>2]|0)|0;D=h+16|0;g[D>>2]=+Ph(+g[D>>2]);D=h+20|0;g[D>>2]=+Ph(+g[D>>2]);D=h+24|0;g[D>>2]=+Ph(+g[D>>2]);D=h+28|0;g[D>>2]=+Ph(+g[D>>2])}if((c[h>>2]|0)==(d|0)?(u=h+4|0,E=c[u>>2]|0,v=h+8|0,D=c[v>>2]|0,((E>>>0>e>>>0?E:e)|0)<((D>>>0<f>>>0?D:f)|0)):0){E=je(48)|0;c[E+4>>2]=c[h>>2];c[E+8>>2]=c[u>>2];c[E+12>>2]=c[v>>2];c[E+16>>2]=c[h+12>>2];c[E+20>>2]=c[h+16>>2];c[E+24>>2]=c[h+20>>2];c[E+28>>2]=c[h+24>>2];c[E+32>>2]=c[h+28>>2];c[E>>2]=c[A>>2];c[A>>2]=E}h=b;j=j+1|0}if((h|0)!=(l|0)){a=21;break a}a=c[a>>2]|0;n=n+(c[m>>2]|0)|0}Sj(o)}if((a|0)==11)Da(22747,22643,412,22773);else if((a|0)==21)Da(22794,22643,433,22773);else if((a|0)==24){Sj(s);Nh(y);hk(z);Xg(A);i=B;return c[A>>2]|0}return 0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,14651)|0))e=nf(b,0,r)|0;else{if((Gg(20342,b)|0)==0?(Gg(20350,b)|0)==0:0){if(!(Gg(20359,b)|0)){c[g>>2]=b;Ai(15846,g)}nc(b,o);if(vf(o,22e3)|0){c[f>>2]=b;Ai(15509,f)}b=o+4112|0;g=td(b,Td(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(vi(g,15556,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,mh(m,256,15563,j)|0,(vi(g,m,0,0)|0)==0):0){ph(g)|0;e=-1;break}j=o+6176|0;s=(a[(Wd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?15575:15580;c[k+4>>2]=j;mh(m,256,15585,k)|0;oj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Fi(j,40)|0;a[(Fi(j,41)|0)>>0]=0;if((Ne(s+1|0,15593,k,7)|0)!=6)Ai(15595,h);f=(Td(c[k+16>>2]|0)|0)<<8;f=ec(b,(Td(c[k+20>>2]|0)|0)+f|0)|0;Ci(l);if((f|0)<0){ph(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((vd(f,1e6)|0)>0){b=26;break}if((vd(g,0)|0)>0?(Bc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;gi(15631,n);ph(g)|0;ph(f)|0;e=-1;break}else if((b|0)==24){ph(g)|0;ph(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}yd(c[2291]|0)|0;yd(c[2232]|0)|0;yd(c[2262]|0)|0;b=je(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;pe(b+20|0,o|0,10280)|0;f=b+4|0;if(Uh(f)|0){c[p>>2]=qe(c[(xi()|0)>>2]|0)|0;Ai(15696,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=qe(b)|0;c[q>>2]=b;c[q+4>>2]=s;Ai(15800,q)}}}else{ph(g)|0;e=-1}while(0)}break}e=Yi(b,15490,0)|0}while(0);i=r;return e|0}function jc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Qh(d|0,m|0,52)|0;e=e&2047;j=Qh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Lh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Lh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Lh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Lh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Lh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Lh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Lh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Lh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Xh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Xh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=ni(d|0,f|0,0,-1048576)|0;d=C;e=Lh(e|0,0,52)|0;d=d|C;e=o|e}else{e=Qh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function kc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+32|0;D=G+24|0;B=G+20|0;z=G+16|0;y=G+12|0;x=G+8|0;E=G+4|0;A=G;c[D>>2]=0;lg(a);h=Oe(a,c[a+96>>2]|0,b,d|0?d+-1|0:0,e+1|0,B)|0;c[z>>2]=h;w=c[a+8>>2]|0;v=c[a+16>>2]|0;u=a+80|0;b=c[u>>2]|0;if(!b)t=0;else{t=ne(b)|0;h=c[z>>2]|0}c[E>>2]=0;a:do if(h|0){q=(t|0)==0;r=(f|0)<1;s=(f|0)>0;b=0;do{Ce(h,y,x);n=h+8|0;m=c[n>>2]|0;n=c[n+4>>2]|0;o=c[y>>2]|0;l=o+8|0;o=o+16|0;p=c[o>>2]|0;o=c[o+4>>2]|0;l=Xh(c[l>>2]|0,c[l+4>>2]|0,m|0,n|0)|0;o=ni(l|0,C|0,p|0,o|0)|0;p=C;Pf(w,m,n);n=ne(o)|0;c[E>>2]=n;Pe(w,n,o,p);p=c[E>>2]|0;while(1){if((h|0)==(c[x>>2]|0))break;o=h+16|0;a=c[o>>2]|0;if(q){c[A>>2]=p;j=p;n=p+a|0}else{c[A>>2]=t;n=jf(p,a,t,c[u>>2]|0)|0;m=c[A>>2]|0;j=m;n=m+n|0}l=b;b:while(1){if(j>>>0>=n>>>0){b=l;break}a=zg(A,v)|0;j=zg(A,v)|0;k=zg(A,v)|0;b=c[A>>2]|0;m=Wd(b)|0;do if((a|0)==(c[B>>2]|0)){if(!(j>>>0<e>>>0&k>>>0>d>>>0)){if((j|0)!=(k|0)){a=b;b=l;break}if(!((j|0)==(e|0)|(j|0)==(d|0))){a=b;b=l;break}}b=l+1|0;if(!(r|(l|0)<(f|0)))break b;a=Ef(g,20)|0;c[a+4>>2]=j;c[a+8>>2]=k;if((m|0)>0)c[a+12>>2]=Zh(g,c[A>>2]|0,m)|0;c[a+16>>2]=c[B>>2];c[a>>2]=c[D>>2];c[D>>2]=a;a=c[A>>2]|0}else{a=b;b=l}while(0);j=a+(m+1)|0;c[A>>2]=j;l=b}if(s&(b|0)>(f|0)){F=22;break}h=c[h>>2]|0;p=p+(c[o>>2]|0)|0}if((F|0)==22)F=0;if(s&(b|0)>(f|0))break a;Pi(E)}while((h|0)!=0)}while(0);Pi(E);Sj(t);Nh(z);Xg(D);i=G;return c[D>>2]|0}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;nc(b,h);if(vf(h,22e3)|0){c[g>>2]=b;Ai(14775,g)}b=h+6176|0;if(vf(b,21533)|0){p=td(h+4112|0,Td(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;mh(k,256,14933,q)|0;c[t>>2]=0;do if(vi(p,k,t,0)|0){if((Ne(c[(c[t>>2]|0)+4>>2]|0,14667,l,3)|0)!=2)Ai(14943,j);n=l+4|0;j=sd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Ci(t);c[s>>2]=b;mh(k,256,14979,s)|0;if(!(vi(p,k,t,0)|0)){ph(p)|0;f=0;break}b=Ne(c[(c[t>>2]|0)+4>>2]|0,14667,l,3)|0;if((b|0)!=2){c[m>>2]=b;Ai(14989,m)}j=c[n>>2]|0;if((Wd(j)|0)>>>0<14){c[o>>2]=j;Ai(15031,o)}b=s;g=15080;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,15100,q|0)|0)){c[r>>2]=s;Ai(15118,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Ai(15151,u)}else{c[e>>2]=b;Ci(t);ph(p)|0;f=1;break}}else{ph(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Wd(b)|0)>>>0>4095){c[e>>2]=b;Ai(14632,e)}Kj(f,b)|0;yi(f)|0;b=Tb(f,14651)|0;if(!b){a[d>>0]=a[20727]|0;a[d+1>>0]=a[20728]|0;a[d+2>>0]=a[20729]|0;a[d+3>>0]=a[20730]|0;a[d+4>>0]=a[20731]|0}else{a[b>>0]=0;Ch(f)|0;Jf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Fi(f,47)|0;if(g){Ze(g,b,e,1);if(!((Af(d,20727)|0)!=0?(Af(d,21994)|0)!=0:0)){e=Qd(g,14667,14669)|0;Jf(d+6176|0,4096,e);Sj(e)}a[g>>0]=0;if(!(Af(d,22e3)|0)){g=g+1|0;Vd(g,d+6176|0,Wd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Fi(f,64)|0;if(!g){if(!((Af(d,20727)|0)!=0?(Af(d,21994)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Af(d,22e3)|0)){b=d+16|0;e=14673;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=14683;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Fi(f,58)|0;if(!b){e=d+16|0;Jf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Jf(e,2048,f);f=d+2064|0;Jf(f,2048,b+1|0);b=f}Fd(e,e,Wd(e)|0);Fd(b,b,Wd(b)|0);f=g+1|0}b=Fi(f,58)|0;do if(!b){if(!(Af(d,20727)|0)){h=d+6160|0;a[h>>0]=a[14701]|0;a[h+1>>0]=a[14702]|0;a[h+2>>0]=a[14703]|0}if(!(Af(d,21994)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Af(d,22e3)|0)){h=d+6160|0;a[h>>0]=a[14704]|0;a[h+1>>0]=a[14705]|0;a[h+2>>0]=a[14706]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Jf(d+6160|0,16,e);break}else{c[h>>2]=e;Ai(14707,h)}}while(0);Jf(d+4112|0,2048,f);i=j;return}function oc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[736+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2784+((a>>>8&255)<<2)>>2]^c[3808+((a&255)<<2)>>2]^c[1760+((a>>>16&255)<<2)>>2]^c[736+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[736+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function pc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Pf(t,f,g);Pe(t,s,1,0);Pe(t,w+32|0,1,0);u=c[b+12>>2]|0;v=Ng(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;Th(3,17470,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=Mg(t,u)|0;c[p+(f<<2)>>2]=Mg(t,u)|0;c[q+(f<<2)>>2]=Mg(t,u)|0;c[r+(f<<2)>>2]=Mg(t,u)|0;g=Qf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(of(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;pc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=Mg(t,u)|0;s=Mg(t,u)|0;e=Mg(t,u)|0;b=Mg(t,u)|0;f=Qf(t,u)|0;g=C;m=Qf(t,u)|0;n=C;if(of(h,j,k,r,s,e,b)|0){b=je(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function qc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ji(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ji(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Ji(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Ji(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=Ji(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ji(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ji(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function rc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=di(512)|0;nc(b,s);h=ab(15270)|0;p=(h|0)!=0;if(p){nc(h,q);pe(r|0,q|0,10280)|0;h=ef(r,b)|0}else{pe(r|0,s|0,10280)|0;h=ef(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=si(b)|0;j=uj(b,59)|0;if((j|0)!=0?(Gg(14655,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Fh(k,15281,l);Sj(b);c[m>>2]=f;Fh(k,15292,m);if((vf(s,20727)|0)==0?(vf(14701,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((vf(s,21994)|0)==0?(vf(14736,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Fh(k,15320,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Fh(k,15309,n)}b=c[t>>2]|0;pe(r|0,s|0,10280)|0;xe(r,15334,b);if(p){pe(r|0,q|0,10280)|0;xe(r,15348,b);k=c[t>>2]|0}else k=b;pj(k,15368);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Fh(k,15407,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Fh(k,15382,u);break}}while(0);if(g|0)pj(c[t>>2]|0,g);v=c[t>>2]|0;pj(v,15428);lf(h,c[v+4>>2]|0,c[v+12>>2]|0);Ci(t)}i=w;return h|0}function sc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=je(120)|0;c[l+4>>2]=si(a)|0;m=Qg(a,wk()|0)|0;c[l+8>>2]=m;Pe(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Zj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Ai(22623,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=Ng(m,n)|0;g=l+26|0;b[g>>1]=Ng(m,n)|0;h=Qf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Qf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Qf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=Ng(m,n)|0;b[l+58>>1]=Ng(m,n)|0;j=Qf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Qf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Mg(m,n)|0;j=Qf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=je(32)|0;c[j+4>>2]=Mg(m,n)|0;c[j+8>>2]=Mg(m,n)|0;p=Qf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Qf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Xg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Pf(m,g,h);b[l+104>>1]=Ng(m,n)|0;b[l+106>>1]=Ng(m,n)|0;p=Qf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Pf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=kd(a,m)|0;i=o;return l|0}function tc(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 uc(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;d=a+4|0;e=c[d>>2]|0;do if(e){i=c[a+12>>2]|0;k=c[a+16>>2]|0;j=0;while(1){g=j+1|0;h=k+(j<<2)|0;c[h>>2]=e;d=e+12|0;f=Hb[i&7](b,c[d>>2]|0)|0;if((f|0)<0){e=c[e>>2]|0;if(!e){d=h;f=j;g=5;break}else{j=g;continue}}if((f|0)<=0){g=9;break}e=c[e+4>>2]|0;if(!e){d=h;f=j;g=8;break}else j=g}if((g|0)==5){e=c[d>>2]|0;d=e;i=0;h=f;g=10;break}else if((g|0)==8){e=c[d>>2]|0;d=e+4|0;i=0;h=f;g=10;break}else if((g|0)==9){d=c[d>>2]|0;break}}else{i=1;e=0;k=0;h=0;g=10}while(0);a:do if((g|0)==10){f=a+24|0;g=c[f>>2]|0;if(!g)g=Ef(c[a+20>>2]|0,16)|0;else c[f>>2]=c[g+4>>2];c[g+4>>2]=0;c[g>>2]=0;c[g+12>>2]=b;c[g+8>>2]=i;c[d>>2]=g;b=a+8|0;c[b>>2]=(c[b>>2]|0)+1;if((h|0)>0){j=h;d=g;while(1){i=e+8|0;if(c[i>>2]|0){d=0;break a}g=j+-1|0;f=c[k+(g<<2)>>2]|0;h=c[f>>2]|0;if((e|0)==(h|0))h=c[f+4>>2]|0;if(!h)break;h=h+8|0;if((c[h>>2]|0)==1)break;c[i>>2]=1;c[h>>2]=1;if(!g){d=0;break a}c[f+8>>2]=0;d=j+-2|0;e=c[k+(d<<2)>>2]|0;j=d;d=f}d=_c(a,g,f,e,d)|0;c[d+8>>2]=1;c[(c[d+4>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+8>>2]=0;d=0}else d=0}while(0);return d|0}function vc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Zg(f|0,b|0,10,0)|0;f=C;e=ni(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ni(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=id(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Xh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[j+4>>2]=b;c[j+8>>2]=d;j=df(a,j)|0;do if(j){e=j+4|0;f=c[e>>2]|0;if((f|0)<=(b|0)?(h=j+8|0,g=c[h>>2]|0,(g|0)>=(d|0)):0){if((f|0)<(b|0)){g=Ef(c[a+20>>2]|0,16)|0;c[g+4>>2]=c[e>>2];c[g+8>>2]=b;c[g+12>>2]=c[j+12>>2];c[e>>2]=b;uc(a,g)|0;b=c[h>>2]|0}else b=g;if((b|0)>(d|0)){g=Ef(c[a+20>>2]|0,16)|0;c[g+4>>2]=d;c[g+8>>2]=c[h>>2];b=j+12|0;c[g+12>>2]=c[b>>2];c[h>>2]=d;uc(a,g)|0}else b=j+12|0;c[b>>2]=(c[b>>2]|0)+1;break}h=a+20|0;g=sg(a,b,d)|0;while(1){if(!g)break;e=g+4|0;f=c[e>>2]|0;if((b|0)>=(f|0)){if((b|0)>(f|0)){j=Ef(c[h>>2]|0,16)|0;c[j+4>>2]=c[e>>2];c[j+8>>2]=b;c[j+12>>2]=c[g+12>>2];c[e>>2]=b;uc(a,j)|0}}else{j=Ef(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=c[e>>2];c[j+12>>2]=rk(1)|0;uc(a,j)|0}b=g+12|0;c[b>>2]=(c[b>>2]|0)+1;b=c[g+8>>2]|0;g=c[g>>2]|0}if((b|0)<(d|0)){j=Ef(c[h>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=rk(1)|0;uc(a,j)|0}}else{j=Ef(c[a+20>>2]|0,16)|0;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=rk(1)|0;uc(a,j)|0}while(0);i=k;return}function xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Th(4,20803,p);f=b+36|0;e=0;while(1){d=ve(0,1)|0;c[p>>2]=d;d=Ej(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=fi(c[p>>2]|0,20889)|0;c[f>>2]=si(d)|0;d=re(a,d)|0;Zd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;gi(20836,g);n=0}else if((h|0)==7){d=fi(c[p>>2]|0,20899)|0;do if(!d){d=Fe(a)|0;e=C;if((e|0)<0){Zd(p);c[j>>2]=a;Ai(20915,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=sd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=fi(c[p>>2]|0,20982)|0;if(!d){d=fi(c[p>>2]|0,20997)|0;if(!d){Zd(p);c[m>>2]=a;Ai(21003,m)}else o=d}else o=d;if(!(Ua(o|0,21078,k|0)|0)){Zd(p);c[l>>2]=o;Ai(21103,l)}d=Gf(k)|0;if((d|0)==-1){Zd(p);c[q>>2]=o;Ai(21145,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Zd(p);n=200;break}}while(0);i=r;return n|0}function yc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Pf(c[t>>2]|0,d,e);Pe(c[t>>2]|0,o,1,0);Pe(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=Ng(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Pe(c[t>>2]|0,r,q,h);e=Qf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=_e(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Pe(c[t>>2]|0,r,q,h);e=Qf(c[t>>2]|0,p)|0;d=C;j=_e(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=hj(c[t>>2]|0)|0;m=C;yc(b,k,l,f,g);Pf(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}yc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Pe(c[t>>2]|0,r,q,d);Pe(c[t>>2]|0,j,c[h>>2]|0,0);if(!(_e(f,r,q)|0))oi(g,Ki(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function zc(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[6532]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ji(yb(146,n|0)|0)|0}else{xa(2,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ji(yb(146,m|0)|0)|0;la(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 Ac(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Oc(25724,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Fi(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Fi(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6533]|0))c[e+76>>2]=-1;mb(26156);f=c[6538]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6538]=e;eb(26156)}}else{c[(xi()|0)>>2]=22;e=0}i=o;return e|0}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=di(4096)|0;while(1){if((vd(b,1e6)|0)<=0){j=3;break}g=Ig(b,m,4096)|0;if(g){pf(c[o>>2]|0,m,g);if(!(Jh(c[(c[o>>2]|0)+4>>2]|0,14859)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Wd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Wd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;gi(14815,n);g=0}else if((j|0)==18){g=Td(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;gi(14861,p);g=0;break}if(!e)Ci(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Cc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?26176:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9280+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(xi()|0)>>2]=84;f=-1}i=l;return f|0}function Dc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Ig(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=ni(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Xh(1,0,g|0,e|0)|0;b=ni(b|0,C|0,d|0,h|0)|0}r=(Hg(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=ni(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=ni(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Zf(15744,l);if((b|0)==-1)Zf(15775,o);ph(c[m>>2]|0)|0;ph(c[a+12>>2]|0)|0;ph(c[n>>2]|0)|0;i=q;return 0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=nf(a,2,h)|0;if((e|0)<0)if((c[(xi()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;ig(22054,d)}else{Ee(e,h)|0;if((c[h+36>>2]|0)<64){ph(e)|0;b=0}else{Od(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Zj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Ai(22077,j)}}else f=0;b=je(56)|0;c[b+4>>2]=Kg(e,f)|0;g=Nf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Nf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Kg(e,f)|0;Kg(e,f)|0;Nf(e,f)|0;Nf(e,f)|0;Nf(e,f)|0;Nf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Ld(b);break}if((ph(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Ai(13901,k)}}else{if(!(c[a+20>>2]&2)){if($g(d)|0){c[f>>2]=c[a+12>>2];Ai(13870,f)}}else{yd(d)|0;if($g(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Ai(13840,e)}}if((ye(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Ai(13901,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)ig(13523,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Ai(13931,l)}if(b|0)Da(13972,13176,435,13990);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Ai(14006,m)}i=n;return d>>>8&255|0}function Gc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=yk(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)xk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Hc(a,b,d,e,f,g,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;p=q;o=Si(j*40|0)|0;n=_b(a,b,d,e,f,j,o)|0;a:do if(n|0){m=+(j|0)/+((e-d|0)>>>0);f=0;b:while(1){if((f|0)>=(j|0))break a;b=o+(f*40|0)|0;a=c[b>>2]|0;b=c[b+4>>2]|0;if(!((a|0)==0&(b|0)==0)){switch(g|0){case 0:{l=+h[o+(f*40|0)+24>>3]/(+(a>>>0)+4294967296.0*+(b>>>0));break}case 1:{l=+h[o+(f*40|0)+16>>3];break}case 2:{l=+h[o+(f*40|0)+8>>3];break}case 3:{l=m*(+(a>>>0)+4294967296.0*+(b>>>0));break}case 4:{l=+Ei(+h[o+(f*40|0)+24>>3],+h[o+(f*40|0)+32>>3],a,b);break}default:break b}h[k+(f<<3)>>3]=l}f=f+1|0}c[p>>2]=22643;c[p+4>>2]=695;Ai(22814,p)}while(0);Sj(o);i=q;return n|0}function Ic(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Pf(c[n>>2]|0,d,e);Pe(c[n>>2]|0,h,1,0);Pe(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Ng(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Pe(c[n>>2]|0,l,d,0);e=Qf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Pe(c[n>>2]|0,l,c[k>>2]|0,0);if((_e(f,l,c[k>>2]|0)|0)<0)break;e=Qf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Ic(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Pe(c[n>>2]|0,l,d,0);Pe(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(_e(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Jc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=si(26804)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Aj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=je(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Aj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;mh(h,4,12970,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Xe(b|0,0,e|0)|0;return b|0}function Lc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=di(512)|0;c[h>>2]=f;pj(f,b);pj(f,14651);d=b+16|0;if(a[d>>0]|0){d=Jc(d)|0;pj(f,d);Sj(d);d=b+2064|0;if(a[d>>0]|0){pj(f,14732);d=Jc(d)|0;pj(f,d);Sj(d)}pj(f,14734)}pj(f,b+4112|0);if(!((vf(b,22e3)|0)==0?!(vf(14704,b+6160|0)|0):0))e=7;do if((e|0)==7){if((vf(b,20727)|0)==0?(vf(14701,b+6160|0)|0)==0:0)break;d=b+6160|0;if((vf(b,21994)|0)==0?(vf(14736,d)|0)==0:0)break;pj(f,14732);pj(f,d)}while(0);pj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Fh(f,14740,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Fh(f,19575,k)}k=Ah(h)|0;i=l;return k|0}function Mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}ph(a)|0;if((h|0)>0)Sj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Gg(20342,f)|0)==0?(Gg(20350,f)|0)==0:0){g=11;break}f=re(g,f)|0;c[j>>2]=f;a=ic(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;gi(16495,k);g=14}else if((g|0)==11){c[l>>2]=f;gi(16549,l);g=14}else if((g|0)==13){c[m>>2]=f;gi(22348,m);g=14}if((g|0)==14)if((b|0)>0){Sj(f);b=0}else b=0;i=n;return b|0}function Nc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){pe(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;pe(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){pe(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Oc(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|0)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?b:0)|0}function Pc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ji(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(xi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ji(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;qc(e,2,j)|0}if(b&2048){c[h>>2]=qc(e,3,k)|0|2048;qc(e,4,h)|0}}}}while(0);i=l;return e|0}function Qc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+48|0;l=r+16|0;q=r+8|0;p=r;n=r+32|0;g=+Pj(12812,0);m=i;i=i+((1*(f<<3)|0)+15&-16)|0;j=0;while(1){if((j|0)>=(f|0))break;h[m+(j<<3)>>3]=g;j=j+1|0}j=Lj(a)|0;c[n>>2]=j;if(!(_h(j,b,d,e,Pd(c[2]|0)|0,f,m)|0)){c[l>>2]=b;c[l+4>>2]=d;c[l+8>>2]=e;c[l+12>>2]=a;Ai(12820,l)}else o=0;while(1){if((o|0)>=(f|0))break;g=+h[m+(o<<3)>>3];if(o|0)Wj(9)|0;s=+N(+g);h[k>>3]=s;l=c[k+4>>2]|0;if(l>>>0>2146435072|(l|0)==2146435072&(c[k>>2]|0)>>>0>0)Ih(12816,p)|0;else{h[q>>3]=g;Ih(19228,q)|0}o=o+1|0}Wj(10)|0;Bg(n);i=r;return}function Rc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6532]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ji(xb(145,h|0)|0)|0}else{xa(3,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ji(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Uc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(17340,17392,388,17404);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Si(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Xg(b);d=d+1|0}Sj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=je(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Pe(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=Zj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Ai(17426,j)}}else f=0;c[d+24>>2]=Mg(b,f)|0;j=Qf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=Mg(b,f)|0;c[d+44>>2]=Mg(b,f)|0;c[d+48>>2]=Mg(b,f)|0;c[d+52>>2]=Mg(b,f)|0;g=Qf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=Mg(b,f)|0;Pe(b,h,4,0);b=hj(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Wc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Th(4,21838,p);Tg(500);l=a+5|0;k=ld(l,21745)|0;c[p>>2]=k;Bj(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Tg(250);g=e-j|0;g=xf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Th(4,21891,m);if($g(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;gi(21913,o);c[n>>2]=l;ig(21797,n)}else if((g|0)==6){fj(p);i=q;return a|0}return 0}function Xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=je(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=di(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){pj(e,13104);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){pj(e,14667);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}pj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Ah(j)|0;if(!(c[a>>2]|0))Ai(13108,k);if(!(b&8))e=0;else{Mh(l,Le(44,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Mh(l,Le(d,l)|0);e=e+1|0}i=m;return l|0}function Yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=yk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;pe(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(le(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)xk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)xk(f);return e|0}function Zc(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(!(sf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);pe(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 _c(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;g=c[e>>2]|0;h=(g|0)==(f|0);do if((c[d>>2]|0)==(e|0))if(h){c[e>>2]=f;f=e+4|0;c[d>>2]=c[f>>2];c[f>>2]=d;break}else{c[e+4>>2]=c[f>>2];c[f>>2]=e;e=f+4|0;c[d>>2]=c[e>>2];c[e>>2]=d;e=f;break}else if(h){c[d+4>>2]=c[f>>2];c[f>>2]=d;h=f+4|0;c[e>>2]=c[h>>2];c[h>>2]=e;e=f;break}else{c[d+4>>2]=g;c[e>>2]=d;c[e+4>>2]=f;break}while(0);do if(b){g=c[(c[a+16>>2]|0)+(b+-1<<2)>>2]|0;if((c[g>>2]|0)==(d|0)){c[g>>2]=e;break}else{c[g+4>>2]=e;break}}else c[a+4>>2]=e;while(0);return e|0}function $c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;k=i;i=i+16|0;j=k+4|0;g=k;a=kc(a,b,d,e,0,f)|0;if(!a)a=0;else{b=uk()|0;c[j>>2]=b;while(1){if(!a)break;wc(b,c[a+4>>2]|0,c[a+8>>2]|0);a=c[a>>2]|0}b=$i(b)|0;c[g>>2]=0;a=0;while(1){if(!b)break;l=Ef(f,24)|0;m=c[b+4>>2]|0;c[l+4>>2]=m>>>0<d>>>0?d:m;m=c[b+8>>2]|0;c[l+8>>2]=m>>>0>e>>>0?e:m;h[l+16>>3]=+(vk(c[b+12>>2]|0)|0);c[l>>2]=a;c[g>>2]=l;a=l;b=c[b>>2]|0}Xg(g);Li(j);a=c[g>>2]|0}i=k;return a|0}function ad(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{pe(l|0,b|0,d|0)|0;Xe(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Ai(17948,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Ic(a,j,k,l,g)|0;else{yc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(cd(b,e<<24>>24)|0)-b|0;i=g;return e|0}function cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Wd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=je(16)|0;else l=Ef(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=qj(d,e)|0;else{k=Ef(h,e+1|0)|0;c[l+4>>2]=k;pe(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Uc(b,ri(m)|0);return l|0}function ed(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Dk()|0;pk(26024)|0;if((c[6513]|0)!=0&(a|0)==(c[6514]|0)){Hg(2,14030,61)|0;_a(1)}nk(26024)|0;pk(26060)|0;pk(26024)|0;c[6514]=a;c[6513]=1;nk(26024)|0;if(!(c[6522]|0))c[6522]=ve(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;mh(d,64,19575,b)|0;a=ff(c[6522]|0,d)|0;if(!a){a=je(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=dj(c[6522]|0,d,a)|0}pk(26024)|0;c[6513]=0;nk(26024)|0;nk(26060)|0;i=e;return c[a+8>>2]|0}function fd(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=di(Wd(f)|0)|0;c[j>>2]=g;h=f;f=Fi(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;pj(g,h);pj(g,21533);m=f+1|0;h=m;f=Fi(m,47)|0}pj(g,h);f=Ah(j)|0;j=Wd(d)|0;m=Wd(e)|0;m=j+3+m+(Wd(f)|0)|0;j=je(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;mh(j,m,21535,k)|0;c[b+44>>2]=hg(b,21544)|0;c[b+48>>2]=hg(b,21551)|0;c[b+52>>2]=hg(b,21562)|0}i=l;return}function gd(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Yi(b,d,0)|0;if((d|0)>-1){b=Lg(b,1,d)|0;c[h>>2]=b;a:do if((((Zb(b,g,0)|0)!=0?(Gg(15462,c[g>>2]|0)|0)!=0:0)?(Xf(g)|0,f=Xf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Td(f)|0;if(e)while(1){if(!(Zb(c[h>>2]|0,g,0)|0))break a;f=Xf(g)|0;if(!f)break a;b=Bh(f)|0;dj(e,b,si(Rh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Ld(h)}else d=c[(xi()|0)>>2]|0;i=j;return d|0}function id(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=bg(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function jd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9484;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(xi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Gc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=je(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Pe(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Zj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Ai(17909,j)}}else f=0;c[d+12>>2]=Mg(b,f)|0;c[d+16>>2]=Mg(b,f)|0;c[d+20>>2]=Mg(b,f)|0;g=Qf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Pe(b,h,4,0);Pe(b,h,4,0);b=hj(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function ld(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(vf(b,20269)|0){if(!(vf(b,16737)|0)){f=c[2232]|0;break}e=ce(b,d)|0;if(!e){a:do if(!d)e=26804;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=16765;break a}case 119:{e=16755;break a}default:{e=e<<24>>24==97?16744:26804;break a}}}while(0);d=qe(c[(xi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ai(16774,g)}else f=e}else f=c[2291]|0;while(0);i=h;return f|0}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;ud(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=je(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;fd(a,b,h,d);c[e>>2]=0;b=a+44|0;j=Yh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=Yh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=Yh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Xg(e);Sj(c[a+40>>2]|0);Sj(c[b>>2]|0);Sj(c[f>>2]|0);Sj(a);Sj(h);Sj(d);d=c[e>>2]|0}i=g;return d|0}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(hf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ek(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;lk(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;gi(16651,f);b=0;break}}else{uf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function od(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=je(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[22509+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[22509+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[22509+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[22509+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function pd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18956+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18956+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;e=g;d=g+12|0;c[d>>2]=a;ji(d,b,12);Nj(ag(12905,wk()|0)|0);do if(!(Yj(12912)|0)){c[2]=ag(12919,c[2]|0)|0;if((c[d>>2]|0)==6){d=c[b+4>>2]|0;a=c[b+8>>2]|0;e=ti(c[b+12>>2]|0)|0;f=ti(c[b+16>>2]|0)|0;Qc(d,a,e,f,ti(c[b+20>>2]|0)|0);break}else Ai(12094,f)}else if((c[d>>2]|0)<2)Ai(12094,e);else{_d(c[b+4>>2]|0);break}while(0);if((zk()|0)>1)Bd();i=g;return 0}function rd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))ig(13249,k);l=Hi()|0;if(eh(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Hi()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;ig(13272,f)}if(b|0?(og(b,0)|0)<0:0)ig(13299,g);if((d|0)!=1?(og(d,1)|0)<0:0)ig(13319,h);if((e|0)!=2?(og(e,2)|0)<0:0)ig(13340,j);Oh();i=k;return}function sd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Hj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Zg(c|0,d|0,10,0)|0;b=b+1|0;c=Xh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Xh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function td(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=ec(a,b)|0;if((a|0)<0)a=-1;else{if((vd(a,1e6)|0)>0)vi(a,26804,0,0)|0;c[g>>2]=0;c[h>>2]=d;mh(f,256,14904,h)|0;do if(vi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,mh(f,256,14914,j)|0,(vi(a,f,0,0)|0)==0):0){ph(a)|0;a=-1;break}if(!(vi(a,14924,0,0)|0)){ph(a)|0;a=-1}}else{ph(a)|0;a=-1}while(0)}i=k;return a|0}function ud(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Fi(b,58)|0;if(!h)h=0;else{m=qj(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Fi(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){Be(l,1024,b,k+1-b|0);c[g>>2]=Rd(l)|0}j=Fi(b,47)|0;if(!j)j=b+(Wd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Rd(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Tf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(xi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=qe(a)|0;gi(14757,m)}i=n;return a|0}function wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=nf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=je(5)|0;c[g>>2]=f;if((Ig(e,f,4)|0)<4)Pi(g);else a[f+4>>0]=0;ph(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=fe(e)|0,Pi(h),(g|0)!=0):0){h=Rg(Te(b)|0,33,b,0)|0;e=Lg(b,d,ck(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function xd(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Tc(g,22835,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=se(g)|0;i=j;return h|0}se(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function yd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ee(a)|0;break}d=(yk(a)|0)==0;b=ee(a)|0;if(!d)xk(a)}else{if(!(c[2261]|0))b=0;else b=yd(c[2261]|0)|0;mb(26156);a=c[6538]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=yk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ee(a)|0|b;if(d|0)xk(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(26156)}while(0);return b|0}function zd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=eg(e,0)|0;c[n>>2]=g;Dg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=eg(d,e)|0;else if(!f){e=nf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;ig(13809,k)}else j=e}else j=0;c[m>>2]=j;e=Cf(a,b,j,g)|0;gg(m);if(!l)gg(n);i=o;return e|0}function Ad(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[(xi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Bd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Hi()|0;c[g>>2]=f;mh(a,256,18708,g)|0;d=kf(a,1)|0;c[g>>2]=d;if(!d){j=c[2262]|0;c[b>>2]=a;Eh(j,18745,b)|0;a=j}else{while(1){if(!(ug(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,18724)|0){j=5;break}}if((j|0)==5){j=c[2262]|0;c[h>>2]=f;c[h+4>>2]=a;Eh(j,18731,h)|0}Ld(g);a=c[2262]|0}yd(a)|0;i=k;return}function Cd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=ne(k)|0;pe(j|0,d|0,e|0)|0;Sj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=si(d)|0;Sj(c);c=l}i=h;return c|0}function Dd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Th(4,21604,j);h=Ve(a)|0;n=ld(h,21745)|0;c[j>>2]=n;Bj(n,b,0)|0;a=xf(g+256|0,f,e,n)|0;if(!($g(n)|0)){fj(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;gi(21748,k);c[l>>2]=h;ig(21797,l)}return 0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Th(4,21223,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(mc(a,f,e)|0){a=Gf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Ai(21255,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function Fd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Hh(f,12966,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Gd(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;Xe(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){Zc(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;Zc(h,f,a)|0}while(0);i=j;return}function Hd(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(!(sf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Id(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Gh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=jd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Gh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Jd(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(li(b)|0)){c=(Wd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Kj(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Fi(b,47)|0;if(!b){fg(e)|0;b=0;continue}else{a[b>>0]=0;fg(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(yk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Hd(d,b)|0;xk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Hd(d,b)|0}while(0);return e|0}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Di(c[2291]|0)|0):0){ph(c[d>>2]|0)|0;Sj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)bc(d)}else ii(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Cb[d&3](f);Sj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Zd(g);Pi(b)}return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;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=Xh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,Xh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Xh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(vf(a,20269)|0)if(vf(a,16737)|0){c[d>>2]=436;d=nf(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?16765:16744;else d=16755;else d=16918;else d=16894;c[f>>2]=a;c[f+4>>2]=d;ig(16929,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Od(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Ig(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;ig(16957,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ai(16982,g)}else if((d|0)==8){i=h;return}}function Pd(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Af(a,22658)|0)!=0?(Af(a,22663)|0)!=0:0)if((Af(a,22671)|0)!=0?(Af(a,22675)|0)!=0:0)if((Af(a,22683)|0)!=0?(Af(a,22687)|0)!=0:0)if((Af(a,22695)|0)!=0?(Af(a,22704)|0)!=0:0)if(!(Af(a,22717)|0))b=4;else{c[d>>2]=a;Ai(22721,d)}else b=3;else b=2;else b=1;else b=0;i=e;return b|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Wd(b)|0;h=Wd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Wd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=je((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Kj(d,e)|0;j=a+g|0;i=d+(a-e)|0;Kj(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Kj(d,e)|0;return f|0}function Rd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(yg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=je(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(yg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;Dh(g,21527,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Sd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Lh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Td(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Hj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Vd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Hh(f,12966,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Wd(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 Xd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Qh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Xd(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 Yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(ff(c[e>>2]|0,d)|0)){dj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Eh(g,20275,h)|0}}}while(0);i=j;return}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Fj(d);d=g}e=e+1|0}}else{zi(b);b=d+8|0}while(0);Sj(c[b>>2]|0);Pi(a)}return}function _d(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;b=d+8|0;f=d;a=Lj(a)|0;g=e[a+56>>1]|0;c[f>>2]=e[a+58>>1];c[f+4>>2]=g;Ih(12854,f)|0;a=oh(a)|0;a:do if(!a)Ie(12924)|0;else{a=a+12|0;while(1){a=c[a>>2]|0;if(!a)break a;g=c[a+8>>2]|0;c[b>>2]=c[a+4>>2];c[b+4>>2]=g;Ih(12897,b)|0}}while(0);i=d;return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=qc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((qc(a,4,f)|0)<0){c[g>>2]=qe(c[(xi()|0)>>2]|0)|0;gi(14336,g);d=-1}else d=0}else{c[e>>2]=qe(c[(xi()|0)>>2]|0)|0;gi(14305,e);d=-1}i=h;return d|0}function ae(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=26007;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function be(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18964+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18972+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18972+f>>0]}while(0);return}function ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Oc(25724,a[d>>0]|0,4)|0){h=Kf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ji(jb(5,e|0)|0)|0;if((e|0)>=0){b=Ac(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(xi()|0)>>2]=22;b=0}i=g;return b|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ai(17659,d)}d=Oj(a,b)|0;if(!d){g=c[(xi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ai(17723,e)}else{i=f;return d|0}return 0}function ee(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Gg(20141,a)|0))if(!(Gg(20144,a)|0))if(!(Gg(20148,a)|0))if(!(Gg(20151,a)|0))a=0;else{a=20156;e=5}else{a=20160;e=5}else{a=20164;e=5}else{a=20166;e=5}if((e|0)==5){c[d>>2]=a;mh(b,20,20169,d)|0;a=si(b)|0}i=f;return a|0}function ge(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=Xh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Xh((dc(h,g,Xh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function he(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;jg(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ie(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=Og(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ti(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 je(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ai(17795,b)}b=jk(a)|0;if(!b){f=c[(xi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ai(17848,d)}else{Xe(b|0,0,a|0)|0;i=e;return b|0}return 0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(li(a)|0)){d=ce(a,19212)|0;c[b>>2]=d;if(!d){a=0;break}else{fj(b);a=1;break}}else{f=wi()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;gi(19182,d);a=0;break}}while(0);i=e;return a|0}function le(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function me(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18896;break}case 2:{a=18875;break}case -1:{a=18864;break}case -2:{a=18848;break}case -3:{a=18848;break}case -4:{a=18833;break}case -5:{a=18818;break}case -6:{a=18799;break}case 0:{a=0;break}default:{c[b>>2]=a;mh(26676,128,18780,b)|0;a=26676}}i=d;return a|0}function ne(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ai(17535,b)}b=jk(a)|0;if(!b){f=c[(xi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ai(17593,d)}else{i=e;return b|0}return 0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(xi()|0)>>2]=12;a=0;return a|0}d=ac(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;pe(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 qe(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[23792+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=23880;e=5;break}}if((e|0)==2)if(!c)b=23880;else{b=23880;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 re(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;nc(b,g);nc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Jf(e,2048,d);Jf(f+2064|0,2048,g+2064|0)}g=Lc(f)|0;i=h;return g|0}function se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Db[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Db[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function te(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ue(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ai(16579,k)}else{c[j>>2]=e;Ri(d,j)}return 0}function ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=je(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(17340,17392,357,17415);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=rh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Si(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function we(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;jg(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function xe(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;mh(h,256,15249,j)|0;j=od(h,Wd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Fh(e,15255,k);Pi(g)}i=l;return}function ye(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(26156);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6538]|0)==(a|0))c[6538]=b;eb(26156)}b=yd(a)|0;b=Fb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function ze(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=Lf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=17159;else e=(d|0)==2?17118:17127;else e=17150;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;ig(17168,g);return 0}function Ae(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;d=c[e>>2]|0;if(((vf(d,19760)|0)!=0?(vf(d,19768)|0)!=0:0)?(vf(d,19775)|0)!=0:0)d=0;else{d=je(12)|0;c[d+4>>2]=si(c[e>>2]|0)|0;uh(b)|0;if((a[c[e>>2]>>0]|0)==91){uh(b)|0;c[d+8>>2]=cf(b)|0;uh(b)|0;Rf(b,19781)}}return d|0}function Be(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Ai(17283,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;kj(b,e,f)|0;a[b+g>>0]=0;i=j;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=ni(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f;if((b|0)<0){c[d>>2]=b;Ai(22574,d)}a:do if((b|0)<2)d=0;else{e=1073741823;d=0;while(1){if(!a)break a;h=b-(c[a+4>>2]|0)|0;g=(h|0)>-1&(h|0)<(e|0);e=g?h:e;d=g?a:d;a=c[a>>2]|0}}while(0);i=f;return d|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){ae(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Ji(Pa(195,f|0)|0)|0}else d=Ji(d)|0;i=g;return d|0}function Fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;mh(g,4096,15473,e)|0;a=ve(0,1)|0;c[e>>2]=a;if(((hd(g,15490,a)|0)==206?(b=fi(a,15494)|0,(b|0)!=0):0)?(d=Fi(b,47)|0,(d|0)!=0):0){b=sd(d+1|0)|0;a=C}else{a=-1;b=-1}Zd(e);C=a;i=f;return b|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0;d=wi()|0;a=md(a,(b|0)==0?c[183]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Jh(e,21544)|0){if(!(li(e)|0))break a;if((Pg(e)|0)>>>0<b>>>0)b=Pg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function He(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;d=g;e=2;f=0;c=0;while(1){if((f|0)>=(e|0)){j=e<<1;h=ne(j)|0;pe(h|0,d|0,e|0)|0;Sj(c);d=h;e=j;c=h}j=hi(b)|0;a[d+f>>0]=j;if(!(j&255))break;else f=f+1|0}j=si(d)|0;Sj(c);i=g;return j|0}function Ie(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2232]|0;if((c[f+76>>2]|0)>-1)g=yk(f)|0;else g=0;do if((yj(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=(Hd(f,10)|0)<0}while(0);if(g|0)xk(f);return d<<31>>31|0}function Je(a){a=a|0;var b=0,d=0,e=0;while(1){if(!a)break;b=a+12|0;e=Hb[c[6526]&7](c[b>>2]|0,c[6524]|0)|0;d=Hb[c[6526]&7](c[b>>2]|0,c[6525]|0)|0;if((e|0)<=-1){if((d|0)>=1)break}else{Je(c[a>>2]|0);if((d|0)>=1)break;Cb[c[6523]&3](c[b>>2]|0)}a=c[a+4>>2]|0}return}function Ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Sj(e);f=f+1|0}Sj(b);Sj(i);i=h}Pi(g+12|0);Pi(g+28|0);Pi(a)}return}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=je(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=je((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=si(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Th(4,21961,d);Tg(500);if((fh(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Sc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(bd(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Oe(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(ui(k,d,Wd(d)|0,h,8)|0))a=0;else{Kh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Wf(b,a,e,f)|0}i=j;return a|0}function Pe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Ai(21475,g)}else{i=h;return}}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Th(4,21805,d);if((fh(Ve(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Re(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2232]|0);if((b|0)==(c[2291]|0)|d)if(d){yd(b)|0;b=1}else b=1;else if(!(ye(b)|0))b=1;else{Zf(17218,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Yc(b,d,1,a)|0)!=1:0){b=$g(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Ai(16863,f)}else{f=qe(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Ai(16834,e)}}i=g;return}function Te(a){a=a|0;var b=0;b=si(a)|0;if(!(((Gg(20342,a)|0)==0?(Gg(20350,a)|0)==0:0)?!(Gg(20359,a)|0):0))Fd(a,b,Wd(a)|0);if(!(Jh(b,20181)|0))if(!(Jh(b,20185)|0))if(!(Jh(b,20188)|0)){a=(Jh(b,20193)|0)==0;a=a?0:684}else a=720;else a=708;else a=696;Sj(b);return a|0}function Ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=ih(b)|0;do if((f|0)!=0?(vf(f,18443)|0)!=0:0){d=Xi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ai(18166,h)}else e=d;while(0);i=j;return e|0}function Ve(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(Gg(21652,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Ai(21659,e);if(((((Tb(b,21686)|0)==0?(Fi(b,126)|0)==0:0)?(Tb(b,21689)|0)==0:0)?(Tb(b,21692)|0)==0:0)?(Jh(21696,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Ai(21699,d);return 0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Si(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ai(18632,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Xe(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 Ye(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Jj(e&65535)|0;if(d){h=fk(nd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Ze(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=uj(b,59)|0;if((g|0?Gg(14655,g)|0:0)?(i=(Fi(g,61)|0)+1|0,h=Fi(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=sd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=sd(b)|0;c[e>>2]=f}}return}function _e(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 $e(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ji(pa(102,h|0)|0)|0;i=g;return e|0}function af(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=di(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){pj(e,14667);b=c[d>>2]|0}pj(e,b);f=f+1|0}g=Ah(g)|0;i=h;return g|0}function bf(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ji(pa(102,h|0)|0)|0;i=g;return e|0}function cf(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+20>>2]|0;if(((a[d>>0]|0)+-48|0)>>>0<10){e=ti(d)|0;i=f;return e|0}else{f=c[b+8>>2]|0;b=c[f+28>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=b;c[e+8>>2]=f;Ai(19722,e)}return 0}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+12>>2]|0;a=a+4|0;while(1){e=c[a>>2]|0;if(!e){a=0;break}a=e+12|0;d=Hb[f&7](b,c[a>>2]|0)|0;if((d|0)<0){a=e;continue}if((d|0)<=0){g=7;break}a=e+4|0}if((g|0)==7)a=c[a>>2]|0;return a|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(vf(a,20727)|0)if(!(vf(a,21994)|0)){d=bi(a+4112|0,Td(a+6160|0)|0)|0;break}else{c[e>>2]=b;Ai(15207,e)}else d=ec(a+4112|0,Td(a+6160|0)|0)|0;while(0);i=f;return d|0}function ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((vf(c[e+4>>2]|0,d)|0)!=0);return e|0}function gf(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((Ji(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function hf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Fi(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=xd(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=me(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Ai(18912,g)}return 0}function kf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(vf(a,20269)|0){if(Te(a)|0){c=wd(a,b)|0;break}c=nf(a,0,c)|0;if((c|0)==-1)c=0;else c=Lg(a,b,c)|0}else c=vj(b)|0;while(0);i=d;return c|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Hg(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)ig(17024,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ai(17050,e)}}function mf(b){b=b|0;var d=0,e=0,f=0;d=c[2262]|0;f=qe(c[(xi()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=yk(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Of(b,Wd(b)|0,1,d)|0;Kd(58,d)|0;Kd(32,d)|0}Of(f,Wd(f)|0,1,d)|0;Kd(10,d)|0;if(e|0)xk(d);return}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ji(jb(5,f|0)|0)|0;i=e;return d|0}function of(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function pf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Gh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;pe(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ji(pa(102,f|0)|0)|0;i=e;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ni(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Ig(b,d,e)|0;a=a+16|0;b=a;b=ni(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function sf(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 tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=ni(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=ni(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;lf(b,d,e);return}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((fc(2,a,d)|0)<0){b=qe(c[(xi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;gi(16610,e);a=0}else{c[b>>2]=ek(c[d>>2]|0)|0;a=1}i=f;return a|0}function vf(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 wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ni(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ni(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Od(b,d,e);return}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ni(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ni(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Yc(b,1,d,e)|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if(($e(a,1,20,d,8)|0)>=0)if(($e(a,1,21,d,8)|0)<0){gi(14200,e);a=-1}else a=0;else{gi(14150,f);a=-1}i=f;return a|0}function zf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=zc(b,d,e)|0;i=g;return f|0}function Af(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=sj(a[e>>0]|0)|0;c=c<<24>>24;b=(sj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Bf(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 Cf(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;Dg(b);a=Xc(a,b)|0;if(!(b&1)){b=Sg(a+16|0)|0;c[f>>2]=b;cc(a,b,d,e,0,0);gg(f)}else rg(a,d,e,0,0);i=g;return a|0}function Df(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=We(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Ff(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=jd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ai(17232,g)}return 0}function Gf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(17332)|0;d=(b|0)!=0;if(d)Jf(e,100,b);qa(17332,17335,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(17332,e|0,1)|0;else ob(17332)|0;Oa();i=f;return b|0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Oc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;pe(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function If(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Ji(ib(10,b|0)|0)|0;if(b){if((c[(xi()|0)>>2]|0)==21){c[d>>2]=a;b=Ji(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function Jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Wd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Ai(16691,f)}else{Kj(a,d)|0;i=g;return}}function Kf(b){b=b|0;var c=0,d=0,e=0;d=(Fi(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Fi(b,120)|0)==0;d=e?d:d|128;b=(Fi(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Lf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ji(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;f=f+16|0;c[f>>2]=d;mi(b,f);f=c[a+8>>2]|0;b=c[f+4>>2]|0;d=c[a+12>>2]|0;c[e>>2]=c[f+28>>2];c[e+4>>2]=b;c[e+8>>2]=d;Ai(19063,e)}function Nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Od(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Of(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=(yk(e)|0)==0;a=Zc(a,f,e)|0;if(!g)xk(e)}else a=Zc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=ni(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[183]|0)Yg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Pe(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=nj(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a+20|0;if(!(Af(c[d>>2]|0,b)|0))uh(a)|0;else{d=c[d>>2]|0;c[e>>2]=b;c[e+4>>2]=d;Mf(a,19104,e)}i=f;return}function Sf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2232]|0;else{Ie(14092)|0;Ie(14117)|0;d=c[2232]|0;Gc(d,a,b)|0;Kd(10,d)|0;yd(d)|0}yd(d)|0;d=c[2262]|0;Gc(d,a,b)|0;Kd(10,d)|0;yd(d)|0}return}function Tf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ji(kb(142,h|0)|0)|0;i=g;return d|0}function Uf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Vf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=ne(h)|0;a=a+136|0;Yg(a,b,d+64|0,0)|0;wf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;pc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Xg(f);i=g;return c[f>>2]|0}function Xf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Rh(e)|0,(a[d>>0]|0)!=0):0){e=qg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function Yf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=qe(c[(xi()|0)>>2]|0)|0;c[g+4>>2]=a;Dh(f,14144,g)|0;mi(f,e);i=d;return}function _f(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?(Of(b,d,1,a)|0)!=1:0){a=qe($g(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Ai(16804,e)}i=f;return}function $f(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else pe(b,c,d)|0;return b|0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[6529]|0;if((d|0?(e=qh(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Ai(18564,f);f=ih(a)|0;i=g;return ((f|0)==0?b:f)|0}function bg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(le(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ai(13466,e)}}function dg(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 eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=nf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;ig(13777,d)}else{i=e;return b|0}return 0}function fg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((hh(a,511)|0)<0)if((c[(xi()|0)>>2]|0)==17)b=0;else{mf(26804);c[d>>2]=a;Ai(19124,d)}else b=1;i=e;return b|0}function gg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((ph(b)|0)<0){c[d>>2]=b;ig(13501,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function hg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Wd(c[g>>2]|0)|0;e=Wd(d)|0;b=je(f+2+e|0)|0;pe(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;pe(f+1|0,d|0,e|0)|0;return b|0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=qe(c[(xi()|0)>>2]|0)|0;c[f+4>>2]=a;Dh(e,14144,f)|0;Ri(e,d)}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function kg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((ph(b)|0)<0)ig(17200,d);else{c[a>>2]=-1;break}while(0);i=e;return}function lg(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Pf(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Vc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Wd(a)|0;g=g+1+(Wd(b)|0)|0;d=je(g)|0;c[f>>2]=a;c[f+4>>2]=b;kh(d,g,17213,f)|0;i=e;return d|0}function ng(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=bj(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(20213,20235,352,20251)}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Ji(d)|0;i=f;return e|0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=je(104)|0;c[f+4>>2]=si(b)|0;c[f+8>>2]=-1;b=Wd(e)|0;c[f+20>>2]=b;c[f+12>>2]=b;a[f+40>>0]=d;c[f+52>>2]=e;return f|0}function qg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Hj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function rg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Sg(h)|0;cc(a,b,c[h>>2]|0,d,e,f);gg(h);i=g;return}function sg(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+4>>2]=b;c[f+8>>2]=d;c[6531]=0;nh(a,f,f,1);Xg(26124);i=e;return c[6531]|0}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(fh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function ug(b,d){b=b|0;d=d|0;a:while(1){if(!(Zb(b,d,0)|0)){b=0;break}switch(a[(Rh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function vg(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;a=b-a*a/(+(c>>>0)+4294967296.0*+(d>>>0));if(d>>>0>0|(d|0)==0&c>>>0>1){d=ni(c|0,d|0,-1,-1)|0;a=a/(+(d>>>0)+4294967296.0*+(C>>>0))}return +a}function wg(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=17){b=0;break}if(!(Af(c[72+(b*36|0)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4)b=72+(b*36|0)|0;return b|0}function xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=tg(b)|0;b=ld(b,21745)|0;g=ne(f+1|0)|0;c[d>>2]=g;Se(b,g,f);a[g+f>>0]=0;ye(b)|0;if(e|0)c[e>>2]=f;return}function yg(a){a=a|0;a:do if(!(Aj(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function zg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=Zi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;pe(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Bg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){hk(b+96|0);d=b+100|0;Nh(d);Nh(d);kk(b+20|0);bc(b+8|0);Sj(c[b+4>>2]|0);Pi(a)}return}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Ig(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Dg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ai(12975,c);break}default:{}}if((a&18|0)==16)Ai(13041,b);else{i=c;return}}function Eg(a){a=a|0;var b=0,d=0;d=a+64|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0)b=0;else{a=c[a+8>>2]|0;Pf(a,b,d);b=He(a)|0}return b|0}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(yk(a)|0)==0;b=Ud(a,b,d)|0;if(!e)xk(a)}else b=Ud(a,b,d)|0;return b|0}function Gg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ji(pb(4,f|0)|0)|0;i=e;return a|0}
+function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ji(sb(3,f|0)|0)|0;i=e;return a|0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;mh(e,256,19630,f)|0;Bh(e)|0;b=ff(a,e)|0;i=d;return b|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Od(a,d,4);a=c[d>>2]|0;if(b){a=Zi(a|0)|0;c[d>>2]=a}i=e;return a|0}function Lg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=je(104)|0;c[f+4>>2]=si(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=je(65537)|0;return f|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Pe(a,d,4,0);a=c[d>>2]|0;if(b){a=Zj(a)|0;c[d>>2]=a}i=e;return a|0}function Ng(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Pe(a,d,2,0);a=b[d>>1]|0;if(c){a=_j(a)|0;b[d>>1]=a}i=e;return a|0}function Og(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Pg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((fh(a,b)|0)<0){c[d>>2]=a;Ai(19151,d)}else{i=e;return c[b+56>>2]|0}return 0}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;Ai(22348,d)}else{i=e;return b|0}return 0}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=zd(g,b,d,e)|0;i=f;return e|0}function Sg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Uh(b)|0)<0)ig(13138,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Tg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Tf(0,0,0,0,b)|0}i=d;return}function Ug(b){b=b|0;var c=0,d=0;c=Wd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Hj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[13]|0)>=(a|0)){a=c[6527]|0;if(!a){a=c[2262]|0;c[6527]=a}Gc(a,b,d)|0;yd(c[6527]|0)|0}return}function Wg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Xg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=ni(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return ze(b,d,e)|0}function Zg(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=Uf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _g(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(vf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function $g(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(yk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)xk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function ah(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;a=si(a)|0;c[d>>2]=a;a=Yb(pg(20136,1,a)|0)|0;Pi(d);i=b;return a|0}function bh(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;a=ld(a,19212)|0;c[f>>2]=a;_f(a,b,d);fj(f);i=e;return}function ch(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=22004;c[a+4>>2]=352;Ai(22814,a);return 0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=je(28)|0;c[e+4>>2]=0;c[e+12>>2]=a;c[e+20>>2]=b;c[e+16>>2]=d;c[e+8>>2]=0;return e|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ji(cb(57,e|0)|0)|0;i=d;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ji(Pa(195,e|0)|0)|0;i=d;return a|0}function gh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ji(hb(38,e|0)|0)|0;i=d;return a|0}function hh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ji(Ia(39,e|0)|0)|0;i=d;return a|0}function ih(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6528]|0;if(!b)Ai(18532,d);else{a=pi(b,a)|0;i=d;return a|0}return 0}function jh(a){a=a|0;var b=0;b=je(36)|0;c[b+28>>2]=128;c[b+20>>2]=je(128)|0;c[b+8>>2]=a;c[b+16>>2]=26804;c[b+12>>2]=26804;return b|0}function kh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=jd(a,b,d,g)|0;i=f;return e|0}function lh(a,b){a=a|0;b=b|0;a=a+12|0;do{a=c[a>>2]|0;if(!a){a=0;break}}while((Af(c[a+4>>2]|0,b)|0)!=0);return a|0}function mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Ff(a,b,d,g)|0;i=f;return e|0}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[6523]=e;c[6524]=b;c[6525]=d;c[6526]=c[a+12>>2];Je(c[a+4>>2]|0);return}function oh(a){a=a|0;var b=0;b=a+64|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0)a=0;else{b=Eg(a)|0;a=ah(b)|0;Sj(b)}return a|0}function ph(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=Ji((a|0)==-4?-115:a)|0;i=b;return a|0}function qh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(vf(d,a)|0))break;b=b+8|0}return b|0}function rh(a){a=a|0;var b=0;b=je(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;We(b,a)|0;return b|0}function sh(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=Ji(Wa(6,d|0)|0)|0;i=b;return a|0}function th(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]}function uh(a){a=a|0;var b=0;b=i;i=i+16|0;a=gc(a)|0;if(!a)Ai(19081,b);else{i=b;return a|0}return 0}function vh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Eb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function wh(a,b){a=a|0;b=b|0;while(1){if(!a){a=0;break}if(!(Af(c[a+4>>2]|0,b)|0))break;a=c[a>>2]|0}return a|0}function xh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function yh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=je(d+1|0)|0;c=(c|0)<(d|0)?c:d;pe(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function zh(a){a=a|0;while(1){if(!a)break;zh(c[a>>2]|0);Cb[c[6523]&3](c[a+12>>2]|0);a=c[a+4>>2]|0}return}function Ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(18661,18672,40,18688);else{b=c[b+4>>2]|0;Pi(a);return b|0}return 0}function Bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=sj(c<<24>>24)|0;d=d+1|0}return b|0}function Ch(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=tj(c<<24>>24)|0;d=d+1|0}return b|0}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=gj(a,b,f)|0;i=e;return d|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gc(a,b,f)|0;i=e;return d|0}function Fh(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;Id(a,b,f);i=e;return}function Gh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=bj(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Df(a,b,f)|0;i=e;return d|0}function Ih(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=Gc(c[2232]|0,a,e)|0;i=d;return b|0}function Jh(a,b){a=a|0;b=b|0;var c=0;c=Wd(a)|0;c=c-(Wd(b)|0)|0;if((c|0)<0)c=0;else c=(vf(a+c|0,b)|0)==0&1;return c|0}function Kh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Zj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Zj(c[a>>2]|0)|0}return}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Mh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Nh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Sj(b);b=d}c[a>>2]=0;return}function Oh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;ph(b)|0;b=b+1|0}return}function Ph(a){a=+a;var b=0;b=Zi((g[k>>2]=a,c[k>>2]|0)|0)|0;return +(c[k>>2]=b,+g[k>>2])}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Rh(b){b=b|0;if(!b)b=0;else while(1)if(!(Hj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Sh(a,b){a=a|0;b=b|0;if((c[a+8>>2]|0)>(c[b+4>>2]|0))a=(c[b+8>>2]|0)<=(c[a+4>>2]|0)&1;else a=-1;return a|0}function Th(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;Vg(a,b,f);i=e;return}function Uh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ji(wa(42,d|0)|0)|0;i=b;return a|0}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,c)|0;if(c>>>0>b>>>0)Xe(a+b|0,0,c-b|0)|0;return a|0}function Wh(){}function Xh(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 (C=d,a-c>>>0|0)|0}function Yh(a){a=a|0;var b=0;if(!a)a=je(8)|0;else{b=je((Wd(a)|0)+8|0)|0;Kj(b+4|0,a)|0;a=b}return a|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=0;else{a=Ef(a,c+1|0)|0;pe(a|0,b|0,c|0)|0}return a|0}function _h(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Hc(a,b,c,d,1,e,f,g)|0}function $h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ib[a&1](b|0,c|0,d|0,e|0,f|0)|0}function ai(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[13]=a;c[d>>2]=0;i=b;return}function bi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Ai(18980,d);return 0}function ci(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=22004;c[a+4>>2]=360;Ai(22814,a);return 0}function di(a){a=a|0;var b=0;b=je(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=je(a+1|0)|0;c[b+8>>2]=a;return b|0}function ei(){var a=0,b=0;b=i;i=i+16|0;a=Pc(2,1,0)|0;if((a|0)<0)gi(14275,b);i=b;return a|0}function fi(a,b){a=a|0;b=b|0;a=Jg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function gi(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;mi(a,e);i=d;return}function hi(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c;Pe(a,b,1,0);i=c;return d[b>>0]|0|0}function ii(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Fc(b)|0;Ke(a)}return b|0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6528]|0)){Oi(Wb(a,b,0,d,0)|0);c[6529]=d}return}function ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Sj(c[b+20>>2]|0);Ld(b+8|0);Pi(a)}return}function li(a){a=a|0;if((vf(a,20269)|0)!=0?(vf(a,16737)|0)!=0:0)a=(tg(a)|0)!=-1&1;else a=1;return a|0}function mi(a,b){a=a|0;b=b|0;var d=0;d=ed()|0;Db[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function oi(a,b){a=a|0;b=b|0;var d=0;d=je(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function pi(a,b){a=a|0;b=b|0;a=ff(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function ri(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function si(a){a=a|0;var b=0;if(!a)a=0;else{b=Wd(a)|0;a=yh(a,b,b)|0}return a|0}function ti(a){a=a|0;var b=0;b=i;i=i+16|0;a=ue(a,0,b)|0;i=b;return a|0}function ui(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ad(a,b,c,e,0,d,0)|0}function vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oj(a,b);return Bc(a,b,c,d)|0}function wi(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function xi(){var a=0;if(!(c[6532]|0))a=26172;else a=c[(Dk()|0)+64>>2]|0;return a|0}function yi(a){a=a|0;if(!a)a=0;else{a=Rh(a)|0;Ug(a)}return a|0}function zi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Nh(b);Sj(b);c[a>>2]=0}return}function Ai(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ri(a,d)}function Bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Ci(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Sj(c[b+4>>2]|0);Pi(a)}return}function Di(a){a=a|0;if((c[a+76>>2]|0)>-1?yk(a)|0:0)xk(a);return c[a+60>>2]|0}function Ei(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;return +(+O(+(+vg(a,b,c,d))))}function Fi(b,c){b=b|0;c=c|0;b=cd(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Gi(){var a=0;a=ed()|0;Gb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Hi(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ii(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){kg(b+52|0);Pi(a)}return}function Ji(a){a=a|0;if(a>>>0>4294963200){c[(xi()|0)>>2]=0-a;a=-1}return a|0}function Ki(a,b){a=a|0;b=b|0;var c=0;c=ne(b)|0;pe(c|0,a|0,b|0)|0;return c|0}function Li(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){zi(b+20|0);Pi(a)}return}function Mi(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ni(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ad(a,b,0)|0;return a|0}function Oi(a){a=a|0;c[6528]=a;if(ih(18024)|0)ai(Ue(18024,0)|0);return}function Pi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)mk(b);return}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Ri(a,b){a=a|0;b=b|0;c[(ed()|0)+4>>2]=1;mi(a,b);Gi()}function Si(a){a=a|0;var b=0;b=ne(a)|0;Xe(b|0,0,a|0)|0;return b|0}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function Ui(a){a=a|0;var b=0;b=rh(0)|0;return dh(a,b,Ef(b,512)|0)|0}function Vi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;a=we(a,b,c,0,-2147483648)|0;return a|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;a=we(a,b,c,-2147483648,0)|0;return a|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;return rc(a,b,15431,15440,c)|0}function Zi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function _i(a,b){a=a|0;b=b|0;c[6523]=b;zh(c[a+4>>2]|0);return}function $i(a){a=a|0;c[6531]=0;_i(a,1);Xg(26124);return c[6531]|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;return Hb[a&7](b|0,c|0)|0}function bj(a,b,c){a=a|0;b=b|0;c=c|0;return Vh(a,b,c)|0}function cj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(7);return 0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return dd(a,b,Wd(b)|0,c)|0}function ej(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function fj(a){a=a|0;if(!(Re(a)|0))Gi();else return}function gj(a,b,c){a=a|0;b=b|0;c=c|0;return jd(a,2147483647,b,c)|0}function hj(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;Db[a&3](b|0,c|0)}function jj(){if((ab(14125)|0)==0?(ab(14135)|0)==0:0)_a(-1);Za()}function kj(a,b,c){a=a|0;b=b|0;c=c|0;Kc(a,b,c)|0;return a|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function mj(a,b,c){a=a|0;b=b|0;c=c|0;return Hf(a,b,c)|0}function nj(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function oj(a,b){a=a|0;b=b|0;lf(a,b,Wd(b)|0);return}function pj(a,b){a=a|0;b=b|0;pf(a,b,Wd(b)|0);return}function qj(a,b){a=a|0;b=b|0;return yh(a,Wd(a)|0,b)|0}function rj(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,0,c)|0}function sj(a){a=a|0;var b=0;b=(ak(a)|0)==0;return (b?a:a&95)|0}function tj(a){a=a|0;var b=0;b=($j(a)|0)==0;return (b?a:a|32)|0}function uj(a,b){a=a|0;b=b|0;return Wg(a,b,(Wd(a)|0)+1|0)|0}function vj(a){a=a|0;return Lg(20269,a,Di(c[2291]|0)|0)|0}function wj(a){a=a|0;if(!(c[a+68>>2]|0))xk(a);return}function xj(a){a=a|0;if(!(c[a+68>>2]|0))xk(a);return}function yj(a,b){a=a|0;b=b|0;return (Of(a,Wd(a)|0,1,b)|0)+-1|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,1,c)|0}function Aj(a){a=a|0;return ((a+-48|0)>>>0<10|(Tj(a)|0)!=0)&1|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;return Fg(a,b,c)|0}function Cj(a,b){a=a|0;b=b|0;return Fb[a&3](b|0)|0}function Dj(a){a=a|0;c[a>>2]=c[6531];c[6531]=a;return}function Ej(a,b){a=a|0;b=b|0;return hd(a,15468,b)|0}function Fj(a){a=a|0;Sj(c[a+4>>2]|0);Sj(a);return}function Gj(a,b){a=a|0;b=b|0;i=a;j=b}function Hj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ij(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Jj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Kj(a,b){a=a|0;b=b|0;gd(a,b)|0;return a|0}function Lj(a){a=a|0;return sc(a,-2021002517,18948)|0}function Mj(a,b){a=a|0;b=b|0;Cb[a&3](b|0)}function Nj(a){a=a|0;c[183]=si(a)|0;return}function Oj(a,b){a=a|0;b=b|0;return oe(a,b)|0}function Pj(a,b){a=a|0;b=b|0;return +(+he(a,b,1))}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Rj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Sj(a){a=a|0;if(a|0)mk(a);return}function Tj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Uj(a,b){a=+a;b=+b;return +(+Yf(a,b))}function Vj(a,b){a=+a;b=b|0;return +(+Sd(a,b))}function Wj(a){a=a|0;return Kd(a,c[2232]|0)|0}function Xj(a,b){a=+a;b=b|0;return +(+Xd(a,b))}function Yj(a){a=a|0;return (ih(a)|0)!=0|0}function Zj(a){a=a|0;return Zi(a|0)|0}function _j(a){a=a|0;return Rj(a|0)|0}function $j(a){a=a|0;return (a+-65|0)>>>0<26|0}function ak(a){a=a|0;return (a+-97|0)>>>0<26|0}function bk(a,b){a=a|0;b=b|0;Qb(b);return}function ck(a){a=a|0;return c[a+16>>2]|0}function dk(a,b){a=+a;b=+b;return +(+jc(a,b))}function ek(a){a=a|0;return Zi(a|0)|0}function fk(a){a=a|0;return Zi(a|0)|0}function gk(a,b){a=a|0;b=b|0;ba(6);return 0}function hk(a){a=a|0;Pi(a);return}function ik(a){a=a|0;Gb[a&1]()}function jk(a){a=a|0;return Kb(a)|0}function kk(a){a=a|0;Pi(a);return}function lk(a){a=a|0;Qb(a);return}function mk(a){a=a|0;Qb(a);return}function nk(a){a=a|0;return 0}function ok(a,b){a=a|0;b=b|0;ba(2)}function pk(a){a=a|0;return 0}function qk(a){a=a|0;i=a}function rk(a){a=a|0;return 0+a|0}function sk(a){a=a|0;C=a}function tk(a){a=a|0;ba(4);return 0}function uk(){return Ui(6)|0}function vk(a){a=a|0;return a|0}function wk(){return c[183]|0}function xk(a){a=a|0;return}function yk(a){a=a|0;return 0}function zk(){return c[13]|0}function Ak(){return C|0}function Bk(){return i|0}function Ck(a){a=a|0;ba(1)}function Dk(){return 0}function Ek(){ba(5)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[Qj,zf,gf,zc,Rc,Ag,lj,mj];var Cb=[Ck,Dj,xj,wj];var Db=[ok,Sf,bk,ok];var Eb=[Qi,Dd,Wc,$b,ch,Qi,Qi,Qi];var Fb=[tk,sh,Dc,tk];var Gb=[Ek,jj];var Hb=[gk,Qe,Me,xc,Ed,ci,Sh,gk];var Ib=[cj,$c];return{_llvm_bswap_i16:Rj,_i64Subtract:Xh,_free:Qb,_main:qd,_htonl:fk,_realloc:oe,_i64Add:ni,_memmove:$f,_pthread_self:Dk,_pthread_mutex_unlock:nk,_memset:Xe,_malloc:Kb,_pthread_mutex_lock:pk,_memcpy:pe,_llvm_bswap_i32:Zi,_bitshift64Lshr:Qh,_htons:Jj,_bitshift64Shl:Lh,___errno_location:xi,_ntohs:Ij,runPostSets:Wh,stackAlloc:Mi,stackSave:Bk,stackRestore:qk,establishStackSpace:Gj,setThrew:ej,setTempRet0:sk,getTempRet0:Ak,dynCall_iiii:Bi,dynCall_vi:Mj,dynCall_vii:ij,dynCall_iiiiiii:vh,dynCall_ii:Cj,dynCall_v:ik,dynCall_iii:aj,dynCall_iiiiii:$h}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigBedSummary_static.js.mem b/bedTools/bigBedSummary_static.js.mem
new file mode 100644
index 0000000000000000000000000000000000000000..a82da49c4b7dd40d52476510e66a00dcd6221575
Binary files /dev/null and b/bedTools/bigBedSummary_static.js.mem differ
diff --git a/bedTools/bigBedToBed.c b/bedTools/bigBedToBed.c
new file mode 100644
index 0000000000000000000000000000000000000000..1acbcc70ec65d708ab0ff6fce79c0368f2852313
--- /dev/null
+++ b/bedTools/bigBedToBed.c
@@ -0,0 +1,103 @@
+/* bigBedToBed - Convert from bigBed to ascii bed format.. */
+
+/* Copyright (C) 2014 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+#include "common.h"
+#include "linefile.h"
+#include "hash.h"
+#include "options.h"
+#include "localmem.h"
+#include "udc.h"
+#include "bigBed.h"
+#include "obscure.h"
+
+
+char *clChrom = NULL;
+int clStart = -1;
+int clEnd = -1;
+int maxItems = 0;
+
+void usage()
+/* Explain usage and exit. */
+{
+errAbort(
+  "bigBedToBed v1 - Convert from bigBed to ascii bed format.\n"
+  "usage:\n"
+  "   bigBedToBed input.bb output.bed\n"
+  "options:\n"
+  "   -chrom=chr1 - if set restrict output to given chromosome\n"
+  "   -start=N - if set, restrict output to only that over start\n"
+  "   -end=N - if set, restict output to only that under end\n"
+  "   -maxItems=N - if set, restrict output to first N items\n"
+  "   -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs\n"
+  );
+}
+
+static struct optionSpec options[] = {
+   {"chrom", OPTION_STRING},
+   {"start", OPTION_INT},
+   {"end", OPTION_INT},
+   {"maxItems", OPTION_INT},
+   {"udcDir", OPTION_STRING},
+   {NULL, 0},
+};
+
+void bigBedToBed(char *inFile, char *outFile)
+/* bigBedToBed - Convert from bigBed to ascii bed format.. */
+{
+struct bbiFile *bbi = bigBedFileOpen(inFile);
+FILE *f = mustOpen(outFile, "w");
+struct bbiChromInfo *chrom, *chromList = bbiChromList(bbi);
+int itemCount = 0;
+for (chrom = chromList; chrom != NULL; chrom = chrom->next)
+    {
+    if (clChrom != NULL && !sameString(clChrom, chrom->name))
+        continue;
+    char *chromName = chrom->name;
+    int start = 0, end = chrom->size;
+    if (clStart > 0)
+        start = clStart;
+    if (clEnd > 0)
+        end = clEnd;
+    int itemsLeft = 0;	// Zero actually means no limit.... 
+    if (maxItems != 0)
+        {
+	itemsLeft = maxItems - itemCount;
+	if (itemsLeft <= 0)
+	    break;
+	}
+    struct lm *lm = lmInit(0);
+    struct bigBedInterval *interval, *intervalList = bigBedIntervalQuery(bbi, chromName, 
+    	start, end, itemsLeft, lm);
+    for (interval = intervalList; interval != NULL; interval = interval->next)
+	{
+	fprintf(f, "%s\t%u\t%u", chromName, interval->start, interval->end);
+	char *rest = interval->rest;
+	if (rest != NULL)
+	    fprintf(f, "\t%s\n", rest);
+	else
+	    fprintf(f, "\n");
+	}
+    lmCleanup(&lm);
+    }
+bbiChromInfoFreeList(&chromList);
+carefulClose(&f);
+bbiFileClose(&bbi);
+}
+
+int main(int argc, char *argv[])
+/* Process command line. */
+{
+optionInit(&argc, argv, options);
+clChrom = optionVal("chrom", clChrom);
+clStart = optionInt("start", clStart);
+clEnd = optionInt("end", clEnd);
+maxItems = optionInt("maxItems", maxItems);
+udcSetDefaultDir(optionVal("udcDir", udcDefaultDir()));
+if (argc != 3)
+    usage();
+bigBedToBed(argv[1], argv[2]);
+if (verboseLevel() > 1)
+    printVmPeak();
+return 0;
+}
diff --git a/bedTools/bigBedToBed_static.js b/bedTools/bigBedToBed_static.js
new file mode 100644
index 0000000000000000000000000000000000000000..a2e3721bd0dcd1b8b54bab8df95dcca62f2ea80c
--- /dev/null
+++ b/bedTools/bigBedToBed_static.js
@@ -0,0 +1,16 @@
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26672;__ATINIT__.push();memoryInitializer="bigBedToBed_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=kc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=20664;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=20691;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=hc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=20641;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=20664;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=20711;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=mi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=20775;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=20804;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=hc(o,q,r)|0;else o=kc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=mi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=20978;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=hc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11212+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=20999;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=kc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}fe(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11212+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=20840;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9036;c[H>>2]=9;c[I>>2]=11084;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=20756;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=20865;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=20865;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=20891;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=20928;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=20956;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=21074;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;fe(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=kc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=21052;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=20736;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=kc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=21022;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Ic(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=hc(j,h,k)|0;else h=kc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5992]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=24008+(b<<1<<2)|0;e=d+8|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[5996]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[5992]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5994]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=24008+(b<<1<<2)|0;e=d+8|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[5996]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5994]|0;break}else Za()}else{c[5992]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5997]|0;b=l>>>3;d=24008+(b<<1<<2)|0;a=c[5992]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{m=a;n=b}}else{c[5992]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5994]=h;c[5997]=e;N=j;i=O;return N|0}a=c[5993]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24272+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5996]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24272+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5993]=c[5993]&~(1<<a);break}}else{if(h>>>0<(c[5996]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5996]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5996]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5994]|0;if(a|0){f=c[5997]|0;b=a>>>3;e=24008+(b<<1<<2)|0;a=c[5992]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{r=a;s=b}}else{c[5992]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5994]=d;c[5997]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5993]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24272+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24272+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5994]|0)-q|0)>>>0:0){f=c[5996]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24272+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5993]=c[5993]&~(1<<a);break}}else{if(g>>>0<(c[5996]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5996]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5996]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=24008+(a<<1<<2)|0;b=c[5992]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{w=a;x=b}}else{c[5992]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24272+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5993]|0;b=1<<d;if(!(a&b)){c[5993]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5996]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5994]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5997]|0;if(a>>>0>15){N=b+q|0;c[5997]=N;c[5994]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5994]=0;c[5997]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5995]|0;if(a>>>0>q>>>0){L=a-q|0;c[5995]=L;N=c[5998]|0;M=N+q|0;c[5998]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6110]|0)){c[6112]=4096;c[6111]=4096;c[6113]=-1;c[6114]=-1;c[6115]=0;c[6103]=0;x=p&-16^1431655768;c[p>>2]=x;c[6110]=x}h=q+48|0;g=c[6112]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6102]|0;if(a|0?(w=c[6100]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6103]&4)){a=c[5998]|0;c:do if(a){d=24416;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5995]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6111]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6100]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6102]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6112]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6103]=c[6103]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6100]|0)+f|0;c[6100]=a;if(a>>>0>(c[6101]|0)>>>0)c[6101]=a;j=c[5998]|0;do if(j){e=24416;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5995]|0)|0;c[5998]=M;c[5995]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5999]=c[6114];break}a=c[5996]|0;if(h>>>0<a>>>0){c[5996]=h;k=h}else k=a;d=h+f|0;a=24416;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24416;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5997]|0)){N=(c[5994]|0)+g|0;c[5994]=N;c[5997]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24272+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5996]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5993]=c[5993]&~(1<<b);break e}while(0);e=c[5996]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5996]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=24008+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[5992]=c[5992]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=24008+(a<<1<<2)|0;b=c[5992]|0;a=1<<a;do if(!(b&a)){c[5992]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5996]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24272+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5993]|0;b=1<<d;if(!(a&b)){c[5993]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5996]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[5995]|0)+g|0;c[5995]=N;c[5998]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24416;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5998]=N;c[5995]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5999]=c[6114];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6104];c[a+4>>2]=c[6105];c[a+8>>2]=c[6106];c[a+12>>2]=c[6107];c[6104]=h;c[6105]=f;c[6107]=0;c[6106]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=24008+(a<<1<<2)|0;b=c[5992]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{J=a;K=b}}else{c[5992]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24272+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5993]|0;b=1<<d;if(!(a&b)){c[5993]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5996]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[5996]|0;if((N|0)==0|h>>>0<N>>>0)c[5996]=h;c[6104]=h;c[6105]=f;c[6107]=0;c[6001]=c[6110];c[6e3]=-1;a=0;do{N=24008+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5998]=M;c[5995]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5999]=c[6114]}while(0);a=c[5995]|0;if(a>>>0>q>>>0){L=a-q|0;c[5995]=L;N=c[5998]|0;M=N+q|0;c[5998]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(Oh()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0}while((Ti(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=ad(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23794+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ad(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23803+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ad(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=ad(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Oh()|0)>>2]=22;Uf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=ad(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ad(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;k=Gh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Gh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=ad(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Uf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Gh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=qc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Uf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=gh(o|0,n|0,2)|0;H=Gh(H|0,C|0,-32,-1)|0;e=Gh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Oh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(Oh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Gh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=qh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Gh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+ej(+Id(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Oh()|0)>>2]=34;g=+fj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ad(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Gh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Gh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=qc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Uf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Gh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Oh()|0)>>2]=22;Uf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Oh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(Oh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9004+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9004+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9004+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=gh(c[p>>2]|0,0,29)|0;o=Gh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=hi(o|0,n|0,1e9,0)|0;o=sg(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+ej(+Id(1.0,105-o|0),j);m=+nj(j,+Id(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+nj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Oh()|0)>>2]=34}while(0);g=+fj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Oh()|0)>>2]=22;Uf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Oh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Tc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[21102+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}pc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=kh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21582;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21582;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=qh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21582;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21582:21584;L=76}else{p=1;r=21583;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21582;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21582;o=N;break}case 109:{o=ge(c[(Oh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23484;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){xd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23492:23497}else{G=1;H=23494}else{q=-q;G=1;H=23491}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+gj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=_d(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21566+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;xd(e,32,K,r,I);if(!(c[e>>2]&32))Tc(y,w,e)|0;xd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Tc(ea,o,e)|0;f=ba-p|0;xd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Tc(t,f,e)|0;xd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=gh(c[r>>2]|0,0,t|0)|0;B=Gh(B|0,C|0,o|0,0)|0;o=C;A=sg(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=hi(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=_d(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;xd(e,32,K,w,I);if(!(c[e>>2]&32))Tc(H,G,e)|0;xd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=_d(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ie(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Tc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Tc(23522,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=_d(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ie(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Tc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}xd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=_d(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Tc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Tc(23522,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ie(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Tc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}xd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Tc(u,ba-u|0,e)|0}while(0);xd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;xd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Tc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Tc(s?(t?23803:23518):t?23510:23514,3,e)|0;xd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21582;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21566+(o&15)>>0]|r;o=kh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21582;L=77}else{o=t;t=2;r=21582+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21582;L=77}}else if((L|0)==76){f=_d(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Jc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21582;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=bi(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}xd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=bi(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Tc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;xd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;xd(e,32,o,s,p);if(!(c[e>>2]&32))Tc(v,w,e)|0;xd(e,48,o,s,p^65536);xd(e,48,r,t,0);if(!(c[e>>2]&32))Tc(f,t,e)|0;xd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;pc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Fj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Ti(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Uf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ad(e)|0}while((Ti(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Uf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((ad(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ie(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ie(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ad(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(xc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=ee(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(ii(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=ee(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Uf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ad(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Ti(d[m>>0]|0)|0))break;else n=m}Uf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ad(e)|0}while((Ti(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)Ej(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Gh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[35]|0)==0?(ef(c[a+8>>2]|0,19298)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Gh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Gh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Gh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Gh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=qh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Gh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=qh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=qh(k|0,j|0,f|0,d|0)|0;fe(b|0,B+f|0,o|0)|0;e=Gh(o|0,E|0,e|0,n|0)|0;f=C;d=qh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Gh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Dg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=$d(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Gh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=qh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[35]|0){y=Gh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Gh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=hi(k|0,j|0,w|0,0)|0;t=Gh(A|0,B|0,-1,-1)|0;t=Gh(t|0,C|0,w|0,0)|0;w=hi(t|0,C|0,w|0,0)|0;t=m+52|0;Df(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((Di(u,d,s)|0)<(s|0))f=0;else{cj(u);j=B;k=A;continue}while(1){o=Di(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Mi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Eg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Eg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Gh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=qh(f|0,j|0,p|0,q|0)|0;k=C;f=de(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Dg(Z,c[K>>2]|0,p,0)|0;cf(Z,c[K>>2]|0,f,j);di(W)}Sd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Dg(P,c[t>>2]|0,da+64|0,0)|0;cf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}cj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Dg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}ff(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Sh(19310,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;mh(4,19366,$);mh(4,19412,aa);S=0;T=0;break}else if((n|0)==36){ff(Z,j,f,h);S=ba;S=Gh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Gh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[35]|0:d;c[I>>2]=b;c[I+4>>2]=m;mh(4,19528,I);if(0){c[e>>2]=b;ah(0,19549,e)|0}c[h>>2]=0;c[n>>2]=0;ld(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){cj(d);u=Kh(19298)|0;c[h>>2]=u;cj(c[n>>2]|0);c[n>>2]=Kh(b)|0;j=1}else{u=d;j=0}h=u;g=$d(16)|0;do if(!(ef(u,19558)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=19558}else{if(!(ef(u,19793)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=19793;break}if(ef(u,18687)|0?ef(u,19954)|0:0){if(!(ef(u,19960)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=19960;break}if(!(ef(u,19298)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=19298;break}else{c[k>>2]=u;Sh(19996,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=18687}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[35]|0?(l=(te(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){di(o);cj(u);cj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=$d(312)|0;c[d+4>>2]=Kh(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;Zc(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[35]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(Eh(c[g>>2]|0)|0))t=29;else{ae(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[35]|0;if(g){Ad(c[d+40>>2]|0);p=d+44|0;n=zc(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(Eh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;mh(4,20085,s);Zh(G);sf(c[p>>2]|0)|0;sf(c[K>>2]|0)|0;g=d+52|0;if(Eh(c[g>>2]|0)|0)sf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];mh(4,20176,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Ed(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=Gh(h|0,k|0,8191,0)|0;k=kh(k|0,C|0,13)|0;Ve(j,A,4);Ve(j,x,4);Ve(j,I,8);Ve(j,v,8);Ve(j,w,4);Ve(j,y,4);Ve(j,z,8);Ve(j,z,8);Ve(j,z,8);Ve(j,z,8);g=d+136|0;h=Dg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Sh(20226,D)}a[E>>0]=0;Dg(g,j,((k+7|0)/8|0)+-1|0,1)|0;cf(g,j,E,1);Vf(B);c[B>>2]=Ed(c[d+48>>2]|0,577)|0;Vf(B);g=zc(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Sh(20293,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=vf(c[f+52>>2]|0,0,1)|0;Fd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=Gh(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=kh(H|0,C|0,13)|0;H=(Di(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Dg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Ed(c[d+48>>2]|0,2)|0;if(kg(18687,u)|0){c[I>>2]=0;j=d+52|0;if(Eh(c[j>>2]|0)|0)cg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;sf(c[j>>2]|0)|0;break}else{if(!(Fg(g,h)|0))break;K=Xf(c[j>>2]|0,20323)|0;H=c[f>>2]|0;Hg(K,H,Md(H)|0);Lg(K,c[j>>2]|0)|0;cj(K);break}}else c[d+132>>2]=Kh(c[I>>2]|0)|0;while(0);cj(c[I>>2]|0)}}}else{if(!(Eh(b)|0)){d=0;break}K=Ed(b,0)|0;c[d+56>>2]=K;re(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}cj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[5996]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[5997]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5994]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=24008+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[5992]=c[5992]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=24272+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5993]=c[5993]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5996]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5996]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5996]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[5998]|0)){p=(c[5995]|0)+g|0;c[5995]=p;c[5998]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5997]|0))return;c[5997]=0;c[5994]=0;return}if((m|0)==(c[5997]|0)){p=(c[5994]|0)+g|0;c[5994]=p;c[5997]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=24272+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5993]=c[5993]&~(1<<a);break}}else{if(f>>>0<(c[5996]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5996]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5996]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=24008+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5996]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[5992]=c[5992]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5996]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5997]|0)){c[5994]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=24008+(a<<1<<2)|0;b=c[5992]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{o=a;p=b}}else{c[5992]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24272+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5993]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5996]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[5993]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6e3]|0)+-1|0;c[6e3]=q;if(!q)a=24424;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6e3]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10800;C=256;D=10926}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11250;C=-1;D=11376}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5996]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[5997]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5994]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=24008+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[5992]=c[5992]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=24272+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5993]=c[5993]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5996]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5996]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5996]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5996]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5998]|0)){q=(c[5995]|0)+g|0;c[5995]=q;c[5998]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5997]|0))return;c[5997]=0;c[5994]=0;return}if((o|0)==(c[5997]|0)){q=(c[5994]|0)+g|0;c[5994]=q;c[5997]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=24272+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5993]=c[5993]&~(1<<d);break}}else{if(f>>>0<(c[5996]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5996]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5996]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=24008+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[5992]=c[5992]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5997]|0)){c[5994]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=24008+(d<<1<<2)|0;a=c[5992]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5996]|0)>>>0)Za();else{p=d;q=a}}else{c[5992]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24272+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5993]|0;a=1<<b;if(!(d&a)){c[5993]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5996]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5996]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Le(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Jc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Oh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0}while((Ti(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=ad(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ad(b)|0;if((d[23529+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Uf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23529+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Uf(b,0);c[(Oh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ad(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Eg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Gh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23785+((e*23|0)>>>5&7)>>0]|0;j=a[23529+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23529+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=kh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=gh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23529+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23529+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23529+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=hi(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Eg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Gh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23529+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23529+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0}while((d[23529+i>>0]|0)>>>0<e>>>0);c[(Oh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Oh()|0)>>2]=34;g=Gh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Oh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=qh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=21022;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=21052;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=21074;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ke(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(ef(r,17e3)|0)){j=g;h=k;N=4;break}s=Wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Ti(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Md(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Ni(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)pi(Q,o,(m|0)==0?17422:m)|0;else{l=Rg(o,f)|0;if(!l){l=Rg(o,76)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}ki(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}ji(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+$i(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+$i(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17422:m;l=Rg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=Ih(Q,o)|0;l=rh(m)|0;if(!n){pi(Q,o,l)|0;break}else{hh(n,l);break}}pi(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Sh(17011,z);break}case 34:{c[A>>2]=o;Sh(17037,A);break}case 36:{c[K>>2]=o;Sh(17076,K);break}case 38:{c[L>>2]=o;Sh(17112,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Sh(17145,B);break}case 43:{c[C>>2]=o;Sh(17112,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Sh(17187,D);break}case 48:{c[E>>2]=o;Sh(17231,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Sh(17266,F);break}case 53:{c[G>>2]=o;Sh(17306,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Sh(17342,H);break}case 57:{c[I>>2]=c[l>>2];Sh(17383,I);break}case 65:{Sh(17425,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,13657)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Ke(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(mg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(Oh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(kg(14469,f)|0))m=c[F>>2]|0;else{Ff(F)|0;f=Ff(F)|0;if(!f){O=20;break a}if((((kg(15109,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(ef(f,15112)|0)if(ef(f,15116)|0){if(I?(g=ef(f,15120)|0,!((H|g|0)==0&G)):0)if(!(ef(f,15124)|0)){f=o;break}else{O=30;break a}if(!(ef(f,15211)|0)){O=34;break a}if(!(ef(f,15120)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=lh(f+1|0)|0}if(!(kf(m,15263)|0)){if(o|0)c[e>>2]=Kh(f)|0;if(k)h=Kh(f)|0}}while(!(I&(kf(m,15272)|0)==0));if((kg(15286,f)|0)!=0?(q=(Wh(f,32)|0)+1|0,r=Wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=jd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=jd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=ge(f)|0;c[z+4>>2]=d;Ah(14920,z);f=0;break}case 10:{c[v>>2]=d;Ah(14957,v);f=0;break}case 11:{c[x>>2]=d;Ah(15013,x);f=0;break}case 15:{c[y>>2]=2e3;Ah(15045,y);f=0;break}case 20:{c[u>>2]=d;Ah(15083,u);f=0;break}case 30:{if(!g)Ah(15128,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Ah(15171,E);f=0;break}case 34:{c[w>>2]=d;Ah(15215,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Ah(15240,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Pg(N,256,13759,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Ah(15293,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24592:15387;c[K+8>>2]=f?15112:15116;c[K+12>>2]=h|0?h:15403;Ah(15413,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Pg(N,256,13759,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Ah(15454,M);f=0}break}}i=P;return f|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=ti(h)|0;c[b+16>>2]=e;f=td(c[f>>2]|0)|0;if(!f){s=0;break}s=Md(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;cj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}je(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Jf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=hg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;je(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Yf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Od(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Sh(18239,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Od(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Od(b,f);s=1}else s=1}while(0);i=y;return s|0}function Zb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((kg(18302,b)|0)==0?(kg(18310,b)|0)==0:0)?(kg(18319,b)|0)==0:0){c[j>>2]=b;Sh(18382,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;mh(4,18326,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=qh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;mh(4,18617,m);Vf(x);j=h+128|0;if((c[j>>2]|0)>0)Vf(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;mh(4,18464,n);j=h+256|0;k=c[x>>2]|0;if(!(c[5978]|0)){c[5978]=$d(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=af(j,k,c[5978]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=qh(l|0,m|0,n|0,I|0)|0;J=C;I=Gh(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;Sf(18513,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=Gh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Sh(18566,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=Gh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=he(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;Pg(y,2048,18668,z)|0;j=ec(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(kg(18687,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Hc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){cj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Sh(18692,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=af(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)Sf(18721,G);else F=j;K=h+120|0;J=K;J=Gh(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function _b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5996]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6112]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[5998]|0)){d=(c[5995]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5998]=l;c[5995]=m;return a|0}if((k|0)==(c[5997]|0)){e=(c[5994]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5994]=d;c[5997]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=24272+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5993]=c[5993]&~(1<<d);break}}else{if(h>>>0<(c[5996]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5996]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5996]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=24008+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[5992]=c[5992]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function $b(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;ah(0,20346,b)|0}b=d+112|0;if(c[b>>2]|0)Vf(b);b=d+128|0;if(c[b>>2]|0)Vf(b);cj(c[d+4>>2]|0);cj(c[d+8>>2]|0);di(d+12|0);cj(c[d+40>>2]|0);cj(c[d+44>>2]|0);cj(c[d+48>>2]|0);cj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Vf(b);Zh(d+80|0)}di(a);i=e;return}function ac(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(12158,12178,448,12194);h=ya()|0;c[s>>2]=h;if((h|0)<0)Sf(12207,l);if(h|0)if(!(Jg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Sf(12745,k)}r=Yh()|0;c[s>>2]=r;if(Jg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Sf(12218,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=xg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Mf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Qf(t);if(c[k>>2]|0)Qf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Sf(12207,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){id(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Sf(12452,o)}id(k,0,h,e);h=lg(1,f,g)|0;if((h|0)<0)Sf(12363,p);if((h|0)==(g|0)){Qg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Sh(12398,q)}}else if((b|0)==28){Qg(0)|0;Qg(1)|0;jh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Mf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Sf(12525,u);else if((b|0)==35){c[v>>2]=h;Sh(12540,v)}else if((b|0)==39){v=Ne(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Sh(12570,w)}else if((b|0)==41)Da(12625,12178,242,12649);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2114]|0;v=Ne(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;ah(h,12668,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12715,12178,396,12735);else if((b|0)==49)_a(0)}}function bc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Nf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Nf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Gh(m|0,l|0,-1,-1)|0;d=C;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;qh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=qh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Je(a,b,d)|0){b=yh()|0;if((b|0)>=0){if((Qd(b,1)|0)<0){Qg(b)|0;b=-1;break}b:do if(($e(b,d,16)|0)<0){n=Oh()|0;d=c[n>>2]|0;if((d|0)!=115){w=ge(d)|0;c[e>>2]=d;c[e+4>>2]=w;Ah(13593,e);Qg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Bf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=ge(d)|0;c[t>>2]=d;c[t+4>>2]=C;Ah(13369,t);Qg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Ah(13501,u);Qg(b)|0;e=23;break}c[r>>2]=4;do if((Oe(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=ge(d)|0;c[w>>2]=d;c[w+4>>2]=C;Ah(13457,w);Qg(b)|0;break}}else{B=c[n>>2]|0;C=ge(B)|0;c[v>>2]=B;c[v+4>>2]=C;Ah(13427,v);Qg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Qd(b,0)|0)<0){Qg(b)|0;b=-1;break}if((hf(b,120)|0)<0){Qg(b)|0;b=-1}}}else b=-1;else{Ah(13249,x+24|0);b=-1}while(0);i=x;return b|0}function dc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Jf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ie(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(dc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(Oh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,13653)|0))e=Ye(b,0,r)|0;else{if((kg(18302,b)|0)==0?(kg(18310,b)|0)==0:0){if(!(kg(18319,b)|0)){c[g>>2]=b;Sh(14853,g)}jc(b,o);if(ef(o,19960)|0){c[f>>2]=b;Sh(14516,f)}b=o+4112|0;g=kd(b,Jd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(Mh(g,14563,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,Pg(m,256,14570,j)|0,(Mh(g,m,0,0)|0)==0):0){Qg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Md(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14582:14587;c[k+4>>2]=j;Pg(m,256,14592,k)|0;Ai(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Wh(j,40)|0;a[(Wh(j,41)|0)>>0]=0;if((ye(s+1|0,14600,k,7)|0)!=6)Sh(14602,h);f=(Jd(c[k+16>>2]|0)|0)<<8;f=cc(b,(Jd(c[k+20>>2]|0)|0)+f|0)|0;Uh(l);if((f|0)<0){Qg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((md(f,1e6)|0)>0){b=26;break}if((md(g,0)|0)>0?(vc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Ah(14638,n);Qg(g)|0;Qg(f)|0;e=-1;break}else if((b|0)==24){Qg(g)|0;Qg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}pd(c[2143]|0)|0;pd(c[2084]|0)|0;pd(c[2114]|0)|0;b=$d(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;fe(b+20|0,o|0,10280)|0;f=b+4|0;if(nh(f)|0){c[p>>2]=ge(c[(Oh()|0)>>2]|0)|0;Sh(14703,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=ge(b)|0;c[q>>2]=b;c[q+4>>2]=s;Sh(14807,q)}}}else{Qg(g)|0;e=-1}while(0)}break}e=li(b,14497,0)|0}while(0);i=r;return e|0}function fc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kh(d|0,m|0,52)|0;e=e&2047;j=kh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=gh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=gh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=gh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=gh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=gh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=gh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=gh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=gh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=qh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=gh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=qh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=gh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Gh(d|0,f|0,0,-1048576)|0;d=C;e=gh(e|0,0,52)|0;d=d|C;e=o|e}else{e=kh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function gc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+32|0;D=G+24|0;B=G+20|0;z=G+16|0;y=G+12|0;x=G+8|0;E=G+4|0;A=G;c[D>>2]=0;Wf(a);h=ze(a,c[a+96>>2]|0,b,d|0?d+-1|0:0,e+1|0,B)|0;c[z>>2]=h;w=c[a+8>>2]|0;v=c[a+16>>2]|0;u=a+80|0;b=c[u>>2]|0;if(!b)t=0;else{t=de(b)|0;h=c[z>>2]|0}c[E>>2]=0;a:do if(h|0){q=(t|0)==0;r=(f|0)<1;s=(f|0)>0;b=0;do{qe(h,y,x);n=h+8|0;m=c[n>>2]|0;n=c[n+4>>2]|0;o=c[y>>2]|0;l=o+8|0;o=o+16|0;p=c[o>>2]|0;o=c[o+4>>2]|0;l=qh(c[l>>2]|0,c[l+4>>2]|0,m|0,n|0)|0;o=Gh(l|0,C|0,p|0,o|0)|0;p=C;yf(w,m,n);n=de(o)|0;c[E>>2]=n;Ae(w,n,o,p);p=c[E>>2]|0;while(1){if((h|0)==(c[x>>2]|0))break;o=h+16|0;a=c[o>>2]|0;if(q){c[A>>2]=p;j=p;n=p+a|0}else{c[A>>2]=t;n=Te(p,a,t,c[u>>2]|0)|0;m=c[A>>2]|0;j=m;n=m+n|0}l=b;b:while(1){if(j>>>0>=n>>>0){b=l;break}a=eg(A,v)|0;j=eg(A,v)|0;k=eg(A,v)|0;b=c[A>>2]|0;m=Md(b)|0;do if((a|0)==(c[B>>2]|0)){if(!(j>>>0<e>>>0&k>>>0>d>>>0)){if((j|0)!=(k|0)){a=b;b=l;break}if(!((j|0)==(e|0)|(j|0)==(d|0))){a=b;b=l;break}}b=l+1|0;if(!(r|(l|0)<(f|0)))break b;a=of(g,20)|0;c[a+4>>2]=j;c[a+8>>2]=k;if((m|0)>0)c[a+12>>2]=sh(g,c[A>>2]|0,m)|0;c[a+16>>2]=c[B>>2];c[a>>2]=c[D>>2];c[D>>2]=a;a=c[A>>2]|0}else{a=b;b=l}while(0);j=a+(m+1)|0;c[A>>2]=j;l=b}if(s&(b|0)>(f|0)){F=22;break}h=c[h>>2]|0;p=p+(c[o>>2]|0)|0}if((F|0)==22)F=0;if(s&(b|0)>(f|0))break a;di(E)}while((h|0)!=0)}while(0);di(E);cj(t);ih(z);Cg(D);i=G;return c[D>>2]|0}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;jc(b,h);if(ef(h,19960)|0){c[g>>2]=b;Sh(13782,g)}b=h+6176|0;if(ef(b,19493)|0){p=kd(h+4112|0,Jd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;Pg(k,256,13940,q)|0;c[t>>2]=0;do if(Mh(p,k,t,0)|0){if((ye(c[(c[t>>2]|0)+4>>2]|0,13669,l,3)|0)!=2)Sh(13950,j);n=l+4|0;j=jd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Uh(t);c[s>>2]=b;Pg(k,256,13986,s)|0;if(!(Mh(p,k,t,0)|0)){Qg(p)|0;f=0;break}b=ye(c[(c[t>>2]|0)+4>>2]|0,13669,l,3)|0;if((b|0)!=2){c[m>>2]=b;Sh(13996,m)}j=c[n>>2]|0;if((Md(j)|0)>>>0<14){c[o>>2]=j;Sh(14038,o)}b=s;g=14087;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14107,q|0)|0)){c[r>>2]=s;Sh(14125,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Sh(14158,u)}else{c[e>>2]=b;Uh(t);Qg(p)|0;f=1;break}}else{Qg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Md(b)|0)>>>0>4095){c[e>>2]=b;Sh(13634,e)}Wi(f,b)|0;Ph(f)|0;b=Tb(f,13653)|0;if(!b){a[d>>0]=a[18687]|0;a[d+1>>0]=a[18688]|0;a[d+2>>0]=a[18689]|0;a[d+3>>0]=a[18690]|0;a[d+4>>0]=a[18691]|0}else{a[b>>0]=0;_g(f)|0;tf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Wh(f,47)|0;if(g){Ke(g,b,e,1);if(!((kf(d,18687)|0)!=0?(kf(d,19954)|0)!=0:0)){e=Gd(g,13669,13671)|0;tf(d+6176|0,4096,e);cj(e)}a[g>>0]=0;if(!(kf(d,19960)|0)){g=g+1|0;Ld(g,d+6176|0,Md(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Wh(f,64)|0;if(!g){if(!((kf(d,18687)|0)!=0?(kf(d,19954)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(kf(d,19960)|0)){b=d+16|0;e=13675;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13685;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Wh(f,58)|0;if(!b){e=d+16|0;tf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;tf(e,2048,f);f=d+2064|0;tf(f,2048,b+1|0);b=f}wd(e,e,Md(e)|0);wd(b,b,Md(b)|0);f=g+1|0}b=Wh(f,58)|0;do if(!b){if(!(kf(d,18687)|0)){h=d+6160|0;a[h>>0]=a[13703]|0;a[h+1>>0]=a[13704]|0;a[h+2>>0]=a[13705]|0}if(!(kf(d,19954)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(kf(d,19960)|0)){h=d+6160|0;a[h>>0]=a[13706]|0;a[h+1>>0]=a[13707]|0;a[h+2>>0]=a[13708]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){tf(d+6160|0,16,e);break}else{c[h>>2]=e;Sh(13709,h)}}while(0);tf(d+4112|0,2048,f);i=j;return}function kc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[144+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[144+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function lc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;yf(t,f,g);Ae(t,s,1,0);Ae(t,w+32|0,1,0);u=c[b+12>>2]|0;v=rg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;mh(3,16449,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=qg(t,u)|0;c[p+(f<<2)>>2]=qg(t,u)|0;c[q+(f<<2)>>2]=qg(t,u)|0;c[r+(f<<2)>>2]=qg(t,u)|0;g=zf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(Ze(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;lc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=qg(t,u)|0;s=qg(t,u)|0;e=qg(t,u)|0;b=qg(t,u)|0;f=zf(t,u)|0;g=C;m=zf(t,u)|0;n=C;if(Ze(h,j,k,r,s,e,b)|0){b=$d(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function mc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=_h(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=_h(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=_h(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=_h(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=_h(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=_h(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=_h(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function nc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=xh(512)|0;jc(b,s);h=ab(14277)|0;p=(h|0)!=0;if(p){jc(h,q);fe(r|0,q|0,10280)|0;h=Pe(r,b)|0}else{fe(r|0,s|0,10280)|0;h=Pe(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=Kh(b)|0;j=Hi(b,59)|0;if((j|0)!=0?(kg(13657,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;bh(k,14288,l);cj(b);c[m>>2]=f;bh(k,14299,m);if((ef(s,18687)|0)==0?(ef(13703,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((ef(s,19954)|0)==0?(ef(13738,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;bh(k,14327,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;bh(k,14316,n)}b=c[t>>2]|0;fe(r|0,s|0,10280)|0;me(r,14341,b);if(p){fe(r|0,q|0,10280)|0;me(r,14355,b);k=c[t>>2]|0}else k=b;Bi(k,14375);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;bh(k,14414,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;bh(k,14389,u);break}}while(0);if(g|0)Bi(c[t>>2]|0,g);v=c[t>>2]|0;Bi(v,14435);Ve(h,c[v+4>>2]|0,c[v+12>>2]|0);Uh(t)}i=w;return h|0}function oc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=$d(120)|0;c[l+4>>2]=Kh(a)|0;m=vg(a,Dj()|0)|0;c[l+8>>2]=m;Ae(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=hj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Sh(20555,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=rg(m,n)|0;g=l+26|0;b[g>>1]=rg(m,n)|0;h=zf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=zf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=zf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=rg(m,n)|0;b[l+58>>1]=rg(m,n)|0;j=zf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=zf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=qg(m,n)|0;j=zf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=$d(32)|0;c[j+4>>2]=qg(m,n)|0;c[j+8>>2]=qg(m,n)|0;p=zf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=zf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Cg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){yf(m,g,h);b[l+104>>1]=rg(m,n)|0;b[l+106>>1]=rg(m,n)|0;p=zf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;yf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=cd(a,m)|0;i=o;return l|0}function pc(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 qc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Eg(f|0,b|0,10,0)|0;f=C;e=Gh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Gh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=qh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;mh(4,18763,p);f=b+36|0;e=0;while(1){d=ke(0,1)|0;c[p>>2]=d;d=Qi(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=zh(c[p>>2]|0,18849)|0;c[f>>2]=Kh(d)|0;d=he(a,d)|0;Pd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;Ah(18796,g);n=0}else if((h|0)==7){d=zh(c[p>>2]|0,18859)|0;do if(!d){d=se(a)|0;e=C;if((e|0)<0){Pd(p);c[j>>2]=a;Sh(18875,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=jd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=zh(c[p>>2]|0,18942)|0;if(!d){d=zh(c[p>>2]|0,18957)|0;if(!d){Pd(p);c[m>>2]=a;Sh(18963,m)}else o=d}else o=d;if(!(Ua(o|0,19038,k|0)|0)){Pd(p);c[l>>2]=o;Sh(19063,l)}d=qf(k)|0;if((d|0)==-1){Pd(p);c[q>>2]=o;Sh(19105,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Pd(p);n=200;break}}while(0);i=r;return n|0}function sc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;yf(c[t>>2]|0,d,e);Ae(c[t>>2]|0,o,1,0);Ae(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=rg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Ae(c[t>>2]|0,r,q,h);e=zf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=Le(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Ae(c[t>>2]|0,r,q,h);e=zf(c[t>>2]|0,p)|0;d=C;j=Le(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=ti(c[t>>2]|0)|0;m=C;sc(b,k,l,f,g);yf(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}sc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Ae(c[t>>2]|0,r,q,d);Ae(c[t>>2]|0,j,c[h>>2]|0,0);if(!(Le(f,r,q)|0))Hh(g,$h(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function tc(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[5979]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=_h(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=_h(yb(146,m|0)|0)|0;la(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 uc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Jc(23524,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5980]|0))c[e+76>>2]=-1;mb(23944);f=c[5985]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5985]=e;eb(23944)}}else{c[(Oh()|0)>>2]=22;e=0}i=o;return e|0}function vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=xh(4096)|0;while(1){if((md(b,1e6)|0)<=0){j=3;break}g=mg(b,m,4096)|0;if(g){_e(c[o>>2]|0,m,g);if(!(eh(c[(c[o>>2]|0)+4>>2]|0,13866)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Md(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Md(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Ah(13822,n);g=0}else if((j|0)==18){g=Jd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Ah(13868,p);g=0;break}if(!e)Uh(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function wc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;yf(c[n>>2]|0,d,e);Ae(c[n>>2]|0,p,1,0);Ae(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=rg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Ae(c[n>>2]|0,l,c[k>>2]|0,0);q=zf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;wc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Ae(c[n>>2]|0,l,c[k>>2]|0,0);Ae(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function xc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23964:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8688+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Oh()|0)>>2]=84;f=-1}i=l;return f|0}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=mg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Gh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=qh(1,0,g|0,e|0)|0;b=Gh(b|0,C|0,d|0,h|0)|0}r=(lg(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Gh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Gh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Hf(14751,l);if((b|0)==-1)Hf(14782,o);Qg(c[m>>2]|0)|0;Qg(c[a+12>>2]|0)|0;Qg(c[n>>2]|0)|0;i=q;return 0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=Ye(a,2,h)|0;if((e|0)<0)if((c[(Oh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;Sf(20035,d)}else{re(e,h)|0;if((c[h+36>>2]|0)<64){Qg(e)|0;b=0}else{Fd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=hj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Sh(20058,j)}}else f=0;b=$d(56)|0;c[b+4>>2]=og(e,f)|0;g=wf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=wf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=og(e,f)|0;og(e,f)|0;wf(e,f)|0;wf(e,f)|0;wf(e,f)|0;wf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Ac(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n+16|0;l=n;g=n+32|0;j=n+28|0;h=n+24|0;k=n+20|0;f=Xi(a)|0;c[g>>2]=f;c[j>>2]=dd(b,18099)|0;f=ug(f)|0;c[h>>2]=f;while(1){if(!f)break;a=c[5956]|0;e=c[f+4>>2]|0;if(!((a|0)!=0?(ef(a,e)|0)!=0:0)){b=c[2]|0;b=(b|0)>0?b:0;d=c[3]|0;d=(d|0)>0?d:c[f+12>>2]|0;a=c[5957]|0;if(a){if((a|0)<1)break}else a=0;o=Sg(0)|0;c[k>>2]=o;d=gc(c[g>>2]|0,e,b,d,a,o)|0;while(1){if(!d)break;a=c[j>>2]|0;o=c[d+4>>2]|0;b=c[d+8>>2]|0;c[l>>2]=e;c[l+4>>2]=o;c[l+8>>2]=b;ah(a,11922,l)|0;a=c[d+12>>2]|0;b=c[j>>2]|0;if(!a)Bd(10,b)|0;else{c[m>>2]=a;ah(b,11931,m)|0}d=c[d>>2]|0}Qh(k)}f=c[f>>2]|0}Tf(h);ri(j);gg(g);i=n;return}function Bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Cd(b);break}if((Qg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Sh(12903,k)}}else{if(!(c[a+20>>2]&2)){if(Gg(d)|0){c[f>>2]=c[a+12>>2];Sh(12872,f)}}else{pd(d)|0;if(Gg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Sh(12842,e)}}if((ne(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Sh(12903,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Sf(12525,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Sh(12933,l)}if(b|0)Da(12974,12178,435,12992);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Sh(13008,m)}i=n;return d>>>8&255|0}function Cc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Fj(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Ej(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Dc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;yf(c[n>>2]|0,d,e);Ae(c[n>>2]|0,h,1,0);Ae(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=rg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Ae(c[n>>2]|0,l,d,0);e=zf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Ae(c[n>>2]|0,l,c[k>>2]|0,0);if((Le(f,l,c[k>>2]|0)|0)<0)break;e=zf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Dc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Ae(c[n>>2]|0,l,d,0);Ae(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(Le(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=Kh(24592)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Ni(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=$d(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Ni(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;Pg(h,4,11972,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ie(b|0,0,e|0)|0;return b|0}function Gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=xh(512)|0;c[h>>2]=f;Bi(f,b);Bi(f,13653);d=b+16|0;if(a[d>>0]|0){d=Ec(d)|0;Bi(f,d);cj(d);d=b+2064|0;if(a[d>>0]|0){Bi(f,13734);d=Ec(d)|0;Bi(f,d);cj(d)}Bi(f,13736)}Bi(f,b+4112|0);if(!((ef(b,19960)|0)==0?!(ef(13706,b+6160|0)|0):0))e=7;do if((e|0)==7){if((ef(b,18687)|0)==0?(ef(13703,b+6160|0)|0)==0:0)break;d=b+6160|0;if((ef(b,19954)|0)==0?(ef(13738,d)|0)==0:0)break;Bi(f,13734);Bi(f,d)}while(0);Bi(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,bh(f,13742,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;bh(f,13759,k)}k=Yg(h)|0;i=l;return k|0}function Hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}Qg(a)|0;if((h|0)>0)cj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((kg(18302,f)|0)==0?(kg(18310,f)|0)==0:0){g=11;break}f=he(g,f)|0;c[j>>2]=f;a=ec(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Ah(15502,k);g=14}else if((g|0)==11){c[l>>2]=f;Ah(15556,l);g=14}else if((g|0)==13){c[m>>2]=f;Ah(20329,m);g=14}if((g|0)==14)if((b|0)>0){cj(f);b=0}else b=0;i=n;return b|0}function Ic(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){fe(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;fe(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){fe(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Jc(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|0)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?b:0)|0}function Kc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=_h(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(Oh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=_h(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;mc(e,2,j)|0}if(b&2048){c[h>>2]=mc(e,3,k)|0|2048;mc(e,4,h)|0}}}}while(0);i=l;return e|0}function Lc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5979]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=_h(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=_h(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Oc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16319,16371,388,16383);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=gi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Cg(b);d=d+1|0}cj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ae(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=hj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Sh(16405,j)}}else f=0;c[d+24>>2]=qg(b,f)|0;j=zf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=qg(b,f)|0;c[d+44>>2]=qg(b,f)|0;c[d+48>>2]=qg(b,f)|0;c[d+52>>2]=qg(b,f)|0;g=zf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=qg(b,f)|0;Ae(b,h,4,0);b=ti(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Qc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;mh(4,19798,p);yg(500);l=a+5|0;k=dd(l,19705)|0;c[p>>2]=k;Oi(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}yg(250);g=e-j|0;g=gf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;mh(4,19851,m);if(Gg(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;Ah(19873,o);c[n>>2]=l;Sf(19757,n)}else if((g|0)==6){ri(p);i=q;return a|0}return 0}function Rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=$d(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=xh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){Bi(e,12106);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){Bi(e,13669);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}Bi(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Yg(j)|0;if(!(c[a>>2]|0))Sh(12110,k);if(!(b&8))e=0;else{hh(l,we(64,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;hh(l,we(d,l)|0);e=e+1|0}i=m;return l|0}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Fj(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;fe(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(be(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Ej(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Ej(f);return e|0}function Tc(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(!(bf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);fe(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 Uc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{fe(l|0,b|0,d|0)|0;Ie(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Sh(16927,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Dc(a,j,k,l,g)|0;else{sc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Wc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Md(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=$d(16)|0;else l=of(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=Ci(d,e)|0;else{k=of(h,e+1|0)|0;c[l+4>>2]=k;fe(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Oc(b,Jh(m)|0);return l|0}function Yc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Kj()|0;zj(23832)|0;if((c[5965]|0)!=0&(a|0)==(c[5966]|0)){lg(2,13032,61)|0;_a(1)}xj(23832)|0;zj(23868)|0;zj(23832)|0;c[5966]=a;c[5965]=1;xj(23832)|0;if(!(c[5974]|0))c[5974]=ke(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Pg(d,64,13759,b)|0;a=Qe(c[5974]|0,d)|0;if(!a){a=$d(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=pi(c[5974]|0,d,a)|0}zj(23832)|0;c[5965]=0;xj(23832)|0;xj(23868)|0;i=e;return c[a+8>>2]|0}function Zc(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=xh(Md(f)|0)|0;c[j>>2]=g;h=f;f=Wh(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;Bi(g,h);Bi(g,19493);m=f+1|0;h=m;f=Wh(m,47)|0}Bi(g,h);f=Yg(j)|0;j=Md(d)|0;m=Md(e)|0;m=j+3+m+(Md(f)|0)|0;j=$d(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;Pg(j,m,19495,k)|0;c[b+44>>2]=Rf(b,19504)|0;c[b+48>>2]=Rf(b,19511)|0;c[b+52>>2]=Rf(b,19522)|0}i=l;return}function _c(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=li(b,d,0)|0;if((d|0)>-1){b=pg(b,1,d)|0;c[h>>2]=b;a:do if((((Yb(b,g,0)|0)!=0?(kg(14469,c[g>>2]|0)|0)!=0:0)?(Ff(g)|0,f=Ff(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Jd(f)|0;if(e)while(1){if(!(Yb(c[h>>2]|0,g,0)|0))break a;f=Ff(g)|0;if(!f)break a;b=Zg(f)|0;pi(e,b,Kh(lh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Cd(h)}else d=c[(Oh()|0)>>2]|0;i=j;return d|0}function ad(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Lf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8892;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Oh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Cc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ae(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=hj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Sh(16888,j)}}else f=0;c[d+12>>2]=qg(b,f)|0;c[d+16>>2]=qg(b,f)|0;c[d+20>>2]=qg(b,f)|0;g=zf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Ae(b,h,4,0);Ae(b,h,4,0);b=ti(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(ef(b,18229)|0){if(!(ef(b,15713)|0)){f=c[2084]|0;break}e=Td(b,d)|0;if(!e){a:do if(!d)e=24592;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15741;break a}case 119:{e=15731;break a}default:{e=e<<24>>24==97?15720:24592;break a}}}while(0);d=ge(c[(Oh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Sh(15750,g)}else f=e}else f=c[2143]|0;while(0);i=h;return f|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;ld(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=$d(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;Zc(a,b,h,d);c[e>>2]=0;b=a+44|0;j=rh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=rh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=rh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Cg(e);cj(c[a+40>>2]|0);cj(c[b>>2]|0);cj(c[f>>2]|0);cj(a);cj(h);cj(d);d=c[e>>2]|0}i=g;return d|0}function fd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Se(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=oj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;vj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Ah(15627,f);b=0;break}}else{df(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function gd(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=$d(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20490+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20490+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20490+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20490+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function hd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[17935+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[17935+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Sf(12251,k);l=Yh()|0;if(Jg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Sf(12274,f)}if(b|0?(Zf(b,0)|0)<0:0)Sf(12301,g);if((d|0)!=1?(Zf(d,1)|0)<0:0)Sf(12321,h);if((e|0)!=2?(Zf(e,2)|0)<0:0)Sf(12342,j);jh();i=k;return}function jd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Ti(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Eg(c|0,d|0,10,0)|0;b=b+1|0;c=qh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=qh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function kd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=cc(a,b)|0;if((a|0)<0)a=-1;else{if((md(a,1e6)|0)>0)Mh(a,24592,0,0)|0;c[g>>2]=0;c[h>>2]=d;Pg(f,256,13911,h)|0;do if(Mh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,Pg(f,256,13921,j)|0,(Mh(a,f,0,0)|0)==0):0){Qg(a)|0;a=-1;break}if(!(Mh(a,13931,0,0)|0)){Qg(a)|0;a=-1}}else{Qg(a)|0;a=-1}while(0)}i=k;return a|0}function ld(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Wh(b,58)|0;if(!h)h=0;else{m=Ci(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Wh(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){pe(l,1024,b,k+1-b|0);c[g>>2]=Hd(l)|0}j=Wh(b,47)|0;if(!j)j=b+(Md(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Hd(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Bf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(Oh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=ge(a)|0;Ah(13764,m)}i=n;return a|0}function nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Ye(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=$d(5)|0;c[g>>2]=f;if((mg(e,f,4)|0)<4)di(g);else a[f+4>>0]=0;Qg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Xd(e)|0,di(h),(g|0)!=0):0){h=wg(Fe(b)|0,33,b,0)|0;e=pg(b,d,mj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function od(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Nc(g,20635,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ie(g)|0;i=j;return h|0}ie(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function pd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Wd(a)|0;break}d=(Fj(a)|0)==0;b=Wd(a)|0;if(!d)Ej(a)}else{if(!(c[2113]|0))b=0;else b=pd(c[2113]|0)|0;mb(23944);a=c[5985]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Fj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Wd(a)|0|b;if(d|0)Ej(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(23944)}while(0);return b|0}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Of(e,0)|0;c[n>>2]=g;ig(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Of(d,e)|0;else if(!f){e=Ye(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Sf(12811,k)}else j=e}else j=0;c[m>>2]=j;e=mf(a,b,j,g)|0;Qf(m);if(!l)Qf(n);i=o;return e|0}function rd(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[(Oh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function sd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Yh()|0;c[g>>2]=f;Pg(a,256,17687,g)|0;d=Ue(a,1)|0;c[g>>2]=d;if(!d){j=c[2114]|0;c[b>>2]=a;ah(j,17724,b)|0;a=j}else{while(1){if(!(bg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,17703)|0){j=5;break}}if((j|0)==5){j=c[2114]|0;c[h>>2]=f;c[h+4>>2]=a;ah(j,17710,h)|0}Cd(g);a=c[2114]|0}pd(a)|0;i=k;return}function td(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=de(k)|0;fe(j|0,d|0,e|0)|0;cj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=Kh(d)|0;cj(c);c=l}i=h;return c|0}function ud(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;mh(4,19564,j);h=Ge(a)|0;n=dd(h,19705)|0;c[j>>2]=n;Oi(n,b,0)|0;a=gf(g+256|0,f,e,n)|0;if(!(Gg(n)|0)){ri(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;Ah(19708,k);c[l>>2]=h;Sf(19757,l)}return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;mh(4,19183,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(ic(a,f,e)|0){a=qf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Sh(19215,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function wd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((dh(f,11968,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function xd(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;Ie(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){Tc(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;Tc(h,f,a)|0}while(0);i=j;return}function yd(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(!(bf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function zd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){ch(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=bd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;ch(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Ad(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(Eh(b)|0)){c=(Md(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Wi(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Wh(b,47)|0;if(!b){Pf(e)|0;b=0;continue}else{a[b>>0]=0;Pf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Fj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=yd(d,b)|0;Ej(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=yd(d,b)|0}while(0);return e|0}function Cd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Vh(c[2143]|0)|0):0){Qg(c[d>>2]|0)|0;cj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)$b(d)}else Bh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);cj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Pd(g);di(b)}return}function Dd(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=qh(h^a|0,g^b|0,h|0,g|0)|0;b=C;bc(a,b,qh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=qh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(ef(a,18229)|0)if(ef(a,15713)|0){c[d>>2]=436;d=Ye(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15741:15720;else d=15731;else d=15894;else d=15870;c[f>>2]=a;c[f+4>>2]=d;Sf(15905,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Fd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=mg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Sf(15933,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Sh(15958,g)}else if((d|0)==8){i=h;return}}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Md(b)|0;h=Md(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Md(a)|0;e=f+(_(d,h-g|0)|0)|0;f=$d((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Wi(d,e)|0;j=a+g|0;i=d+(a-e)|0;Wi(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Wi(d,e)|0;return f|0}function Hd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(dg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=$d(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(dg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;$g(g,19487,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Id(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=gh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Jd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Ti(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Ld(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((dh(f,11968,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Md(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 Nd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Nd(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 Od(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Qe(c[e>>2]|0,d)|0)){pi(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;ah(g,18235,h)|0}}}while(0);i=j;return}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Ri(d);d=g}e=e+1|0}}else{Qh(b);b=d+8|0}while(0);cj(c[b>>2]|0);di(a)}return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=mc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((mc(a,4,f)|0)<0){c[g>>2]=ge(c[(Oh()|0)>>2]|0)|0;Ah(13338,g);d=-1}else d=0}else{c[e>>2]=ge(c[(Oh()|0)>>2]|0)|0;Ah(13307,e);d=-1}i=h;return d|0}function Rd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=23807;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Sd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[17943+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[17951+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[17951+f>>0]}while(0);return}function Td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Jc(23524,a[d>>0]|0,4)|0){h=uf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=_h(jb(5,e|0)|0)|0;if((e|0)>=0){b=uc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(Oh()|0)>>2]=22;b=0}i=g;return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;Ch(e,b,16);c[5956]=Kf(11936,c[5956]|0)|0;c[2]=Ee(11942,c[2]|0)|0;c[3]=Ee(11948,c[3]|0)|0;c[5957]=Ee(11952,c[5957]|0)|0;_i(Kf(11961,Dj()|0)|0);if((c[e>>2]|0)!=3)Sh(11502,d);Ac(c[b+4>>2]|0,c[b+8>>2]|0);if((Gj()|0)>1)sd();i=d;return 0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Sh(16638,d)}d=Zi(a,b)|0;if(!d){g=c[(Oh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Sh(16702,e)}else{i=f;return d|0}return 0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(kg(18101,a)|0))if(!(kg(18104,a)|0))if(!(kg(18108,a)|0))if(!(kg(18111,a)|0))a=0;else{a=18116;e=5}else{a=18120;e=5}else{a=18124;e=5}else{a=18126;e=5}if((e|0)==5){c[d>>2]=a;Pg(b,20,18129,d)|0;a=Kh(b)|0}i=f;return a|0}function Yd(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=qh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return qh((bc(h,g,qh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Uf(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function _d(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=sg(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=hi(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 $d(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Sh(16774,b)}b=tj(a)|0;if(!b){f=c[(Oh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Sh(16827,d)}else{Ie(b|0,0,a|0)|0;i=e;return b|0}return 0}function ae(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(Eh(a)|0)){d=Td(a,18099)|0;c[b>>2]=d;if(!d){a=0;break}else{ri(b);a=1;break}}else{f=Nh()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;Ah(18069,d);a=0;break}}while(0);i=e;return a|0}function be(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ce(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=17875;break}case 2:{a=17854;break}case -1:{a=17843;break}case -2:{a=17827;break}case -3:{a=17827;break}case -4:{a=17812;break}case -5:{a=17797;break}case -6:{a=17778;break}case 0:{a=0;break}default:{c[b>>2]=a;Pg(24464,128,17759,b)|0;a=24464}}i=d;return a|0}function de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Sh(16514,b)}b=tj(a)|0;if(!b){f=c[(Oh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Sh(16572,d)}else{i=e;return b|0}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(Oh()|0)>>2]=12;a=0;return a|0}d=_b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;fe(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 ge(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21592+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21680;e=5;break}}if((e|0)==2)if(!c)b=21680;else{b=21680;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 he(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;jc(b,g);jc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){tf(e,2048,d);tf(f+2064|0,2048,g+2064|0)}g=Gc(f)|0;i=h;return g|0}function ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16319,16371,357,16394);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Sg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=gi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function le(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Uf(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function me(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;Pg(h,256,14256,j)|0;j=gd(h,Md(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;bh(e,14262,k);di(g)}i=l;return}function ne(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(23944);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5985]|0)==(a|0))c[5985]=b;eb(23944)}b=pd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function oe(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=vf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16135;else e=(d|0)==2?16094:16103;else e=16126;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Sf(16144,g);return 0}function pe(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Sh(16259,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;wi(b,e,f)|0;a[b+g>>0]=0;i=j;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=Gh(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Rd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=_h(Pa(195,f|0)|0)|0}else d=_h(d)|0;i=g;return d|0}function se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;Pg(g,4096,14480,e)|0;a=ke(0,1)|0;c[e>>2]=a;if((($c(g,14497,a)|0)==206?(b=zh(a,14501)|0,(b|0)!=0):0)?(d=Wh(b,47)|0,(d|0)!=0):0){b=jd(d+1|0)|0;a=C}else{a=-1;b=-1}Pd(e);C=a;i=f;return b|0}function te(a,b){a=a|0;b=b|0;var d=0,e=0;d=Nh()|0;a=ed(a,(b|0)==0?c[35]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(eh(e,19504)|0){if(!(Eh(e)|0))break a;if((tg(e)|0)>>>0<b>>>0)b=tg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ue(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2084]|0;if((c[f+76>>2]|0)>-1)g=Fj(f)|0;else g=0;do if((Li(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=(yd(f,10)|0)<0}while(0);if(g|0)Ej(f);return d<<31>>31|0}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;cj(e);f=f+1|0}cj(b);cj(i);i=h}di(g+12|0);di(g+28|0);di(a)}return}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=$d((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=Kh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;mh(4,19921,d);yg(500);if((Kg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function ye(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Mc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Vc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function ze(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(Lh(k,d,Md(d)|0,h,8)|0))a=0;else{fh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Ef(b,a,e,f)|0}i=j;return a|0}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Sh(19435,g)}else{i=h;return}}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;mh(4,19765,d);if((Kg(Ge(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ce(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2084]|0);if((b|0)==(c[2143]|0)|d)if(d){pd(b)|0;b=1}else b=1;else if(!(ne(b)|0))b=1;else{Hf(16194,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Sc(b,d,1,a)|0)!=1:0){b=Gg(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Sh(15839,f)}else{f=ge(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Sh(15810,e)}}i=g;return}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Ng(b)|0;do if((f|0)!=0?(ef(f,17422)|0)!=0:0){d=ki(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Sh(17145,h)}else e=d;while(0);i=j;return e|0}function Fe(a){a=a|0;var b=0;b=Kh(a)|0;if(!(((kg(18302,a)|0)==0?(kg(18310,a)|0)==0:0)?!(kg(18319,a)|0):0))wd(a,b,Md(a)|0);if(!(eh(b,18141)|0))if(!(eh(b,18145)|0))if(!(eh(b,18148)|0)){a=(eh(b,18153)|0)==0;a=a?0:92}else a=128;else a=116;else a=104;cj(b);return a|0}function Ge(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(kg(19612,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Sh(19619,e);if(((((Tb(b,19646)|0)==0?(Wh(b,126)|0)==0:0)?(Tb(b,19649)|0)==0:0)?(Tb(b,19652)|0)==0:0)?(eh(19656,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Sh(19659,d);return 0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=gi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Sh(17611,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ie(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 Je(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Vi(e&65535)|0;if(d){h=pj(fd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Ke(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Hi(b,59)|0;if((g|0?kg(13657,g)|0:0)?(i=(Wh(g,61)|0)+1|0,h=Wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=jd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=jd(b)|0;c[e>>2]=f}}return}function Le(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 Me(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=_h(pa(102,h|0)|0)|0;i=g;return e|0}function Ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=xh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){Bi(e,13669);b=c[d>>2]|0}Bi(e,b);f=f+1|0}g=Yg(g)|0;i=h;return g|0}function Oe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=_h(pa(102,h|0)|0)|0;i=g;return e|0}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(ef(a,18687)|0)if(!(ef(a,19954)|0)){d=uh(a+4112|0,Jd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Sh(14214,e)}else d=cc(a+4112|0,Jd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((ef(c[e+4>>2]|0,d)|0)!=0);return e|0}function Re(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((_h(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Se(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=od(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=ce(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Sh(17891,g)}return 0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(ef(a,18229)|0){if(Fe(a)|0){c=nd(a,b)|0;break}c=Ye(a,0,c)|0;if((c|0)==-1)c=0;else c=pg(a,b,c)|0}else c=Ii(b)|0;while(0);i=d;return c|0}function Ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=lg(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Sf(16e3,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Sh(16026,e)}}function We(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){fh(c[a+4>>2]|0,e);f=$d(16)|0;c[f+4>>2]=Ci(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(20575,20602,206,20617)}function Xe(b){b=b|0;var d=0,e=0,f=0;d=c[2114]|0;f=ge(c[(Oh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=Fj(d)|0;else e=0;if(b|0?a[b>>0]|0:0){xf(b,Md(b)|0,1,d)|0;Bd(58,d)|0;Bd(32,d)|0}xf(f,Md(f)|0,1,d)|0;Bd(10,d)|0;if(e|0)Ej(d);return}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=_h(jb(5,f|0)|0)|0;i=e;return d|0}function Ze(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function _e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);ch(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;fe(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=_h(pa(102,f|0)|0)|0;i=e;return d|0}function af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Gh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=mg(b,d,e)|0;a=a+16|0;b=a;b=Gh(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function bf(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 cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Gh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Gh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Ve(b,d,e);return}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((dc(2,a,d)|0)<0){b=ge(c[(Oh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Ah(15586,e);a=0}else{c[b>>2]=oj(c[d>>2]|0)|0;a=1}i=f;return a|0}function ef(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 ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Gh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Gh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Fd(b,d,e);return}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Gh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Gh(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Sc(b,1,d,e)|0}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Me(a,1,20,d,8)|0)>=0)if((Me(a,1,21,d,8)|0)<0){Ah(13202,e);a=-1}else a=0;else{Ah(13152,f);a=-1}i=f;return a|0}function jf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=tc(b,d,e)|0;i=g;return f|0}function kf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Fi(a[e>>0]|0)|0;c=c<<24>>24;b=(Fi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function lf(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 mf(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;ig(b);a=Rc(a,b)|0;if(!(b&1)){b=xg(a+16|0)|0;c[f>>2]=b;ac(a,b,d,e,0,0);Qf(f)}else $f(a,d,e,0,0);i=g;return a|0}function nf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=He(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function pf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=bd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Sh(16208,g)}return 0}function qf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16308)|0;d=(b|0)!=0;if(d)tf(e,100,b);qa(16308,16311,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16308,e|0,1)|0;else ob(16308)|0;Oa();i=f;return b|0}function rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Jc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;fe(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function sf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=_h(ib(10,b|0)|0)|0;if(b){if((c[(Oh()|0)>>2]|0)==21){c[d>>2]=a;b=_h(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Md(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Sh(15667,f)}else{Wi(a,d)|0;i=g;return}}function uf(b){b=b|0;var c=0,d=0,e=0;d=(Wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Wh(b,120)|0)==0;d=e?d:d|128;b=(Wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function vf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(_h(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Fd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function xf(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=(Fj(e)|0)==0;a=Tc(a,f,e)|0;if(!g)Ej(e)}else a=Tc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=Gh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[35]|0)Dg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Ae(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=zi(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Af(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2084]|0;else{ue(13094)|0;ue(13119)|0;d=c[2084]|0;Cc(d,a,b)|0;Bd(10,d)|0;pd(d)|0}pd(d)|0;d=c[2114]|0;Cc(d,a,b)|0;Bd(10,d)|0;pd(d)|0}return}function Bf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=_h(kb(142,h|0)|0)|0;i=g;return d|0}function Cf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Df(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=de(h)|0;a=a+136|0;Dg(a,b,d+64|0,0)|0;ff(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;lc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Cg(f);i=g;return c[f>>2]|0}function Ff(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=lh(e)|0,(a[d>>0]|0)!=0):0){e=_f(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function Gf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=ge(c[(Oh()|0)>>2]|0)|0;c[g+4>>2]=a;$g(f,13146,g)|0;Fh(f,e);i=d;return}function If(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?(xf(b,d,1,a)|0)!=1:0){a=ge(Gg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Sh(15780,e)}i=f;return}function Jf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else fe(b,c,d)|0;return b|0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[5977]|0;if((d|0?(e=Rg(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Sh(17543,f);f=Ng(a)|0;i=g;return ((f|0)==0?b:f)|0}function Lf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(be(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Sh(12468,e)}}function Nf(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 Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Ye(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Sf(12779,d)}else{i=e;return b|0}return 0}function Pf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Mg(a,511)|0)<0)if((c[(Oh()|0)>>2]|0)==17)b=0;else{Xe(24592);c[d>>2]=a;Sh(18011,d)}else b=1;i=e;return b|0}function Qf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Qg(b)|0)<0){c[d>>2]=b;Sf(12503,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Rf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Md(c[g>>2]|0)|0;e=Md(d)|0;b=$d(f+2+e|0)|0;fe(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;fe(f+1|0,d|0,e|0)|0;return b|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=ge(c[(Oh()|0)>>2]|0)|0;c[f+4>>2]=a;$g(e,13146,f)|0;fi(e,d)}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Rh(b);d=f}c[a>>2]=0;i=e;return}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Vf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((Qg(b)|0)<0)Sf(16176,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Wf(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;yf(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Pc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Md(a)|0;g=g+1+(Md(b)|0)|0;d=$d(g)|0;c[f>>2]=a;c[f+4>>2]=b;Og(d,g,16189,f)|0;i=e;return d|0}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=oi(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18173,18195,352,18211)}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=_h(d)|0;i=f;return e|0}function _f(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Ti(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function $f(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;g=i;i=i+16|0;h=g;c[a+16>>2]=xg(h)|0;ac(a,b,c[h>>2]|0,d,e,f);Qf(h);i=g;return}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(Kg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function bg(b,d){b=b|0;d=d|0;a:while(1){if(!(Yb(b,d,0)|0)){b=0;break}switch(a[(lh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function cg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=ag(b)|0;b=dd(b,19705)|0;g=de(f+1|0)|0;c[d>>2]=g;De(b,g,f);a[g+f>>0]=0;ne(b)|0;if(e|0)c[e>>2]=f;return}function dg(a){a=a|0;a:do if(!(Ni(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function eg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=mi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;fe(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){rj(b+96|0);d=b+100|0;ih(d);ih(d);uj(b+20|0);$b(b+8|0);cj(c[b+4>>2]|0);di(a)}return}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=mg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function ig(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Sh(11977,c);break}default:{}}if((a&18|0)==16)Sh(12043,b);else{i=c;return}}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Fj(a)|0)==0;b=Kd(a,b,d)|0;if(!e)Ej(a)}else b=Kd(a,b,d)|0;return b|0}function kg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=_h(pb(4,f|0)|0)|0;i=e;return a|0}function mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=_h(sb(3,f|0)|0)|0;i=e;return a|0}function ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;Pg(e,256,16316,f)|0;Zg(e)|0;b=Qe(a,e)|0;i=d;return b|0}function og(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fd(a,d,4);a=c[d>>2]|0;if(b){a=mi(a|0)|0;c[d>>2]=a}i=e;return a|0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=$d(104)|0;c[f+4>>2]=Kh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=$d(65537)|0;return f|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ae(a,d,4,0);a=c[d>>2]|0;if(b){a=hj(a)|0;c[d>>2]=a}i=e;return a|0}function rg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ae(a,d,2,0);a=b[d>>1]|0;if(c){a=ij(a)|0;b[d>>1]=a}i=e;return a|0}function sg(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;bc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((Kg(a,b)|0)<0){c[d>>2]=a;Sh(18038,d)}else{i=e;return c[b+56>>2]|0}return 0}function ug(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];Dh(c[a+20>>2]|0,b,1);Cg(b);i=d;return c[b>>2]|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;Sh(20329,d)}else{i=e;return b|0}return 0}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=qd(g,b,d,e)|0;i=f;return e|0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((nh(b)|0)<0)Sf(12140,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function yg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Bf(0,0,0,0,b)|0}i=d;return}function zg(b){b=b|0;var c=0,d=0;c=Md(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Ti(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;if((c[18]|0)>=(a|0)){a=c[5975]|0;if(!a){a=c[2114]|0;c[5975]=a}Cc(a,b,d)|0;pd(c[5975]|0)|0}return}function Bg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Dg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Gh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return oe(b,d,e)|0}function Eg(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=Cf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Fg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(ef(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Gg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Fj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Ej(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Hg(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;a=dd(a,18099)|0;c[f>>2]=a;If(a,b,d);ri(f);i=e;return}function Ig(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=19985;c[a+4>>2]=352;Sh(19964,a);return 0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=_h(cb(57,e|0)|0)|0;i=d;return a|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=_h(Pa(195,e|0)|0)|0;i=d;return a|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=_h(hb(38,e|0)|0)|0;i=d;return a|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=_h(Ia(39,e|0)|0)|0;i=d;return a|0}function Ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5976]|0;if(!b)Sh(17511,d);else{a=Ih(b,a)|0;i=d;return a|0}return 0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=bd(a,b,d,g)|0;i=f;return e|0}function Pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=pf(a,b,d,g)|0;i=f;return e|0}function Qg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=_h((a|0)==-4?-115:a)|0;i=b;return a|0}function Rg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(ef(d,a)|0))break;b=b+8|0}return b|0}function Sg(a){a=a|0;var b=0;b=$d(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;He(b,a)|0;return b|0}function Tg(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=_h(Wa(6,d|0)|0)|0;i=b;return a|0}function Ug(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]}function Vg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Xg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=$d(d+1|0)|0;c=(c|0)<(d|0)?c:d;fe(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Yg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(17640,17651,40,17667);else{b=c[b+4>>2]|0;di(a);return b|0}return 0}function Zg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Fi(c<<24>>24)|0;d=d+1|0}return b|0}function _g(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Gi(c<<24>>24)|0;d=d+1|0}return b|0}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=si(a,b,f)|0;i=e;return d|0}function ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Cc(a,b,f)|0;i=e;return d|0}function bh(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;zd(a,b,f);i=e;return}function ch(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=oi(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=nf(a,b,f)|0;i=e;return d|0}function eh(a,b){a=a|0;b=b|0;var c=0;c=Md(a)|0;c=c-(Md(b)|0)|0;if((c|0)<0)c=0;else c=(ef(a+c|0,b)|0)==0&1;return c|0}function fh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=hj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=hj(c[a>>2]|0)|0}return}function gh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function hh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function ih(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;cj(b);b=d}c[a>>2]=0;return}function jh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Qg(b)|0;b=b+1|0}return}function kh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function lh(b){b=b|0;if(!b)b=0;else while(1)if(!(Ti(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function mh(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;Ag(a,b,f);i=e;return}function nh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=_h(wa(42,d|0)|0)|0;i=b;return a|0}function oh(a,b,c){a=a|0;b=b|0;c=c|0;a=Vd(a,c)|0;if(c>>>0>b>>>0)Ie(a+b|0,0,c-b|0)|0;return a|0}function ph(){}function qh(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 (C=d,a-c>>>0|0)|0}function rh(a){a=a|0;var b=0;if(!a)a=$d(8)|0;else{b=$d((Md(a)|0)+8|0)|0;Wi(b+4|0,a)|0;a=b}return a|0}function sh(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=0;else{a=of(a,c+1|0)|0;fe(a|0,b|0,c|0)|0}return a|0}function th(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[18]=a;c[d>>2]=0;i=b;return}function uh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Sh(17959,d);return 0}function vh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function wh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=19985;c[a+4>>2]=360;Sh(19964,a);return 0}function xh(a){a=a|0;var b=0;b=$d(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=$d(a+1|0)|0;c[b+8>>2]=a;return b|0}function yh(){var a=0,b=0;b=i;i=i+16|0;a=Kc(2,1,0)|0;if((a|0)<0)Ah(13277,b);i=b;return a|0}function zh(a,b){a=a|0;b=b|0;a=ng(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Ah(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;Fh(a,e);i=d;return}function Bh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Bc(b)|0;ve(a)}return b|0}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5976]|0)){ci(Wb(a,b,0,d,0)|0);c[5977]=d}return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;wc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function Eh(a){a=a|0;if((ef(a,18229)|0)!=0?(ef(a,15713)|0)!=0:0)a=(ag(a)|0)!=-1&1;else a=1;return a|0}function Fh(a,b){a=a|0;b=b|0;var d=0;d=Yc()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Hh(a,b){a=a|0;b=b|0;var d=0;d=$d(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function Ih(a,b){a=a|0;b=b|0;a=Qe(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Jh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function Kh(a){a=a|0;var b=0;if(!a)a=0;else{b=Md(a)|0;a=Xg(a,b,b)|0}return a|0}function Lh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Uc(a,b,c,e,0,d,0)|0}function Mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ai(a,b);return vc(a,b,c,d)|0}function Nh(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function Oh(){var a=0;if(!(c[5979]|0))a=23960;else a=c[(Kj()|0)+64>>2]|0;return a|0}function Ph(a){a=a|0;if(!a)a=0;else{a=lh(a)|0;zg(a)}return a|0}function Qh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ih(b);cj(b);c[a>>2]=0}return}function Rh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){cj(c[b+4>>2]|0);di(a)}return}function Sh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;fi(a,d)}function Th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Uh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){cj(c[b+4>>2]|0);di(a)}return}function Vh(a){a=a|0;if((c[a+76>>2]|0)>-1?Fj(a)|0:0)Ej(a);return c[a+60>>2]|0}function Wh(b,c){b=b|0;c=c|0;b=Wc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Xh(){var a=0;a=Yc()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Yh(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Vf(b+52|0);di(a)}return}function _h(a){a=a|0;if(a>>>0>4294963200){c[(Oh()|0)>>2]=0-a;a=-1}return a|0}function $h(a,b){a=a|0;b=b|0;var c=0;c=de(b)|0;fe(c|0,a|0,b|0)|0;return c|0}function ai(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function bi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=rd(a,b,0)|0;return a|0}function ci(a){a=a|0;c[5976]=a;if(Ng(17003)|0)th(Ee(17003,0)|0);return}function di(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)wj(b);return}function ei(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function fi(a,b){a=a|0;b=b|0;c[(Yc()|0)+4>>2]=1;Fh(a,b);Xh()}function gi(a){a=a|0;var b=0;b=de(a)|0;Ie(b|0,0,a|0)|0;return b|0}function hi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bc(a,b,c,d,0)|0}function ii(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function ji(a,b,c){a=a|0;b=b|0;c=c|0;a=le(a,b,c,0,-2147483648)|0;return a|0}function ki(a,b,c){a=a|0;b=b|0;c=c|0;a=le(a,b,c,-2147483648,0)|0;return a|0}function li(a,b,c){a=a|0;b=b|0;c=c|0;return nc(a,b,14438,14447,c)|0}function mi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return oh(a,b,c)|0}function pi(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,b,Md(b)|0,c)|0}function qi(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ri(a){a=a|0;if(!(Ce(a)|0))Xh();else return}function si(a,b,c){a=a|0;b=b|0;c=c|0;return bd(a,2147483647,b,c)|0}function ti(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function vi(){if((ab(13127)|0)==0?(ab(13137)|0)==0:0)_a(-1);Za()}function wi(a,b,c){a=a|0;b=b|0;c=c|0;Fc(a,b,c)|0;return a|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function yi(a,b,c){a=a|0;b=b|0;c=c|0;return rf(a,b,c)|0}function zi(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function Ai(a,b){a=a|0;b=b|0;Ve(a,b,Md(b)|0);return}function Bi(a,b){a=a|0;b=b|0;_e(a,b,Md(b)|0);return}function Ci(a,b){a=a|0;b=b|0;return Xg(a,Md(a)|0,b)|0}function Di(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,0,c)|0}function Ei(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Fi(a){a=a|0;var b=0;b=(kj(a)|0)==0;return (b?a:a&95)|0}function Gi(a){a=a|0;var b=0;b=(jj(a)|0)==0;return (b?a:a|32)|0}function Hi(a,b){a=a|0;b=b|0;return Bg(a,b,(Md(a)|0)+1|0)|0}function Ii(a){a=a|0;return pg(18229,a,Vh(c[2143]|0)|0)|0}function Ji(a){a=a|0;if(!(c[a+68>>2]|0))Ej(a);return}function Ki(a){a=a|0;if(!(c[a+68>>2]|0))Ej(a);return}function Li(a,b){a=a|0;b=b|0;return (xf(a,Md(a)|0,1,b)|0)+-1|0}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,1,c)|0}function Ni(a){a=a|0;return ((a+-48|0)>>>0<10|(dj(a)|0)!=0)&1|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;return jg(a,b,c)|0}function Pi(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Qi(a,b){a=a|0;b=b|0;return $c(a,14475,b)|0}function Ri(a){a=a|0;cj(c[a+4>>2]|0);cj(a);return}function Si(a,b){a=a|0;b=b|0;i=a;j=b}function Ti(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ui(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Vi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Wi(a,b){a=a|0;b=b|0;_c(a,b)|0;return a|0}function Xi(a){a=a|0;return oc(a,-2021002517,17927)|0}function Yi(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Zi(a,b){a=a|0;b=b|0;return ee(a,b)|0}function _i(a){a=a|0;c[35]=Kh(a)|0;return}function $i(a,b){a=a|0;b=b|0;return +(+Zd(a,b,1))}function aj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function bj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function cj(a){a=a|0;if(a|0)wj(a);return}function dj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function ej(a,b){a=+a;b=+b;return +(+Gf(a,b))}function fj(a,b){a=+a;b=b|0;return +(+Id(a,b))}function gj(a,b){a=+a;b=b|0;return +(+Nd(a,b))}function hj(a){a=a|0;return mi(a|0)|0}function ij(a){a=a|0;return bj(a|0)|0}function jj(a){a=a|0;return (a+-65|0)>>>0<26|0}function kj(a){a=a|0;return (a+-97|0)>>>0<26|0}function lj(a,b){a=a|0;b=b|0;Qb(b);return}function mj(a){a=a|0;return c[a+16>>2]|0}function nj(a,b){a=+a;b=+b;return +(+fc(a,b))}function oj(a){a=a|0;return mi(a|0)|0}function pj(a){a=a|0;return mi(a|0)|0}function qj(a,b){a=a|0;b=b|0;ba(7);return 0}function rj(a){a=a|0;di(a);return}function sj(a){a=a|0;Hb[a&1]()}function tj(a){a=a|0;return Kb(a)|0}function uj(a){a=a|0;di(a);return}function vj(a){a=a|0;Qb(a);return}function wj(a){a=a|0;Qb(a);return}function xj(a){a=a|0;return 0}function yj(a,b){a=a|0;b=b|0;ba(3)}function zj(a){a=a|0;return 0}function Aj(a){a=a|0;i=a}function Bj(a){a=a|0;C=a}function Cj(a){a=a|0;ba(5);return 0}function Dj(){return c[35]|0}function Ej(a){a=a|0;return}function Fj(a){a=a|0;return 0}function Gj(){return c[18]|0}function Hj(){return C|0}function Ij(){return i|0}function Jj(a){a=a|0;ba(2)}function Kj(){return 0}function Lj(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[aj,jf,Re,tc,Lc,fg,xi,yi];var Cb=[Ei,We];var Db=[Jj,Ki,Ji,Jj];var Eb=[yj,Af,lj,yj];var Fb=[ei,ud,Qc,Zb,Ig,ei,ei,ei];var Gb=[Cj,Tg,yc,Cj];var Hb=[Lj,vi];var Ib=[qj,Be,xe,rc,vd,wh,qj,qj];return{_llvm_bswap_i16:bj,_i64Subtract:qh,_free:Qb,_main:Ud,_htonl:pj,_realloc:ee,_i64Add:Gh,_memmove:Jf,_pthread_self:Kj,_pthread_mutex_unlock:xj,_memset:Ie,_malloc:Kb,_pthread_mutex_lock:zj,_memcpy:fe,_llvm_bswap_i32:mi,_bitshift64Lshr:kh,_htons:Vi,_bitshift64Shl:gh,___errno_location:Oh,_ntohs:Ui,runPostSets:ph,stackAlloc:ai,stackSave:Ij,stackRestore:Aj,establishStackSpace:Si,setThrew:qi,setTempRet0:Bj,getTempRet0:Hj,dynCall_iiii:Th,dynCall_viiiii:vh,dynCall_vi:Yi,dynCall_vii:ui,dynCall_iiiiiii:Vg,dynCall_ii:Pi,dynCall_v:sj,dynCall_iii:ni}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigBedToBed_static.js.html b/bedTools/bigBedToBed_static.js.html
new file mode 100644
index 0000000000000000000000000000000000000000..49e2a8167d0899db6a9d4d4b48cec414d44d3ba5
--- /dev/null
+++ b/bedTools/bigBedToBed_static.js.html
@@ -0,0 +1,1319 @@
+<!doctype html>
+<html lang="en-us">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Emscripten-Generated Code</title>
+    <style>
+      body {
+        font-family: arial;
+        margin: 0;
+        padding: none;
+      }
+
+      .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
+      div.emscripten { text-align: center; }      
+      div.emscripten_border { border: 1px solid black; }
+      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
+      canvas.emscripten { border: 0px none; }
+
+      #emscripten_logo {
+        display: inline-block;
+        margin: 0;
+      }
+
+      .spinner {
+        height: 30px;
+        width: 30px;
+        margin: 0;
+        margin-top: 20px;
+        margin-left: 20px;
+        display: inline-block;
+        vertical-align: top;
+
+        -webkit-animation: rotation .8s linear infinite;
+        -moz-animation: rotation .8s linear infinite;
+        -o-animation: rotation .8s linear infinite;
+        animation: rotation 0.8s linear infinite;
+
+        border-left: 5px solid rgb(235, 235, 235);
+        border-right: 5px solid rgb(235, 235, 235);
+        border-bottom: 5px solid rgb(235, 235, 235);
+        border-top: 5px solid rgb(120, 120, 120);
+        
+        border-radius: 100%;
+        background-color: rgb(189, 215, 46);
+      }
+
+      @-webkit-keyframes rotation {
+        from {-webkit-transform: rotate(0deg);}
+        to {-webkit-transform: rotate(360deg);}
+      }
+      @-moz-keyframes rotation {
+        from {-moz-transform: rotate(0deg);}
+        to {-moz-transform: rotate(360deg);}
+      }
+      @-o-keyframes rotation {
+        from {-o-transform: rotate(0deg);}
+        to {-o-transform: rotate(360deg);}
+      }
+      @keyframes rotation {
+        from {transform: rotate(0deg);}
+        to {transform: rotate(360deg);}
+      }
+
+      #status {
+        display: inline-block;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-left: 20px;
+        font-weight: bold;
+        color: rgb(120, 120, 120);
+      }
+
+      #progress {
+        height: 20px;
+        width: 30px;
+      }
+
+      #controls {
+        display: inline-block;
+        float: right;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-right: 20px;
+      }
+
+      #output {
+        width: 100%;
+        height: 200px;
+        margin: 0 auto;
+        margin-top: 10px;
+        border-left: 0px;
+        border-right: 0px;
+        padding-left: 0px;
+        padding-right: 0px;
+        display: block;
+        background-color: black;
+        color: white;
+        font-family: 'Lucida Console', Monaco, monospace;
+        outline: none;
+      }
+    </style>
+  </head>
+  <body>
+    <a href="http://emscripten.org">
+      <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="296px" 
+   height="78px" 
+   viewBox="420 120 100 170"
+   enable-background="new 0 0 900 400"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="emscripten_powered_by_logo.svg"><metadata
+   id="metadata345"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs343"><linearGradient
+     y2="247.6265"
+     x2="225.1929"
+     y1="152.499"
+     x1="225.1929"
+     gradientUnits="userSpaceOnUse"
+     id="linearGradient5104"><stop
+   id="stop5106"
+   style="stop-color:#C1D72F"
+   offset="0.3227531" /><stop
+   id="stop5108"
+   style="stop-color:#BCD631"
+   offset="0.45119295" /><stop
+   id="stop5110"
+   style="stop-color:#AFD136"
+   offset="0.64491969" /><stop
+   id="stop5112"
+   style="stop-color:#ABD037"
+   offset="1" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.0123" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.3086" /><a:midPointStop
+   style="stop-color:#ABD037"
+   offset="1" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5120"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter
+     inkscape:collect="always"
+     id="filter5126"><feGaussianBlur
+       inkscape:collect="always"
+       stdDeviation="0.56377237"
+       id="feGaussianBlur5128" /></filter><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5134"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996" /></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1440"
+   inkscape:window-height="838"
+   id="namedview341"
+   showgrid="false"
+   inkscape:zoom="0.63555556"
+   inkscape:cx="224.82424"
+   inkscape:cy="-52.085109"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_1" /><g
+   id="g5130"
+   transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path
+     transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)"
+     id="path5122"
+     style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)"
+     d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc"
+     inkscape:connector-curvature="0"
+     d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z"
+     style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none"
+     id="path5080" /></g><path
+   fill="#E2E2E2"
+   d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36  c-2.646,0-4.8-2.153-4.8-4.8V165.236z"
+   id="path3" /><path
+   d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path5"
+   inkscape:connector-curvature="0"
+   style="fill:#e2e2e2" /><path
+   fill="#F5F5F5"
+   d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36  c-2.646,0-4.8-2.153-4.8-4.8V163.236z"
+   id="path7" /><g
+   id="g9"><g
+   id="g11"><path
+   fill="#FBFDF8"
+   d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663    c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path13" /><path
+   fill="#F0F4E1"
+   d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663    c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663    c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527    C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z"
+   id="path15" /></g><defs
+   id="defs17"><filter
+   id="Adobe_OpacityMaskFilter"
+   filterUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix20" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"
+   id="SVGID_1_"><g
+   filter="url(#Adobe_OpacityMaskFilter)"
+   id="g23"><image
+   overflow="visible"
+   width="422"
+   height="480"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAg2AAAQ4QAAF1b/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAeMBqQMBIgACEQEDEQH/ xACjAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAgEBAQAAAAAAAAAAAAAAAAAAAAEQAAEDAQQKAwAC AwEAAAAAAAABAwQCMRMUBRBQEjMVJQYWNgcgESEwI5AiMkARAAEBAwsEAQIFAwUBAAAAAAABMQID EFAycqOz0wQ0RaURIXGRIEFRMGEiExRAgRKh0SMzQxUSAQAAAAAAAAAAAAAAAAAAAJD/2gAMAwEA AhEDEQAAANUJsrZYFfFgV8WBXxYEL0ki5fo6GjJuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRu aRuaMHQ5dR3ojnJ9XxYFfFgV8WD0jxf2AodbslbAD6mDhlpLvI/qkuiovZL7CGzNfRCJwQacEGnB Bp0QSdEEnRBJ0QSdEEnRBJ3BBpwQacEHidwQXzPfBA6bBqK5w2nlKVH3iJitt+gAeweP+wFDrdkr Y+vmaN02k6+e3d2Gjo6N0c2zoyaM7xozuGluGluGluGluGluGluGluGluGluGluGluGnG8c/z1YO PVIfJF80xoIGPsfBVVrl6hIrD7+B7B4/7AUOt2StnXaYyxHTJ6ZKvrqb4x9MgAAAAAAAAAAAAAAA DGR8692Dh4pbkIKJscTVNiLdVY1+weP+wFDgJ+JLJORs3XbIc3dGz6ZAAAAAAAAAAAAAAAAAAAPn R0ayMi5uLqv1S51eIT2Dx/2AofB38Ra5uIm6kOzm6o+gAAAAAAAAAAAAAAAAAAAPj7+TkjJWNIOt 2et1WfYPH/YIofH2cZcJyEnKkenn6IyAAAAAAAAAAAAAAAAAAABjODmjZONIWt2WtVWPYPH/AGCK Hx9nIXGcg5ypLfo3xkAAAAAAAAAAAAAAAAAAADGcHPGyUaQ1astaqseweP8AsEUPk6+QuM7BTtSW 7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAA AAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4Oe OkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsH j/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYK dqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAA AAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f8AYIofJ18hcZ2Cnakt2ndGQAAAAAAAAAAAAAAAAAAA MZwc8dIxxDVmzVmqx7B4/wCwRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNm rNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr 5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3Rk AAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAA AAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ 1Zs1ZqseweP+wRQ+Tr4y5TkHOVJb9G+MgAAAAAAAAAAAAAAAAAAAYzg542SjSGrVlrVVj2Dx/wBg ih8fZxlxnIKcqT6ObpjIAAAAAAAAAAAAAAAAAAAGM4OeNkY0h61Za1VY9g8f9gih8Xbwlxm4GbqW 6uLrj7AAAAAAAAAAAAAAAAAAAA+fr5OaNkI0ia1Y61Vb9g8f9gihxknCl1m65N1OdsZ3x0ZxkAAA AAAAAAAAAAAAAAAAx8fek5ozui6jazYKsRPsHj/sEUOu2Ktlqn6XZ6scjBSRLbOPpjYxkAAAAAAA AAAAAAAAAAYfJjm+uM0xXVE1xVOZr0Y9g8f9gKHW7JWz7s1W6i9SdYlasXXB9pLbI7fHY5/s3NeT 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs DyhP1cpjbLcVojtDLY3QIn1qZU+yugebJDRKaJ7CVUvtq27o9geURaLx6C19JFbI7Y1QU0/WqFQd oH6CS2TG/wAzZrZd0ewPKMqo2n4VH5FoGKBunVTifj9JJpJdBnVH+mj2B5RkqfdcOki0jFJQn5qm pPx5CTSS6TOKf6tHsDyjI0/2hIRU/GUKbNU1DyfklCWhm6f06PYHlGRf9QkIqfjKCWapWx4kkszj daPYHlGQ2wrItjImqlseJJMM43Wj2B5RkNsEjWNarUeJJMM43Oj2B5RkNsEjWNarUeJJMM43Oj2B 5RkNsGyLY1qtR6ySTDONzo9geUZDbBsi2NarUesk2TDON1o9geUZDbBsjWNarUesk2TDON1o9geU ZDbBsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDb BsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsj WNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNa rUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUe skkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskk wzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzj daPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzjdaP YHlGQ2wbI1jWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJJMM43Oj2B 5RkNsGyNY1qtR4kkwzjc6PYHlGQ2wSNY1qtR4kkwzjc6PYHlGQ2wrItjImqlseJJMM43Wj2B5RkV sJSKv4yolmqVseJJLM43Wj2B5Rkf/UJSKv4ypTZqmoeX8kqS1M43Oj2B5Rki/wC0Koi1DKlC/mqa h5SSpLUzdf6tHsDyjJ6/p2HURaxiobX81TWv4/USaiXUZy59N6PYHlGXubEiE5+RaxisaqEXVCjl Q/WSayXX+Zy59ro9geUUVbNeXPpVRFdI7gzWUVfeqK6h2skOElwmu/ST3bx/R7A8oMpk/SxHiM8M OjThTX9iLqWqr6HHB50kOkp4zSVsUVKqro9geUDLit15fLSumM+MPjTw26UuCVH2moPsWoqcK3R1 4feJD5MkIiTpKvO6fYHlGiFLViuHLSpGJAzIGnyh8peKXRHEEcQ20NtDbQ2kNpDaQ2kNpDaQ2kNp DaQ2kNpDaQ2kNpDaQ2kNpDaQ2kNpDaQ20NtDbQVxBXEFdKnit8cfHpA/IJMn6TMp+0vw9geUaYU+ pmqJNprRmUNSRuSUSSmQgkgSQI+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X4r4sgWQV SCuSOSR2SPSiRLREzDMlUVVVfh7A8o+EeW4wsTNKKxmYijcsollMspliSxJZjDGIYxDGIYxDGIYx DGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxBZYssqllUsrljksdmISsxooSVmLjyqq r8vYHlHxRVRWZ77QznNI3mzSlGZUKU5hSJmKHEUOIocRQ4jScRQ4ihxFDiKHEUOIocRQ4ihxFDiK HEUOIocRQ4ihxFDiKHEUOIocRpOIocRQ4ihxFBcxQXMEKsxpHM1aQezmhB/M3nCquqtfn7A8o/hS utC9dL50vnS/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/ eL50vnS9dLytT7X+PrDhvHuTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOT HJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY/pP/aAAgBAgIGPwBR f//aAAgBAwIGPwBRf//aAAgBAQEGPwCPk8jmv2su47DV1z9uE90V5xHl7vuKrTXWMHDNdYwcM11j BwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHD NdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11 jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMH DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z"
+   transform="matrix(0.24 0 0 0.24 174.5615 142.499)"
+   id="image25"></image></g></mask><g
+   opacity="0.09"
+   mask="url(#SVGID_1_)"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   id="g27"><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M195.361,251.626    c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527    c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path29" /><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M255.024,152.499    c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527    c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527    c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499    L255.024,144.499z"
+   id="path31" /></g></g><g
+   id="g33"><g
+   id="g35"><linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="152.499"
+   x2="225.1929"
+   y2="247.6265"><stop
+   offset="0.0123"
+   style="stop-color:#C1D72F"
+   id="stop38" /><stop
+   offset="0.1394"
+   style="stop-color:#BCD631"
+   id="stop40" /><stop
+   offset="0.5859"
+   style="stop-color:#AFD136"
+   id="stop42" /><stop
+   offset="1"
+   style="stop-color:#ABD037"
+   id="stop44" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="0.3086"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="1"
+   style="stop-color:#ABD037" /></linearGradient><path
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527    c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path46"
+   fill="url(#SVGID_2_)" /></g><defs
+   id="defs48"><filter
+   id="Adobe_OpacityMaskFilter_1_"
+   filterUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix51" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"
+   id="SVGID_3_"><g
+   filter="url(#Adobe_OpacityMaskFilter_1_)"
+   id="g54"><image
+   overflow="visible"
+   width="356"
+   height="414"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAXBAAALIQAAEOP/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAaEBawMBIgACEQEDEQH/ xACYAAEAAgMBAQAAAAAAAAAAAAAABAcBBQYDAgEBAAAAAAAAAAAAAAAAAAAAABAAAAMIAwEAAgMB AAAAAAAAAAIGATIDBBQFFjZQMwcRECKQMRMSEQABAgQEBgEBBwQDAQAAAAAAAQIxcgMEEFCRsyGC M6PTNBFBIGFxEiIyE1GB0UKhscFiEgEAAAAAAAAAAAAAAAAAAACQ/9oADAMBAAIRAxEAAADy0npz Z0Dnx0DS7Q9kr0IKcIKeICeICeICeICeICeICeICeICeICeICeICeICfggp2CElQD1aXxOgc+O1s um7kKj5vpObG6d2Q9zspRA9JmSGmCHmWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIaYIeJo1sPe 4OK5C2tCVS3OmN5clN3IVHod9EOv6zWb0zkAAAAAAAAAAAAAAAAAMRJnwcVXltVuetyU3chUfp5+ 5YexhTgAAAAAAAAAAAAAAAAABjODUVxZNbnjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwaut rJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAA AAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjy Cx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1t ZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAA AAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQ WPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautr JrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAA AAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyC x5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZ NbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAA AAAAAAABjODV1tZNbHjclN3IVH7+HqWTO1uxMgAAAAAAAAAAAAAAAAAYzg1Vb2NXB5XJTdyFRx5G jLc3XG9SS2MgAAAAAAAAAAAAAAAAD4+ohqq47GvTa3JTdyFR830nNm/7qp+gLVk8fuDcZgehLRBL RBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBKQohP0MbkT40OcG8uSm7kKj5vpObAJm45sd n98SO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3xxI7PX84JcQAN5 clN3IAAAAAAAAAAAAAAAAAAAAAAAf//aAAgBAgABBQD+G3//2gAIAQMAAQUA/ht//9oACAEBAAEF AFgq7/bL9narGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxn arGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qx narGdqsZ2qxnarCYVyhn78PQNo/MCUmJhssm48QEScNrGJGEMQgjEIIxCCMQgjEIIxCCMQgjEIIx CCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIQakYQOlI bGTCajw2R5SPLm/KK2gegbR+LVYzzDZGzFKyBaysYS3FYGSBBQkFCQUJBQkFCQUJBQkFCQUJBQkF CQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQNkCA9uK0R7WVrJ+ykMy6WI8BrW NY0IraB6BtAsdqbMHtttYxkvKFKxhCs4JpCtExKFMy5W5jWX22NgRAitoHoG0SsBsePZZFhSSkuw peFm5dhi3qRKYk1BbAjoraB6BtCcl/8ASYtUBjCkL8Lwp2fS3WCxpVDA/wA5lFbQPQNoShGNLbif CcM3+roX9VQz4ZFbQPQNoSLP0t7P04e5uql5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW 0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5F bQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnk VtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqe RW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp 5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6q nkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubq qeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5u qp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m 6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSLlvb+nD3N1UvIraB6BtCTN8Jbj /ScM3+rob9VQ36ZFbQPQNoTUx/xGtcdjSlb9ZwsRvwt1jMYVRR/+5hFbQPQNokZinmbPOsaWVjsM XhZuOwpbxOsYWcjtjzCK2gegbQLDdv8ANtuuDGsgTJTMYZjeCaZjBHmSlZcbgxjL9dGxDBFbQPQN oDGtK2z31pBJXYrWQLmVrCz5Whk8QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFa QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkDZ4gNPkYI9zKxk7dysZdr80zTGaZoRW0D0DaPzK3Oalmyy oYwEVEv8yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGV S4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXB1RL/JlUMMyauU1Mt/KK2gegbRxaK2jj/wD/ 2gAIAQICBj8AG3//2gAIAQMCBj8AG3//2gAIAQEBBj8Ar2djdfxW7G01az+Ok74VzEcvF7FWJ73Z o+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+ M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M9 7s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s 0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+Ms7O7u/5Leq5yVGfx0m/KIxzotYixTC5kpbbfsfFJir 9/0EWo74+5qHH8y/3IO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U g7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U4fmT+5803fP3Kn+D4qsVP v+n2LCd22/C5kpbbcUqVkX4+jf8AIiI34QTgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIEBe AqK1FRfuFqUE/SkWf4PhY4WE7tt+FzJS224JWqJw+f0ov/YnATgcMi4i8BeAtdifpX9yf+4WE7tt +FzJS22jKSfVeP4DUROCCcMmXgORU4KPpL/qvD8CwndtvwuZKW20dUVIcEE4Hxkyi8BHon7uC/2L Cd22/C5kpbbT5/8AoTKFG/iWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttp zKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+Fz JS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu 234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFG zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k="
+   transform="matrix(0.24 0 0 0.24 182.5615 150.499)"
+   id="image56"></image></g></mask><g
+   opacity="0.35"
+   mask="url(#SVGID_3_)"
+   a:adobe-opacity-share="1"
+   id="g58"><path
+   a:adobe-opacity-share="0"
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663    c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path60"
+   fill="#1D2915" /></g></g><linearGradient
+   id="SVGID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="226.1924"
+   y1="159.7139"
+   x2="226.1924"
+   y2="200"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop63" /><stop
+   offset="0.3788"
+   style="stop-color:#F8FBF3"
+   id="stop65" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop67" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.4383"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></linearGradient><polygon
+   fill="url(#SVGID_4_)"
+   points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61   227.655,173.61 236.978,159.714 "
+   id="polygon69" /><g
+   id="g71"><g
+   id="g73"><g
+   id="g75"><image
+   overflow="visible"
+   opacity="0.75"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="392"
+   height="242"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAD2CAYAAADF97BZAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHohJREFUeNrsnYlu40gSBZMU5Z75 /4+dbUsiFwtY2JrqvIqHSEoRACFZPtqk3BV8WVcvAAAACXouAQAAIAwAAEAYAADwWgYuwSp0XAKA wzJxCRAGIgCANf8fIxaE8RIxIBaA8yeMDokgjLkNfLfyzwOAfWTRNX49EkEY5h9N6+sIAuC8/++n mXKZjJ/5UfIYPuyPRXut9WOEAXDuxOGJYEqKZPpEebyjMOYKoTO+BmEAfIYwSjG0JJFaHm8rjncS RkYE2uutwkAgAO8liezzTPqY3jl1vIMwooa+fi0SRvQzshIBgHMKYwpez5Su3jJ1nFUYLWWlznne KpHW5AEAx5fF5Aijfi0jDy91nFocZxRGJgnUMvDkkf3arDiQCMD+YshIwxKE93xy5CGJ1HFqcZxJ GEsE4b0WHa3JA2EAHEcYU8PjlJREdESp47TiOIMwIlG0yqEPPl4iDmQBcCxpZMtOmWNs+Fy2n6M7 kzSOLIy5oogk0SsfZwWCNADeSxhZMYzGYy2I8uslIY5TpY2jCiMzsikjCO2xDz4fiaNFGggDYD9h LJGF9uh9rq8+7hxxWLI4vDiOJozsKCdPFJoc5ry2JG0gDYDzJouxOrTXLJHUsuiKz4uROurS1GHL VEcShpcqNGFoZSZLBBfla6zXO0MeGXGQMgCOkyyyopgCMfzveDifs44yRdQlLKtEdei0cRRhaLKI UkXZoFtCeH7uUn3dJfF9UV8HwgA4tzDG6nktjYfy/OF8zhJLZ0hjEns01SHTxt7C8EpQmdKTlhQu lSguxmu1TLSfNac8hTQAji+MMZEsahHUx6g8743v1aQxOudzSGnsKYyoBOUlCk0StQQGRRrW4aUO bWRVpj8DYQDsI4xaFJEwPFk8FGHcDYGUR1/Jon7uzf84bIlqL2FkS1BWP8XFSRKDIozBEclgiMPq CJ8rDSQCsI0cWmWRTRaWDO7BYy2OXhFH2SE+BudymLSxhzAsWbSkCk8S3vNBkUdGGJE06pTUIgTE AbCOKLRylCYNqxyVTRV347gYX9sr4nhUotDKVPXw292l8WphtMrCSxWeEOrjqghDE0hUlrKkYaUL ZACwj1S8lBGli1oYWpL433Eznl8qWdxFL2trfRsiev/GIaTxSmFkJ99po5+0RBHJoXy8Bt+j9WmU /743qU/E7vxGGgD7JBBrCRCvs9sqRd2NZHErRDEY4iiTxV1p72ppiPx/IqDVr7GbNF4ljBZZaKnC E0UtBu3jq5E0PGFcgpJUH8gCcQDsJworXWQTRiSMWyWM5/Oheu3ZltzFLmk/lPbhkCOoXiEMreHM 9FVYsrhWz8vjS3lNE8dglKiyHd9ewqAsBbB/KcoThjbvwhpCG6WL8vgu2pRb0XbdnGpFKY26vbCG 3u4mja2Fkemz8EpQZWOulZq+gkdNIlFZaq4wBGkAHFYWIm2d3lG6uFeiKNPFt9Ku3ESfEOyJY3TS xi7S2FIYc2ThpQpLFF/Bx6U4auFckiWpFlkgCoBjiCPb8T01Jow6WVx/JHEtZPEt+oCaaD6XRUYa b1OSapXFEJSdsodVporKUZlRUpEsEAbAcaWhpYx6WK02lPamSKOWxVBIo1UY3QJpbC6PrYTROhLK SxW1LH5VUvhlvG5JQ0sXWv/FReYNp0UaAPvKYq4wxoQwvIQRlbojYayRNDaVxhbCaFmKXJNFPcrp q5LFL0UUGWlE6UJ7Y7MT9hAGwDmFEaUMb/5F3X/hjb70hulnZVFL4/Sd3l2iLNUHsrBKUL+M48v4 2EoX0ZvqlaIEYQCcWhalNKwNkrz5GPeftuRWtCk30ed8aUsYzU0WdZoo25ZaHJsJZMuSVMs8i6iv opbEX4FAnt+jdXZnZaEtby6IAuBtUsac/oxaGoPy6A2mWZoupiJldK8uTa0pjLmlKK2DOxLFX8br WllKG5Lbsn4UO+0BII1B/uzLqG9Av+XPKQHZNsU7H22IcF2e0qRx2ISRkYU1g3sISlB/KY9/OUlD 67vIyOKSKEO1JAzEAbCfKFqF4c0CL1PGUKSNm9hr1LXchHYJWYjoy4RYZSnZQhxbz8OIRDEYwvhl SOIvQxh/KenC6+hu7eSOpIEwAM4hjCXSuBRp47lW1F1p16wtoFvShSYLa++MUV7Un7GGMFpKUV66 qPssaln8bUijFoY1u9vbOGnp8NkucX0A4LWyEGmbCT6KvnzIWMjiUcgjsyGbdQOa+V0nyW/p2r2i NLVmSWqJLLR0Ycnib6ck5U3S85JFy8KCSzq5kQfA9pJokUX52AdJo6/EkVmwdM6ci2nG0TmyWE0c S4URDaPN9ltkZPG3U5bS5l1kFhecu2w55SeAfcl0FncJgXh9G30hivqxXIE2Gl3ZO6KIymPZo0xI m/VjrFWSmjsqanBkYfVd/K2kC6uj25JFZ7yxraJAEADHF8pUvTYFjbZUd+5T0UY8hfEQfapAZnRl lCpG0eeHaB/XKcOS5CriGFZ6Qyx5aPMuhiBZ/FJkoaUMTRblMNpoFvfS3fOQBcB55DEp/3e9DuJa GE9ZWO1bpvRkNeZWp7u1Z0emNDUp579YGsOCNyBKF9HIqEFp7K1U4Q2lteZcWOu4tM6xoAQF8H7S EKN0Uz9qd/B90Xh3ku+r6IxUMTpHuWWsdvRGacrr09g9YWTnW7RM0rPKU9oyIN7CgpYs1twxD3EA HJcp+f9UuxPvFGnMFUUXpANLGJ5Qyu+t/+1Ddnp3iXKUNu/iy0gYvyQ/Qa8cGaUt+5FJFiJtI5+Q A8D50kVGIpNy0zgtkIYY/0b5PLOnuHZcqpTRK0nIK0+9TBjZLVfnzOrOJI0vQxbafAuvzyJbfmK4 LMB7JAzv/+zU8H+9lEZL2zApopgMcURHVJrqRO+72a0Pw0oX0YZIVsKIylDWkuVav0UpK2upj7mi QA4A504YnkCmoLpQfm/r3hbWarmRHJ5rV3kpwytNaalqljiGhRc+U4qKNkb6ctJFnSa0uRaaLC7J ZEEZCgCBRCOoLHFMxd19JuVEndyeMLIpo98yZcwtSWWXL5/bf/El9kioL7H3tYhmW1rpYm4pCgDe RyCt4pCigRaxZ297w2fHIFWU6aJ8HOTf61uVbd5mKWOYcVFb08Wc/bm1RQTrVFH3WViy6INUgSgA oEUcWn9HL7kFEOtS1BiIojy+5P97cdSlqUfVDnspYzZLh9Vq+3Rn5mBcE6KwtlgtReEli16YiAcA 64vDayt65XszQ2ejhFFu3FTuxfFQksYo+kitXfowOrFHSnmlqGgLVi9daEt9ZCbmibAzHgBsK46u kIFUlY3pp416CmNIlqNulShuRVtYbuB0r26aR6MsNYm/d8aqwpi7DEhm74urU36K9rTQ1p23Fg9E FgCwpjjqmeFdlTK8ctS1eNT2DP+qZPFVSOMm+grcUV/G4s7v1j6MOcuYe3MwNGl8KV8b7cFd/w4i /pR8RAEAc8QRSUOqlPH8+jpljEVJqZbGl5Iq6qPc7e9eScPry5AlKWONeRjeUNpLUI7SEsUg9sxt bwZ3L/RVAMBr04bXCT5Wpam6XF+WpK7y7z6Ka5EqynQxiL2DaC/xaKnNJ+5Fayi1jpQagtKTNXN7 SKSLaClhZAEAa6cNSxrlXX5fpYyxaNdqadyVdnBuyli187ufeaG0foJMyhgMMdSlp0wZykoXIu3b qAIAzE0b2nNtBGl2YdbBaRsHJ2W0rMg9q23sGy5My2S9PnExhsTFyG6BmHkDAQBeLRFNGpeqNOXt RJppG7Wb6i6Qxiz6hpP3RNIHCSNj0swF6WaUopAFALwyZWRvri1xXIL2sWVqQbR67qrCaEkaLUNr 6wtxCWRh7ZVryQFJAMAe0ojazWe7dWlsI6/JhKG1l6KUoma1lf3Ci2RdiGyyuIg+CspbRLA3TD7n jQQA2EIe0Y21Nw1hUB6z0sgkDC8dLRZGNlVkR0hZpSdLFpfkBVhkTgCADVJGZoM5qyLjyaN1o7hV +jH6mTHL2gcjugjWBfHKUN1WJw8AsFG6iGSRLeNn2spoFOlqbWXfeDG6IHK1ysI76cyOeaQLADhr maqfIY2L5Pt5rQ7vzYfVZspUfXC0CsLq5LbGEgMAnC1laP0Z1giqls7ubBl/k07vaOiYtp6TdjKa JKJJJ9n5FqQLADhj2vCG20Y33NlSVNfwu62SMLqkNb2E0SviyMzgXrUOBwDw4pThrY6R6QPOVmo2 7fvNTNzrgs9F9bhIHH3ihC07C+kCAE4mE00ctUCiakymhN+vfZPdz4gm2fHFXSALK0V409pFWPID AM6XNrwUklnANSpZzRlS29x+zllLqiVpZBKHNwoqE6OQBgAcXRTeIoCd0x564siW8K2RUs0MMy9E 9tBOwNv4KFtjQxwA8C5C8drOLlmlya4h5a21Fy513q948llbdo48okglQn8FAJxLCt68Ma1Bt9pD 7fW1O7q7LYQRxausLaPaGivPAsC7yyTbZnZiTznIyENk4UipfuZJtp68VXLyxJGZoEfaAIAzSaJl TtuaCWOVdrJ18UHrJCNZRFErU3ZCCgDwjglDa+u6GQkjszjr5sLIJI2oA8dLGtKYMBAHAJxVDJ4s Mmv1ZWURlaNeKgxJnmBmT9kueZFFKEEBwGdJJjui9CU7j/YrnJTX6Gcn3m1SbwMAOEnyyDT4SxNF tGrtLGF4nc3euN7MbMKsGDIlKMQCAO8kjeyNdIs0Vm0vt+jDiGQS2TVbtgIAOKMkoopMa5uaEc4q 9C+8EF4UmyMpAIB3Tx4tfcGb32T3G52sVzN7iQkBAA4ogJYbbetjbxe9zFp8s8v8/Y4XCQAAkeiN uwSJQiQ3qbn1Jn/zhNHNuDCR5RAKAHyKLDKfjxJG9t/YpdNbpH1/7ZY4BgDw6TKJSvWtW0Espt/g ROes/eQtxYtQAAAOsJFc/6KTmxPJAADAF8RL29F+5xMHAEAGfz5fvHfFFu1tf8ILCgDwbrLIrAi+ xs/+CGEAACCX/FpTm9x4IwwAgPMkka2+/jDCoJwEAPAGbSoJAwDgwxr+owuDlAEAcHJIGAAAgDAA AD6At5jpDQAAJAwAAPikdIEwAAAAYQAAAMIAAACEAQAACAMAABAGAAAgDAAAAIQBAAAIAwAAEAYA ACAMAABAGAAAgDAAAABhAAAAIAwAAEAYAACAMAAAAGEAAADCAAAAhAEAAAgDAAAAYQAAAMIAAACE AQAACAMAABAGAAAgDAAAQBgAAAAIAwAAEAYAACAMAABAGAAAgDAAAABhAAAAwgAAAEAYAACAMAAA AGEAAADCAAAAhAEAAAgDAAAQBgAAAMIAAACEAQDwMUwIAwAASBgAAHDOlIEwAADgUMKYuNQAAOdu F0kYAABwGGGQLgAA1mtHd2tTSRgAAOeThvX58vhYYZBSAOBTJDAl0sXU0EauJhESBgDA/tKoG/U1 GvnVk0a/08UhNQAArJtENqff4KQydbTpyBcFAODA0titA7xf+MtPM09YuwDT1nEKAOCEaSLqw5he 1Wb2K51c5hedErYkUQDAJ0ohalen4KZ9esXN9h4zvefIBQDgE6QxSVyJmSRXllq9xN9vdBEiM2ai FwDAp0hjMm6sWxKGN9oqandTbW+/0clnkkXr8DFkAgBnl8KcG+dJ/AFFU9DGZqUQ3uT3G1yUKGJ5 1pyEkVIA8BkCySSOKHVMiTZ2tfazn3liU/IEopPPXBhkAQDvKIu5N9JTcGx2o903xpLopDIXyJNB JIgp+XsCAJxBHNkb6czN+ZT8Ppl7Q96vcNItJxHZUoKTRBAA8K4CiYbIPp+PDW1t5qb+ZcKQwIxZ C3oJA2kAwLumi0w7OiqSGKWtI3yV9rNPntyc2KQdkRk9cQAAvIscJidZWG3mqHy89IZ804SR6Zix RDFWJzlK23Axz4zIBQDOJBCRuDQ/OqLItKOrDx5asw/DkoRmxFH5mlH8OhzDbQHg3WQRtZuZhDE6 clky9201YURlqDFIGGODGT0rAwCcVRxRKX9MtJ8tJarF7WffcIJZY3mmtKJVFK+s+AYAcBYxRJ+L Sk5jcMzp12iq2myVMFpO0CpXtdoRgQDAGSQSdW5bCePRII1R8h3tL1lLaq4kyhN/SNwhHtkaUQDA UdOFVRXxkoUmh0fQfmZK/SILy/t94mS9dUsiI3on6J209jNF4o5w5AEAZxFHNM/iURxLZbFKGT+7 ltSUSBjRCKjoRB/BBaQjHADOKAmvKqP1UTyM9jFqQz2BaL/D6sJoPenROdHoKC+EVdfLCAJ5AMCR xJGpzHg32I9EW9pSltosYXiiECNWRXW4R0PUmrOoFgDAEdOFJpEoSTyPe/U4VxpzfvdFCSNKGi1W fF6Au7T1a7SsagsAsHe6EMmVo7yb63tSFF5ZalHq6Gc2utnRUZEkshdgSpw8ogCAI6YLWUEUd+fj pQkj3W6uMXEvEkdWEnfR63abxSsAgBeki7k32Hfj0BJH3W5uMlqqbzh5TyCtUSpzEVpKU6QMADhi uvCE8VBuqj1R3IMb72iY7WLmrlabnXuRsWXGng/xZ4KTMgDgiOlCGiowLdKIOr6jzetm7ZGx1bDa TN/F87glLkhLR44IczQAYL90kZnYbI2EqtvEW4M8Mqt/L2of+4YLEfVfaOb0TvJWXIybcWE8e86Z owEAsJUsrOkGmVLUXZFG1D5mb7BXm4vRz7worQkjEsVNsanVqROtzLjYogAAM2URdXA/GtrIW0Ic L524Nyy4UJm+jEdwEerj+vM4/DxeiuN/P6P7kdz487z7ed4rF6P7ea0rfueOv3EA2KAMJZLbEygr iqjNbE0X2u/YfEM9JC9MV/3gLlGWsmpz1vH98/uUx70QRl8cXXFIJY5IGoI4AGBFWbR0cFtTDeo2 8ltpH7W+jUyHt7fH92YJY3JEkZFFfVG+fxLFd5EsbkXCGKqEEQmjThmlLOp0QdoAgLVkUYujbrSt AUC3QBLWa9mEYW0V8fKSVH1xygbbGjJWlppuijQG5Yhk0SmJoa+k4EmDtAEAS0RRPnorz1ojoer2 sD40aUQDgzJbts5KGUPDxeoco0bjiy9KuhgUWVyLz1+MhOEJoyt+v1H5Gk0SpA0AyIoiksUYVFse jizqR00ac6YeTMnzWj1haHfpVsdOb0SwoUgadbK4FsmiTBnZhNFVKUNDEwdpAwCyohCZtyzSwyhD 1cdvI2lEKcOTxSpTEJb0YZSNb1mailLGUxpRGWqoRKHJonMa+k7aO8ERBwCiiEShVVesEaLlTbM1 2Oe3IwpLGLdkyvDKaZsnDE0cXSGLTMrISKNMFhdHFpYwpkIWnZM4InEgDwBEYcnCWnVWW+LDE0Ut jUgcmc7uVdeQWiIMcS5iJmXcqpLTt/w5IqpFFlGjXs/b6BrEQeoAQBTRpLxphiwsUXji8EpSWv+F yEqd3XOFMTl34V7KuFelpUtwaGWovlEW5UXqg5SRKU1NhmQA4NyCyIpCjGShDZ3V5lV8B3L4bXzu OyhFeSOkWs5/s4RhDVEt7+QfRUNfSqNMGV6qqKXRBymjlsTFKFPV3zsVH7eUpqagzAUAxxRDNmFk k8XDSBfaCKhaCv/5OTxpRB3eXt/FquvtrdGHUd+p18t2PIqGXytNXZTk4U3Sy7zxtTiespjEHmk1 JctVmWQDAOcSibXQamYDJGvobCmL34njP+L3YWRLUasOpS25zPy+srPZKhFpX+Md3pDZqA+j5Y9k 6UXrFn4eAPZPGNnyU3borCaLm1KG+k+VLLzDG17rSWOTdLFEGCJ+B7IllEgCEryWbaCjWZlrxVlE AXA+cSyRxST6sFlNFjdHFnU5yhPGb0cW1gipTSofwwpvRl3S0dZ+19JEn0waljCiIW7Px6EqS12K z2n9IyL+pEBGTQGcUxaZ5T2iDm5v8yNtUp7VZ/FPQ7Lw9gpqWdJ8t+XNPVlIUhqZklSXSBGj2JNn roU0xh9ZjIU4ns9HRxzWo9dBjlAAjlOGmgJJiCzbz8KSxbfofRSRLH47Zaho7oXIhpvKrTUPo1N+ wbFoOLPSyAgjMw66vJClLMpjlD9HYdXikMSjJocu+SYhFYBlMmhJFa2y0EZCZWRxE33IbC2Hf6rH WhatI6M230RurZKUNcy2FkerNLw33lvw6/mmXos3tlyj6iH6aKw+WRaLZIEgAPYTSKs0rEUEvdFQ 1uZH2qQ8r5/iH4k7uVtGRmlltdVYM2FYb9RYNbgZaXiNq/amWtseatJ4iD9JcKk0WjrnAWB7aXhr QXk3oJP4o6G0mdzakh9WZ/c/Ys/DiFanrTdM8q7BoUpSUWmqbOSz0rB+flSGeiSkcRF7rw1vhrlI bhgx0gDYVxhT0GjWd+FjsmJxF31TuGg2dzSk9rdRjlpj7+7DJYxsaapMG1oDG02Es5ZR90RRvsHP pdOfW79mpZFdUh1hABxfGN5EvKws6r6Let8Kq/8imt3tLWWe2fNis1LUFgnDeyNHpeF8JGThJYxo 8kx5J3AtJHFVUoa1LIkmjH6mMJAFwPbCyHZyjzOqFlay0Pa1aJnR7Y2KinbV82SxujS2Kklpo4Qm RRwtPzsShZUqvooL/0wX9QZN1gq5njhE2kZSIQ2A7WQxNT5qZai6P3SU3G559RIgVsqwEoW1wGA0 jFacEtQpEoYnjXLOQ7bxzAyh9UYtfBXiuMq/d/UbnKShiWOuNJAFwHGkYQnj0ZAublU5yts5L1qy /DuQRVSCispzpyhJlfLwImGLLKw+DC8yluIYKnFo0uiN8hTSAHgfYYwSz+HKlqIyW61qaULbqzsq Q2X7LTaTx7DRm9gF4sjKQpKi8IRx/XkjalnUfRmeNCxhRP0ZCAPgGMLwZDGJP4imlsXdKEdF+3Pf xO+rqDu4DyWLLRNG1J8RScMaAjc69UUrXVyrhOGVpYbGlIEwAM6TLsZkwshULW4N0rgpj9oM7nr4 bKss3qIkNVcaIvl16LWRUc9SVJkwhiphWH0ZLSlj7dngANAuCi1R1M+z6WIUe85FnTK+FWnclBRR J4rspLwWWWwujuGFb3KLNDL9F1Z0/DJKUbUwWstSnjSQBcDxpRHJIprRHaWMmyEIL1FEqSLb0X36 Tu9SFFlpTOKvSZ8dVntVRKEJo+78tvYWvyQSBsIAOFZJKhKG1p6MTtXCGimlPY9E8RB9BvdDkdok L1qN9ggJo0Ua2T0vvIRxlT/7MKwSVDS8NprINzdlIA6AdUQRJYy6HOUtLGi1KZnSlCWSjChaS1C7 yGKPklQkDS1teEnjUr3JQ/H4nKh3q4RxUaRxCRJGZngtHd8Ax0oYmXJUZq+LaB0p77WHxP0UD4nX htqlz2IvYWSkMUnbHhhjII5aCjcjTXjlqOxcjEgaiAJge3FkN0NqmYORKU9ZcmhJFNYM7sPI4tXC mFue0t703hFH+ca2pIkoXWRkkU0ZHogFoK1BbNk9L+rH8OZ5ZYRgPc+Iwis/7S6LPYThSUOTxyh/ 7hNei6N+oy/y7z0v7skk4fVdZIWxRBaIAmC+OLKyyHZ+eyth3wOpRENkWzc/OoQs9hJGNmlMSmNc v+F9lTZ6+fduehdFHPXn+oQoMsIQsffKQAwA24ukRRqZlOF1hkevWf0To1IWkzPIYk9hlCffGc8l SBudkjaejXmdNHrjMRLEnHSBMAD2k4WIP2CmRRqePEbxl/Cw0kRUftp1nsWRhdFaotI6xbW00RWl qmfi0NJDS5pAGADnF4ZIbk0pSxjWx1lJjOL3URwyVRxNGFrasGRRp43668dKFmVD/0gKwtqiNdrn m/kXAPsJQyS3rPmkNN7185bDks00s/R0WFkcSRiiJAxLIJNxh1+nkzFICr3zemY01JzlzZEGwD7C kERpKtv4j4mUUm9L3ZImpqNe+OHAfwzRwoWROLoqcXTiL1MepYmlu+0hCoDXlaZapZFJHlMghslJ FJnf7dCyOKoworSREYcYAukqeWTkQKoAeO+kIQl5eK+PkptDccpUcRZhiPgjqTKd4p2TRGSGIJYI A2kAbC+LrDBE8qOpWo45SWI6y0UfTvbHEZWp6mSSafQzH4vkJ+chDIB9hRHdxWdGKUWL/0Wd2G8l irMJQ5OBKOnDk4bX6GdSw1qLCyINgNcKo0UakUhE5o1yOrUozioMcWTRkjqyKSGbJOjgBjiuSLyG u6V/YU5fxFuI4szC0N6MOaljmiGDTOkJUQAcM31MM59PC37GW4jiXYShiUMkP7JK+16SBMBnp45s w9/6McI48B9GlDrq2eNTQjgIA+D9hLH11yCME6cOCdJHy89AGADnFEbm89PCr0UYb5A6ZIFAsn8o SATguIJo+fppxX8HYZz8D6n75DcfAGE0ff3HtxEDf1ipdNDyh9LxhwVwOmkgB4Sx6h9Kxx8aAGJB GLDmHxb9FwCIAGEAf6gA8Ln0XAIAAEAYAACAMAAAAGEAAADCAACAs/JfAQYAL3iXmIlSiu4AAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 179.2061 198.1514)"
+   id="image77"></image><g
+   id="g79"><radialGradient
+   id="SVGID_5_"
+   cx="225.1929"
+   cy="226.1387"
+   r="30.8299"
+   gradientTransform="matrix(1 0 0 0.75 0 56.5347)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop82" /><stop
+   offset="0.4828"
+   style="stop-color:#FDFEFB"
+   id="stop84" /><stop
+   offset="0.7611"
+   style="stop-color:#F8FBF3"
+   id="stop86" /><stop
+   offset="0.989"
+   style="stop-color:#F2F8E8"
+   id="stop88" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop90" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.8025"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><path
+   fill="url(#SVGID_5_)"
+   d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801      v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path92" /><path
+   fill="none"
+   stroke="#EDF5E5"
+   stroke-width="5"
+   stroke-miterlimit="10"
+   d="M186.706,235.825      c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801      h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path94" /></g></g><path
+   opacity="0.74"
+   fill="#FFFFFF"
+   a:adobe-blending-mode="lighten"
+   d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107    v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324    c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z"
+   id="path96" /><linearGradient
+   id="SVGID_6_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="204.3135"
+   x2="225.1929"
+   y2="246.626"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0"
+   id="stop99" /><stop
+   offset="0.0141"
+   style="stop-color:#FDFDFC;stop-opacity:2.231669e-04"
+   id="stop101" /><stop
+   offset="0.1344"
+   style="stop-color:#BEBEAF;stop-opacity:0.0148"
+   id="stop103" /><stop
+   offset="0.2565"
+   style="stop-color:#94957C;stop-opacity:0.0297"
+   id="stop105" /><stop
+   offset="0.3796"
+   style="stop-color:#747759;stop-opacity:0.0446"
+   id="stop107" /><stop
+   offset="0.5029"
+   style="stop-color:#5D633F;stop-opacity:0.0596"
+   id="stop109" /><stop
+   offset="0.6263"
+   style="stop-color:#4D552E;stop-opacity:0.0746"
+   id="stop111" /><stop
+   offset="0.75"
+   style="stop-color:#414B23;stop-opacity:0.0896"
+   id="stop113" /><stop
+   offset="0.8742"
+   style="stop-color:#3B461E;stop-opacity:0.1047"
+   id="stop115" /><stop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12"
+   id="stop117" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="0.2901"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path
+   fill="url(#SVGID_6_)"
+   a:adobe-blending-mode="darken"
+   d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801    h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962    c0,0,10.063,0.328,10.801,10.799V221.954z"
+   id="path119" /></g><g
+   id="g121"><g
+   id="g123"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 216.5547)"
+   id="image125"></image><g
+   id="g127"><radialGradient
+   id="SVGID_7_"
+   cx="202.6289"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop130" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop132" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop134" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_7_)"
+   cx="202.629"
+   cy="219.704"
+   r="2.999"
+   id="circle136" /></g></g><g
+   id="g138"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 213.9448 216.5547)"
+   id="image140"></image><g
+   id="g142"><radialGradient
+   id="SVGID_8_"
+   cx="217.5439"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop145" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop147" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop149" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_8_)"
+   cx="217.544"
+   cy="219.704"
+   r="2.999"
+   id="circle151" /></g></g><g
+   id="g153"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 216.5547)"
+   id="image155"></image><g
+   id="g157"><radialGradient
+   id="SVGID_9_"
+   cx="232.459"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop160" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop162" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop164" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_9_)"
+   cx="232.459"
+   cy="219.704"
+   r="2.999"
+   id="circle166" /></g></g><g
+   id="g168"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 243.7749 216.5547)"
+   id="image170"></image><g
+   id="g172"><radialGradient
+   id="SVGID_10_"
+   cx="247.374"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop175" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop177" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop179" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_10_)"
+   cx="247.374"
+   cy="219.704"
+   r="2.999"
+   id="circle181" /></g></g><g
+   id="g183"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 230.2217)"
+   id="image185"></image><g
+   id="g187"><radialGradient
+   id="SVGID_11_"
+   cx="202.6289"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop190" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop192" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop194" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_11_)"
+   cx="202.629"
+   cy="233.37"
+   r="2.999"
+   id="circle196" /></g></g><g
+   id="g198"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 213.9448 230.2217)"
+   id="image200"></image><g
+   id="g202"><radialGradient
+   id="SVGID_12_"
+   cx="217.5439"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop205" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop207" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop209" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_12_)"
+   cx="217.544"
+   cy="233.37"
+   r="2.999"
+   id="circle211" /></g></g><g
+   id="g213"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 230.2217)"
+   id="image215"></image><g
+   id="g217"><radialGradient
+   id="SVGID_13_"
+   cx="232.459"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop220" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop222" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop224" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_13_)"
+   cx="232.459"
+   cy="233.37"
+   r="2.999"
+   id="circle226" /></g></g><g
+   id="g228"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 243.7749 230.2217)"
+   id="image230"></image><g
+   id="g232"><radialGradient
+   id="SVGID_14_"
+   cx="247.374"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop235" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop237" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop239" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_14_)"
+   cx="247.374"
+   cy="233.37"
+   r="2.999"
+   id="circle241" /></g></g></g></g><path
+   d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path243"
+   inkscape:connector-curvature="0"
+   style="fill:#f5f5f5" /><g
+   id="g245"
+   transform="translate(0,16)"><g
+   id="g247"><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path249"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path251"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path253"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path255"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path257"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path259"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path261"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path263"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path265"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path267"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /></g><g
+   id="g269"><linearGradient
+   id="SVGID_15_"
+   gradientUnits="userSpaceOnUse"
+   x1="324.1611"
+   y1="239.7637"
+   x2="324.1611"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop272" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop274" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path276"
+   style="fill:url(#SVGID_15_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_16_"
+   gradientUnits="userSpaceOnUse"
+   x1="377.45459"
+   y1="239.7637"
+   x2="377.45459"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop279" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop281" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path283"
+   style="fill:url(#SVGID_16_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_17_"
+   gradientUnits="userSpaceOnUse"
+   x1="435.17719"
+   y1="239.7637"
+   x2="435.17719"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop286" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop288" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path290"
+   style="fill:url(#SVGID_17_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_18_"
+   gradientUnits="userSpaceOnUse"
+   x1="474.83691"
+   y1="239.7637"
+   x2="474.83691"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop293" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop295" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path297"
+   style="fill:url(#SVGID_18_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_19_"
+   gradientUnits="userSpaceOnUse"
+   x1="512.28223"
+   y1="239.7637"
+   x2="512.28223"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop300" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop302" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path304"
+   style="fill:url(#SVGID_19_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_20_"
+   gradientUnits="userSpaceOnUse"
+   x1="546.65918"
+   y1="239.7637"
+   x2="546.65918"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop307" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop309" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path311"
+   style="fill:url(#SVGID_20_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_21_"
+   gradientUnits="userSpaceOnUse"
+   x1="580.69629"
+   y1="239.7637"
+   x2="580.69629"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop314" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop316" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path318"
+   style="fill:url(#SVGID_21_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_22_"
+   gradientUnits="userSpaceOnUse"
+   x1="622.7832"
+   y1="239.7637"
+   x2="622.7832"
+   y2="155.3268"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop321" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop323" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path325"
+   style="fill:url(#SVGID_22_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_23_"
+   gradientUnits="userSpaceOnUse"
+   x1="655.6709"
+   y1="239.7637"
+   x2="655.6709"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop328" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop330" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path332"
+   style="fill:url(#SVGID_23_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_24_"
+   gradientUnits="userSpaceOnUse"
+   x1="697.92969"
+   y1="239.7637"
+   x2="697.92969"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop335" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop337" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path339"
+   style="fill:url(#SVGID_24_)"
+   inkscape:connector-curvature="0" /></g></g><g
+   id="g4141"
+   transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g
+   id="g4143"></g><g
+   id="g4165"><linearGradient
+   y2="155.3275"
+   x2="324.1611"
+   y1="239.7637"
+   x1="324.1611"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4167"><stop
+   id="stop4169"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4171"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="377.45459"
+   y1="239.7637"
+   x1="377.45459"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4175"><stop
+   id="stop4177"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4179"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="435.17719"
+   y1="239.7637"
+   x1="435.17719"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4183"><stop
+   id="stop4185"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4187"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="474.83691"
+   y1="239.7637"
+   x1="474.83691"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4191"><stop
+   id="stop4193"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4195"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="512.28223"
+   y1="239.7637"
+   x1="512.28223"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4199"><stop
+   id="stop4201"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4203"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="546.65918"
+   y1="239.7637"
+   x1="546.65918"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4207"><stop
+   id="stop4209"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4211"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="580.69629"
+   y1="239.7637"
+   x1="580.69629"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4215"><stop
+   id="stop4217"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4219"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3268"
+   x2="622.7832"
+   y1="239.7637"
+   x1="622.7832"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4223"><stop
+   id="stop4225"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4227"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="655.6709"
+   y1="239.7637"
+   x1="655.6709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4231"><stop
+   id="stop4233"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4235"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="697.92969"
+   y1="239.7637"
+   x1="697.92969"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4239"><stop
+   id="stop4241"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4243"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient></g></g></svg>
+    </a>
+
+    <div class="spinner" id='spinner'></div>
+    <div class="emscripten" id="status">Downloading...</div>
+
+<span id='controls'>
+  <span><input type="checkbox" id="resize">Resize canvas</span>
+  <span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
+  <span><input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked, 
+                                                                            document.getElementById('resize').checked)">
+  </span>
+</span>
+
+    <div class="emscripten">
+      <progress value="0" max="100" id="progress" hidden=1></progress>
+    </div>
+
+    
+    <div class="emscripten_border">
+      <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
+    </div>
+    <textarea id="output" rows="8"></textarea>
+
+    <script type='text/javascript'>
+      var statusElement = document.getElementById('status');
+      var progressElement = document.getElementById('progress');
+      var spinnerElement = document.getElementById('spinner');
+
+      var Module = {
+        preRun: [],
+        postRun: [],
+        print: (function() {
+          var element = document.getElementById('output');
+          if (element) element.value = ''; // clear browser cache
+          return function(text) {
+            if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+            // These replacements are necessary if you render to raw HTML
+            //text = text.replace(/&/g, "&amp;");
+            //text = text.replace(/</g, "&lt;");
+            //text = text.replace(/>/g, "&gt;");
+            //text = text.replace('\n', '<br>', 'g');
+            console.log(text);
+            if (element) {
+              element.value += text + "\n";
+              element.scrollTop = element.scrollHeight; // focus on bottom
+            }
+          };
+        })(),
+        printErr: function(text) {
+          if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+          if (0) { // XXX disabled for safety typeof dump == 'function') {
+            dump(text + '\n'); // fast, straight to the real console
+          } else {
+            console.error(text);
+          }
+        },
+        canvas: (function() {
+          var canvas = document.getElementById('canvas');
+
+          // As a default initial behavior, pop up an alert when webgl context is lost. To make your
+          // application robust, you may want to override this behavior before shipping!
+          // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
+          canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
+
+          return canvas;
+        })(),
+        setStatus: function(text) {
+          if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
+          if (text === Module.setStatus.text) return;
+          var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
+          var now = Date.now();
+          if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
+          if (m) {
+            text = m[1];
+            progressElement.value = parseInt(m[2])*100;
+            progressElement.max = parseInt(m[4])*100;
+            progressElement.hidden = false;
+            spinnerElement.hidden = false;
+          } else {
+            progressElement.value = null;
+            progressElement.max = null;
+            progressElement.hidden = true;
+            if (!text) spinnerElement.style.display = 'none';
+          }
+          statusElement.innerHTML = text;
+        },
+        totalDependencies: 0,
+        monitorRunDependencies: function(left) {
+          this.totalDependencies = Math.max(this.totalDependencies, left);
+          Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
+        }
+      };
+      Module.setStatus('Downloading...');
+      window.onerror = function(event) {
+        // TODO: do not warn on ok events like simulating an infinite loop or exitStatus
+        Module.setStatus('Exception thrown, see JavaScript console');
+        spinnerElement.style.display = 'none';
+        Module.setStatus = function(text) {
+          if (text) Module.printErr('[post-exception status] ' + text);
+        };
+      };
+    </script>
+    <script>
+
+          (function() {
+            var memoryInitializer = 'bigBedToBed_static.js.html.mem';
+            if (typeof Module['locateFile'] === 'function') {
+              memoryInitializer = Module['locateFile'](memoryInitializer);
+            } else if (Module['memoryInitializerPrefixURL']) {
+              memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer;
+            }
+            var xhr = Module['memoryInitializerRequest'] = new XMLHttpRequest();
+            xhr.open('GET', memoryInitializer, true);
+            xhr.responseType = 'arraybuffer';
+            xhr.send(null);
+          })();
+
+          var script = document.createElement('script');
+          script.src = "bigBedToBed_static.js.js";
+          document.body.appendChild(script);
+
+</script>
+  </body>
+</html>
diff --git a/bedTools/bigBedToBed_static.js.html.mem b/bedTools/bigBedToBed_static.js.html.mem
new file mode 100644
index 0000000000000000000000000000000000000000..00329c3436a1f3287f4c334bb086717e74d2a083
Binary files /dev/null and b/bedTools/bigBedToBed_static.js.html.mem differ
diff --git a/bedTools/bigBedToBed_static.js.js b/bedTools/bigBedToBed_static.js.js
new file mode 100644
index 0000000000000000000000000000000000000000..310d3410ceef81a4e4a1fefd30c47b4172d2edf7
--- /dev/null
+++ b/bedTools/bigBedToBed_static.js.js
@@ -0,0 +1,16 @@
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26672;__ATINIT__.push();memoryInitializer="bigBedToBed_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=kc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=20664;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=20691;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=hc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=20641;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=20664;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=20711;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=mi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=20775;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=20804;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=hc(o,q,r)|0;else o=kc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=mi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=20978;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=hc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11212+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=20999;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=kc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}fe(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11212+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=20840;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9036;c[H>>2]=9;c[I>>2]=11084;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=20756;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=20865;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=20865;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=20891;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=20928;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=20956;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=21074;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;fe(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=kc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=21052;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=20736;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=kc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=21022;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Ic(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=hc(j,h,k)|0;else h=kc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5992]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=24008+(b<<1<<2)|0;e=d+8|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[5996]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[5992]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5994]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=24008+(b<<1<<2)|0;e=d+8|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[5996]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5994]|0;break}else Za()}else{c[5992]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5997]|0;b=l>>>3;d=24008+(b<<1<<2)|0;a=c[5992]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{m=a;n=b}}else{c[5992]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5994]=h;c[5997]=e;N=j;i=O;return N|0}a=c[5993]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24272+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5996]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24272+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5993]=c[5993]&~(1<<a);break}}else{if(h>>>0<(c[5996]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5996]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5996]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5994]|0;if(a|0){f=c[5997]|0;b=a>>>3;e=24008+(b<<1<<2)|0;a=c[5992]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{r=a;s=b}}else{c[5992]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5994]=d;c[5997]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5993]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24272+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24272+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5994]|0)-q|0)>>>0:0){f=c[5996]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24272+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5993]=c[5993]&~(1<<a);break}}else{if(g>>>0<(c[5996]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5996]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5996]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=24008+(a<<1<<2)|0;b=c[5992]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{w=a;x=b}}else{c[5992]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24272+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5993]|0;b=1<<d;if(!(a&b)){c[5993]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5996]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5994]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5997]|0;if(a>>>0>15){N=b+q|0;c[5997]=N;c[5994]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5994]=0;c[5997]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5995]|0;if(a>>>0>q>>>0){L=a-q|0;c[5995]=L;N=c[5998]|0;M=N+q|0;c[5998]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6110]|0)){c[6112]=4096;c[6111]=4096;c[6113]=-1;c[6114]=-1;c[6115]=0;c[6103]=0;x=p&-16^1431655768;c[p>>2]=x;c[6110]=x}h=q+48|0;g=c[6112]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6102]|0;if(a|0?(w=c[6100]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6103]&4)){a=c[5998]|0;c:do if(a){d=24416;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5995]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6111]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6100]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6102]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6112]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6103]=c[6103]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6100]|0)+f|0;c[6100]=a;if(a>>>0>(c[6101]|0)>>>0)c[6101]=a;j=c[5998]|0;do if(j){e=24416;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5995]|0)|0;c[5998]=M;c[5995]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5999]=c[6114];break}a=c[5996]|0;if(h>>>0<a>>>0){c[5996]=h;k=h}else k=a;d=h+f|0;a=24416;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24416;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5997]|0)){N=(c[5994]|0)+g|0;c[5994]=N;c[5997]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24272+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5996]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5993]=c[5993]&~(1<<b);break e}while(0);e=c[5996]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5996]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=24008+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[5992]=c[5992]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=24008+(a<<1<<2)|0;b=c[5992]|0;a=1<<a;do if(!(b&a)){c[5992]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5996]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24272+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5993]|0;b=1<<d;if(!(a&b)){c[5993]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5996]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[5995]|0)+g|0;c[5995]=N;c[5998]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24416;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5998]=N;c[5995]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5999]=c[6114];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6104];c[a+4>>2]=c[6105];c[a+8>>2]=c[6106];c[a+12>>2]=c[6107];c[6104]=h;c[6105]=f;c[6107]=0;c[6106]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=24008+(a<<1<<2)|0;b=c[5992]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{J=a;K=b}}else{c[5992]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24272+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5993]|0;b=1<<d;if(!(a&b)){c[5993]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5996]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[5996]|0;if((N|0)==0|h>>>0<N>>>0)c[5996]=h;c[6104]=h;c[6105]=f;c[6107]=0;c[6001]=c[6110];c[6e3]=-1;a=0;do{N=24008+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5998]=M;c[5995]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5999]=c[6114]}while(0);a=c[5995]|0;if(a>>>0>q>>>0){L=a-q|0;c[5995]=L;N=c[5998]|0;M=N+q|0;c[5998]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(Oh()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0}while((Ti(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=ad(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23794+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ad(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23803+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ad(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=ad(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Oh()|0)>>2]=22;Uf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=ad(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ad(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;k=Gh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Gh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=ad(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Uf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Gh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=qc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Uf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=gh(o|0,n|0,2)|0;H=Gh(H|0,C|0,-32,-1)|0;e=Gh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Oh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(Oh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Gh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=qh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Gh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+ej(+Id(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Oh()|0)>>2]=34;g=+fj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ad(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Gh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Gh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=qc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Uf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Gh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Oh()|0)>>2]=22;Uf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Oh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(Oh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9004+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9004+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9004+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=gh(c[p>>2]|0,0,29)|0;o=Gh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=hi(o|0,n|0,1e9,0)|0;o=sg(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+ej(+Id(1.0,105-o|0),j);m=+nj(j,+Id(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+nj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Oh()|0)>>2]=34}while(0);g=+fj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Oh()|0)>>2]=22;Uf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Oh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Tc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[21102+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}pc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=kh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21582;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21582;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=qh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21582;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21582:21584;L=76}else{p=1;r=21583;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21582;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21582;o=N;break}case 109:{o=ge(c[(Oh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23484;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){xd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23492:23497}else{G=1;H=23494}else{q=-q;G=1;H=23491}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+gj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=_d(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21566+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;xd(e,32,K,r,I);if(!(c[e>>2]&32))Tc(y,w,e)|0;xd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Tc(ea,o,e)|0;f=ba-p|0;xd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Tc(t,f,e)|0;xd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=gh(c[r>>2]|0,0,t|0)|0;B=Gh(B|0,C|0,o|0,0)|0;o=C;A=sg(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=hi(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=_d(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;xd(e,32,K,w,I);if(!(c[e>>2]&32))Tc(H,G,e)|0;xd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=_d(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ie(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Tc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Tc(23522,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=_d(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ie(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Tc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}xd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=_d(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Tc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Tc(23522,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ie(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Tc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}xd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Tc(u,ba-u|0,e)|0}while(0);xd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;xd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Tc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Tc(s?(t?23803:23518):t?23510:23514,3,e)|0;xd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21582;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21566+(o&15)>>0]|r;o=kh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21582;L=77}else{o=t;t=2;r=21582+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21582;L=77}}else if((L|0)==76){f=_d(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Jc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21582;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=bi(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}xd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=bi(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Tc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;xd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;xd(e,32,o,s,p);if(!(c[e>>2]&32))Tc(v,w,e)|0;xd(e,48,o,s,p^65536);xd(e,48,r,t,0);if(!(c[e>>2]&32))Tc(f,t,e)|0;xd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;pc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Fj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Ti(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Uf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ad(e)|0}while((Ti(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Uf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((ad(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ie(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ie(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ad(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(xc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=ee(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(ii(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=ee(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Uf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ad(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Ti(d[m>>0]|0)|0))break;else n=m}Uf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ad(e)|0}while((Ti(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)Ej(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Gh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[35]|0)==0?(ef(c[a+8>>2]|0,19298)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Gh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Gh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Gh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Gh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=qh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Gh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=qh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=qh(k|0,j|0,f|0,d|0)|0;fe(b|0,B+f|0,o|0)|0;e=Gh(o|0,E|0,e|0,n|0)|0;f=C;d=qh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Gh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Dg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=$d(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Gh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=qh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[35]|0){y=Gh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Gh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=hi(k|0,j|0,w|0,0)|0;t=Gh(A|0,B|0,-1,-1)|0;t=Gh(t|0,C|0,w|0,0)|0;w=hi(t|0,C|0,w|0,0)|0;t=m+52|0;Df(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((Di(u,d,s)|0)<(s|0))f=0;else{cj(u);j=B;k=A;continue}while(1){o=Di(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Mi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Eg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Eg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Gh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=qh(f|0,j|0,p|0,q|0)|0;k=C;f=de(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Dg(Z,c[K>>2]|0,p,0)|0;cf(Z,c[K>>2]|0,f,j);di(W)}Sd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Dg(P,c[t>>2]|0,da+64|0,0)|0;cf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}cj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Dg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}ff(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Sh(19310,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;mh(4,19366,$);mh(4,19412,aa);S=0;T=0;break}else if((n|0)==36){ff(Z,j,f,h);S=ba;S=Gh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Gh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[35]|0:d;c[I>>2]=b;c[I+4>>2]=m;mh(4,19528,I);if(0){c[e>>2]=b;ah(0,19549,e)|0}c[h>>2]=0;c[n>>2]=0;ld(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){cj(d);u=Kh(19298)|0;c[h>>2]=u;cj(c[n>>2]|0);c[n>>2]=Kh(b)|0;j=1}else{u=d;j=0}h=u;g=$d(16)|0;do if(!(ef(u,19558)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=19558}else{if(!(ef(u,19793)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=19793;break}if(ef(u,18687)|0?ef(u,19954)|0:0){if(!(ef(u,19960)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=19960;break}if(!(ef(u,19298)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=19298;break}else{c[k>>2]=u;Sh(19996,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=18687}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[35]|0?(l=(te(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){di(o);cj(u);cj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=$d(312)|0;c[d+4>>2]=Kh(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;Zc(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[35]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(Eh(c[g>>2]|0)|0))t=29;else{ae(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[35]|0;if(g){Ad(c[d+40>>2]|0);p=d+44|0;n=zc(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(Eh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;mh(4,20085,s);Zh(G);sf(c[p>>2]|0)|0;sf(c[K>>2]|0)|0;g=d+52|0;if(Eh(c[g>>2]|0)|0)sf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];mh(4,20176,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Ed(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=Gh(h|0,k|0,8191,0)|0;k=kh(k|0,C|0,13)|0;Ve(j,A,4);Ve(j,x,4);Ve(j,I,8);Ve(j,v,8);Ve(j,w,4);Ve(j,y,4);Ve(j,z,8);Ve(j,z,8);Ve(j,z,8);Ve(j,z,8);g=d+136|0;h=Dg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Sh(20226,D)}a[E>>0]=0;Dg(g,j,((k+7|0)/8|0)+-1|0,1)|0;cf(g,j,E,1);Vf(B);c[B>>2]=Ed(c[d+48>>2]|0,577)|0;Vf(B);g=zc(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Sh(20293,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=vf(c[f+52>>2]|0,0,1)|0;Fd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=Gh(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=kh(H|0,C|0,13)|0;H=(Di(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Dg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Ed(c[d+48>>2]|0,2)|0;if(kg(18687,u)|0){c[I>>2]=0;j=d+52|0;if(Eh(c[j>>2]|0)|0)cg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;sf(c[j>>2]|0)|0;break}else{if(!(Fg(g,h)|0))break;K=Xf(c[j>>2]|0,20323)|0;H=c[f>>2]|0;Hg(K,H,Md(H)|0);Lg(K,c[j>>2]|0)|0;cj(K);break}}else c[d+132>>2]=Kh(c[I>>2]|0)|0;while(0);cj(c[I>>2]|0)}}}else{if(!(Eh(b)|0)){d=0;break}K=Ed(b,0)|0;c[d+56>>2]=K;re(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}cj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[5996]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[5997]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5994]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=24008+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[5992]=c[5992]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=24272+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5993]=c[5993]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5996]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5996]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5996]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[5998]|0)){p=(c[5995]|0)+g|0;c[5995]=p;c[5998]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5997]|0))return;c[5997]=0;c[5994]=0;return}if((m|0)==(c[5997]|0)){p=(c[5994]|0)+g|0;c[5994]=p;c[5997]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=24272+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5993]=c[5993]&~(1<<a);break}}else{if(f>>>0<(c[5996]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5996]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5996]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=24008+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5996]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[5992]=c[5992]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5996]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5997]|0)){c[5994]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=24008+(a<<1<<2)|0;b=c[5992]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5996]|0)>>>0)Za();else{o=a;p=b}}else{c[5992]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24272+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5993]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5996]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5996]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[5993]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6e3]|0)+-1|0;c[6e3]=q;if(!q)a=24424;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6e3]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10800;C=256;D=10926}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11250;C=-1;D=11376}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5996]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[5997]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5994]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=24008+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[5992]=c[5992]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=24272+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5993]=c[5993]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5996]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5996]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5996]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5996]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5998]|0)){q=(c[5995]|0)+g|0;c[5995]=q;c[5998]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5997]|0))return;c[5997]=0;c[5994]=0;return}if((o|0)==(c[5997]|0)){q=(c[5994]|0)+g|0;c[5994]=q;c[5997]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=24272+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5993]=c[5993]&~(1<<d);break}}else{if(f>>>0<(c[5996]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5996]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5996]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=24008+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[5992]=c[5992]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5997]|0)){c[5994]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=24008+(d<<1<<2)|0;a=c[5992]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5996]|0)>>>0)Za();else{p=d;q=a}}else{c[5992]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24272+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5993]|0;a=1<<b;if(!(d&a)){c[5993]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5996]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5996]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Le(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Jc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Oh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0}while((Ti(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=ad(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ad(b)|0;if((d[23529+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Uf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23529+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Uf(b,0);c[(Oh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ad(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Eg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Gh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23785+((e*23|0)>>>5&7)>>0]|0;j=a[23529+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23529+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=kh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=gh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23529+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23529+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23529+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=hi(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Eg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Gh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23529+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23529+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0}while((d[23529+i>>0]|0)>>>0<e>>>0);c[(Oh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Oh()|0)>>2]=34;g=Gh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Oh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=qh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=21022;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=21052;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=21074;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ke(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(ef(r,17e3)|0)){j=g;h=k;N=4;break}s=Wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Ti(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Md(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Ni(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)pi(Q,o,(m|0)==0?17422:m)|0;else{l=Rg(o,f)|0;if(!l){l=Rg(o,76)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}ki(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}ji(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+$i(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+$i(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17422:m;l=Rg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=Ih(Q,o)|0;l=rh(m)|0;if(!n){pi(Q,o,l)|0;break}else{hh(n,l);break}}pi(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Sh(17011,z);break}case 34:{c[A>>2]=o;Sh(17037,A);break}case 36:{c[K>>2]=o;Sh(17076,K);break}case 38:{c[L>>2]=o;Sh(17112,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Sh(17145,B);break}case 43:{c[C>>2]=o;Sh(17112,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Sh(17187,D);break}case 48:{c[E>>2]=o;Sh(17231,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Sh(17266,F);break}case 53:{c[G>>2]=o;Sh(17306,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Sh(17342,H);break}case 57:{c[I>>2]=c[l>>2];Sh(17383,I);break}case 65:{Sh(17425,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,13657)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Ke(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(mg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(Oh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(kg(14469,f)|0))m=c[F>>2]|0;else{Ff(F)|0;f=Ff(F)|0;if(!f){O=20;break a}if((((kg(15109,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(ef(f,15112)|0)if(ef(f,15116)|0){if(I?(g=ef(f,15120)|0,!((H|g|0)==0&G)):0)if(!(ef(f,15124)|0)){f=o;break}else{O=30;break a}if(!(ef(f,15211)|0)){O=34;break a}if(!(ef(f,15120)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=lh(f+1|0)|0}if(!(kf(m,15263)|0)){if(o|0)c[e>>2]=Kh(f)|0;if(k)h=Kh(f)|0}}while(!(I&(kf(m,15272)|0)==0));if((kg(15286,f)|0)!=0?(q=(Wh(f,32)|0)+1|0,r=Wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=jd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=jd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=ge(f)|0;c[z+4>>2]=d;Ah(14920,z);f=0;break}case 10:{c[v>>2]=d;Ah(14957,v);f=0;break}case 11:{c[x>>2]=d;Ah(15013,x);f=0;break}case 15:{c[y>>2]=2e3;Ah(15045,y);f=0;break}case 20:{c[u>>2]=d;Ah(15083,u);f=0;break}case 30:{if(!g)Ah(15128,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Ah(15171,E);f=0;break}case 34:{c[w>>2]=d;Ah(15215,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Ah(15240,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Pg(N,256,13759,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Ah(15293,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24592:15387;c[K+8>>2]=f?15112:15116;c[K+12>>2]=h|0?h:15403;Ah(15413,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Pg(N,256,13759,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Ah(15454,M);f=0}break}}i=P;return f|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=ti(h)|0;c[b+16>>2]=e;f=td(c[f>>2]|0)|0;if(!f){s=0;break}s=Md(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;cj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}je(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Jf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=hg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;je(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Yf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Od(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Sh(18239,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Od(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Od(b,f);s=1}else s=1}while(0);i=y;return s|0}function Zb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((kg(18302,b)|0)==0?(kg(18310,b)|0)==0:0)?(kg(18319,b)|0)==0:0){c[j>>2]=b;Sh(18382,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;mh(4,18326,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=qh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;mh(4,18617,m);Vf(x);j=h+128|0;if((c[j>>2]|0)>0)Vf(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;mh(4,18464,n);j=h+256|0;k=c[x>>2]|0;if(!(c[5978]|0)){c[5978]=$d(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=af(j,k,c[5978]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=qh(l|0,m|0,n|0,I|0)|0;J=C;I=Gh(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;Sf(18513,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=Gh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Sh(18566,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=Gh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=he(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;Pg(y,2048,18668,z)|0;j=ec(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(kg(18687,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Hc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){cj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Sh(18692,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=af(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)Sf(18721,G);else F=j;K=h+120|0;J=K;J=Gh(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function _b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5996]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6112]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[5998]|0)){d=(c[5995]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5998]=l;c[5995]=m;return a|0}if((k|0)==(c[5997]|0)){e=(c[5994]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5994]=d;c[5997]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=24272+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5993]=c[5993]&~(1<<d);break}}else{if(h>>>0<(c[5996]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5996]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5996]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=24008+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[5992]=c[5992]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function $b(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;ah(0,20346,b)|0}b=d+112|0;if(c[b>>2]|0)Vf(b);b=d+128|0;if(c[b>>2]|0)Vf(b);cj(c[d+4>>2]|0);cj(c[d+8>>2]|0);di(d+12|0);cj(c[d+40>>2]|0);cj(c[d+44>>2]|0);cj(c[d+48>>2]|0);cj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Vf(b);Zh(d+80|0)}di(a);i=e;return}function ac(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(12158,12178,448,12194);h=ya()|0;c[s>>2]=h;if((h|0)<0)Sf(12207,l);if(h|0)if(!(Jg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Sf(12745,k)}r=Yh()|0;c[s>>2]=r;if(Jg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Sf(12218,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=xg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Mf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Qf(t);if(c[k>>2]|0)Qf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Sf(12207,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){id(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Sf(12452,o)}id(k,0,h,e);h=lg(1,f,g)|0;if((h|0)<0)Sf(12363,p);if((h|0)==(g|0)){Qg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Sh(12398,q)}}else if((b|0)==28){Qg(0)|0;Qg(1)|0;jh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Mf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Sf(12525,u);else if((b|0)==35){c[v>>2]=h;Sh(12540,v)}else if((b|0)==39){v=Ne(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Sh(12570,w)}else if((b|0)==41)Da(12625,12178,242,12649);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2114]|0;v=Ne(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;ah(h,12668,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12715,12178,396,12735);else if((b|0)==49)_a(0)}}function bc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Nf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Nf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Gh(m|0,l|0,-1,-1)|0;d=C;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;qh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=qh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Je(a,b,d)|0){b=yh()|0;if((b|0)>=0){if((Qd(b,1)|0)<0){Qg(b)|0;b=-1;break}b:do if(($e(b,d,16)|0)<0){n=Oh()|0;d=c[n>>2]|0;if((d|0)!=115){w=ge(d)|0;c[e>>2]=d;c[e+4>>2]=w;Ah(13593,e);Qg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Bf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=ge(d)|0;c[t>>2]=d;c[t+4>>2]=C;Ah(13369,t);Qg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Ah(13501,u);Qg(b)|0;e=23;break}c[r>>2]=4;do if((Oe(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=ge(d)|0;c[w>>2]=d;c[w+4>>2]=C;Ah(13457,w);Qg(b)|0;break}}else{B=c[n>>2]|0;C=ge(B)|0;c[v>>2]=B;c[v+4>>2]=C;Ah(13427,v);Qg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Qd(b,0)|0)<0){Qg(b)|0;b=-1;break}if((hf(b,120)|0)<0){Qg(b)|0;b=-1}}}else b=-1;else{Ah(13249,x+24|0);b=-1}while(0);i=x;return b|0}function dc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Jf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ie(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(dc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(Oh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,13653)|0))e=Ye(b,0,r)|0;else{if((kg(18302,b)|0)==0?(kg(18310,b)|0)==0:0){if(!(kg(18319,b)|0)){c[g>>2]=b;Sh(14853,g)}jc(b,o);if(ef(o,19960)|0){c[f>>2]=b;Sh(14516,f)}b=o+4112|0;g=kd(b,Jd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(Mh(g,14563,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,Pg(m,256,14570,j)|0,(Mh(g,m,0,0)|0)==0):0){Qg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Md(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14582:14587;c[k+4>>2]=j;Pg(m,256,14592,k)|0;Ai(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Wh(j,40)|0;a[(Wh(j,41)|0)>>0]=0;if((ye(s+1|0,14600,k,7)|0)!=6)Sh(14602,h);f=(Jd(c[k+16>>2]|0)|0)<<8;f=cc(b,(Jd(c[k+20>>2]|0)|0)+f|0)|0;Uh(l);if((f|0)<0){Qg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((md(f,1e6)|0)>0){b=26;break}if((md(g,0)|0)>0?(vc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Ah(14638,n);Qg(g)|0;Qg(f)|0;e=-1;break}else if((b|0)==24){Qg(g)|0;Qg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}pd(c[2143]|0)|0;pd(c[2084]|0)|0;pd(c[2114]|0)|0;b=$d(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;fe(b+20|0,o|0,10280)|0;f=b+4|0;if(nh(f)|0){c[p>>2]=ge(c[(Oh()|0)>>2]|0)|0;Sh(14703,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=ge(b)|0;c[q>>2]=b;c[q+4>>2]=s;Sh(14807,q)}}}else{Qg(g)|0;e=-1}while(0)}break}e=li(b,14497,0)|0}while(0);i=r;return e|0}function fc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kh(d|0,m|0,52)|0;e=e&2047;j=kh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=gh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=gh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=gh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=gh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=gh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=gh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=gh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=gh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=qh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=gh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=qh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=gh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Gh(d|0,f|0,0,-1048576)|0;d=C;e=gh(e|0,0,52)|0;d=d|C;e=o|e}else{e=kh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function gc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+32|0;D=G+24|0;B=G+20|0;z=G+16|0;y=G+12|0;x=G+8|0;E=G+4|0;A=G;c[D>>2]=0;Wf(a);h=ze(a,c[a+96>>2]|0,b,d|0?d+-1|0:0,e+1|0,B)|0;c[z>>2]=h;w=c[a+8>>2]|0;v=c[a+16>>2]|0;u=a+80|0;b=c[u>>2]|0;if(!b)t=0;else{t=de(b)|0;h=c[z>>2]|0}c[E>>2]=0;a:do if(h|0){q=(t|0)==0;r=(f|0)<1;s=(f|0)>0;b=0;do{qe(h,y,x);n=h+8|0;m=c[n>>2]|0;n=c[n+4>>2]|0;o=c[y>>2]|0;l=o+8|0;o=o+16|0;p=c[o>>2]|0;o=c[o+4>>2]|0;l=qh(c[l>>2]|0,c[l+4>>2]|0,m|0,n|0)|0;o=Gh(l|0,C|0,p|0,o|0)|0;p=C;yf(w,m,n);n=de(o)|0;c[E>>2]=n;Ae(w,n,o,p);p=c[E>>2]|0;while(1){if((h|0)==(c[x>>2]|0))break;o=h+16|0;a=c[o>>2]|0;if(q){c[A>>2]=p;j=p;n=p+a|0}else{c[A>>2]=t;n=Te(p,a,t,c[u>>2]|0)|0;m=c[A>>2]|0;j=m;n=m+n|0}l=b;b:while(1){if(j>>>0>=n>>>0){b=l;break}a=eg(A,v)|0;j=eg(A,v)|0;k=eg(A,v)|0;b=c[A>>2]|0;m=Md(b)|0;do if((a|0)==(c[B>>2]|0)){if(!(j>>>0<e>>>0&k>>>0>d>>>0)){if((j|0)!=(k|0)){a=b;b=l;break}if(!((j|0)==(e|0)|(j|0)==(d|0))){a=b;b=l;break}}b=l+1|0;if(!(r|(l|0)<(f|0)))break b;a=of(g,20)|0;c[a+4>>2]=j;c[a+8>>2]=k;if((m|0)>0)c[a+12>>2]=sh(g,c[A>>2]|0,m)|0;c[a+16>>2]=c[B>>2];c[a>>2]=c[D>>2];c[D>>2]=a;a=c[A>>2]|0}else{a=b;b=l}while(0);j=a+(m+1)|0;c[A>>2]=j;l=b}if(s&(b|0)>(f|0)){F=22;break}h=c[h>>2]|0;p=p+(c[o>>2]|0)|0}if((F|0)==22)F=0;if(s&(b|0)>(f|0))break a;di(E)}while((h|0)!=0)}while(0);di(E);cj(t);ih(z);Cg(D);i=G;return c[D>>2]|0}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;jc(b,h);if(ef(h,19960)|0){c[g>>2]=b;Sh(13782,g)}b=h+6176|0;if(ef(b,19493)|0){p=kd(h+4112|0,Jd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;Pg(k,256,13940,q)|0;c[t>>2]=0;do if(Mh(p,k,t,0)|0){if((ye(c[(c[t>>2]|0)+4>>2]|0,13669,l,3)|0)!=2)Sh(13950,j);n=l+4|0;j=jd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Uh(t);c[s>>2]=b;Pg(k,256,13986,s)|0;if(!(Mh(p,k,t,0)|0)){Qg(p)|0;f=0;break}b=ye(c[(c[t>>2]|0)+4>>2]|0,13669,l,3)|0;if((b|0)!=2){c[m>>2]=b;Sh(13996,m)}j=c[n>>2]|0;if((Md(j)|0)>>>0<14){c[o>>2]=j;Sh(14038,o)}b=s;g=14087;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14107,q|0)|0)){c[r>>2]=s;Sh(14125,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Sh(14158,u)}else{c[e>>2]=b;Uh(t);Qg(p)|0;f=1;break}}else{Qg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Md(b)|0)>>>0>4095){c[e>>2]=b;Sh(13634,e)}Wi(f,b)|0;Ph(f)|0;b=Tb(f,13653)|0;if(!b){a[d>>0]=a[18687]|0;a[d+1>>0]=a[18688]|0;a[d+2>>0]=a[18689]|0;a[d+3>>0]=a[18690]|0;a[d+4>>0]=a[18691]|0}else{a[b>>0]=0;_g(f)|0;tf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Wh(f,47)|0;if(g){Ke(g,b,e,1);if(!((kf(d,18687)|0)!=0?(kf(d,19954)|0)!=0:0)){e=Gd(g,13669,13671)|0;tf(d+6176|0,4096,e);cj(e)}a[g>>0]=0;if(!(kf(d,19960)|0)){g=g+1|0;Ld(g,d+6176|0,Md(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Wh(f,64)|0;if(!g){if(!((kf(d,18687)|0)!=0?(kf(d,19954)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(kf(d,19960)|0)){b=d+16|0;e=13675;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13685;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Wh(f,58)|0;if(!b){e=d+16|0;tf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;tf(e,2048,f);f=d+2064|0;tf(f,2048,b+1|0);b=f}wd(e,e,Md(e)|0);wd(b,b,Md(b)|0);f=g+1|0}b=Wh(f,58)|0;do if(!b){if(!(kf(d,18687)|0)){h=d+6160|0;a[h>>0]=a[13703]|0;a[h+1>>0]=a[13704]|0;a[h+2>>0]=a[13705]|0}if(!(kf(d,19954)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(kf(d,19960)|0)){h=d+6160|0;a[h>>0]=a[13706]|0;a[h+1>>0]=a[13707]|0;a[h+2>>0]=a[13708]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){tf(d+6160|0,16,e);break}else{c[h>>2]=e;Sh(13709,h)}}while(0);tf(d+4112|0,2048,f);i=j;return}function kc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[144+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2192+((a>>>8&255)<<2)>>2]^c[3216+((a&255)<<2)>>2]^c[1168+((a>>>16&255)<<2)>>2]^c[144+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[144+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function lc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;yf(t,f,g);Ae(t,s,1,0);Ae(t,w+32|0,1,0);u=c[b+12>>2]|0;v=rg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;mh(3,16449,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=qg(t,u)|0;c[p+(f<<2)>>2]=qg(t,u)|0;c[q+(f<<2)>>2]=qg(t,u)|0;c[r+(f<<2)>>2]=qg(t,u)|0;g=zf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(Ze(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;lc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=qg(t,u)|0;s=qg(t,u)|0;e=qg(t,u)|0;b=qg(t,u)|0;f=zf(t,u)|0;g=C;m=zf(t,u)|0;n=C;if(Ze(h,j,k,r,s,e,b)|0){b=$d(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function mc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=_h(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=_h(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=_h(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=_h(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=_h(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=_h(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=_h(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function nc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=xh(512)|0;jc(b,s);h=ab(14277)|0;p=(h|0)!=0;if(p){jc(h,q);fe(r|0,q|0,10280)|0;h=Pe(r,b)|0}else{fe(r|0,s|0,10280)|0;h=Pe(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=Kh(b)|0;j=Hi(b,59)|0;if((j|0)!=0?(kg(13657,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;bh(k,14288,l);cj(b);c[m>>2]=f;bh(k,14299,m);if((ef(s,18687)|0)==0?(ef(13703,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((ef(s,19954)|0)==0?(ef(13738,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;bh(k,14327,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;bh(k,14316,n)}b=c[t>>2]|0;fe(r|0,s|0,10280)|0;me(r,14341,b);if(p){fe(r|0,q|0,10280)|0;me(r,14355,b);k=c[t>>2]|0}else k=b;Bi(k,14375);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;bh(k,14414,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;bh(k,14389,u);break}}while(0);if(g|0)Bi(c[t>>2]|0,g);v=c[t>>2]|0;Bi(v,14435);Ve(h,c[v+4>>2]|0,c[v+12>>2]|0);Uh(t)}i=w;return h|0}function oc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=$d(120)|0;c[l+4>>2]=Kh(a)|0;m=vg(a,Dj()|0)|0;c[l+8>>2]=m;Ae(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=hj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Sh(20555,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=rg(m,n)|0;g=l+26|0;b[g>>1]=rg(m,n)|0;h=zf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=zf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=zf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=rg(m,n)|0;b[l+58>>1]=rg(m,n)|0;j=zf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=zf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=qg(m,n)|0;j=zf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=$d(32)|0;c[j+4>>2]=qg(m,n)|0;c[j+8>>2]=qg(m,n)|0;p=zf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=zf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Cg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){yf(m,g,h);b[l+104>>1]=rg(m,n)|0;b[l+106>>1]=rg(m,n)|0;p=zf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;yf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=cd(a,m)|0;i=o;return l|0}function pc(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 qc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Eg(f|0,b|0,10,0)|0;f=C;e=Gh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Gh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=qh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;mh(4,18763,p);f=b+36|0;e=0;while(1){d=ke(0,1)|0;c[p>>2]=d;d=Qi(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=zh(c[p>>2]|0,18849)|0;c[f>>2]=Kh(d)|0;d=he(a,d)|0;Pd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;Ah(18796,g);n=0}else if((h|0)==7){d=zh(c[p>>2]|0,18859)|0;do if(!d){d=se(a)|0;e=C;if((e|0)<0){Pd(p);c[j>>2]=a;Sh(18875,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=jd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=zh(c[p>>2]|0,18942)|0;if(!d){d=zh(c[p>>2]|0,18957)|0;if(!d){Pd(p);c[m>>2]=a;Sh(18963,m)}else o=d}else o=d;if(!(Ua(o|0,19038,k|0)|0)){Pd(p);c[l>>2]=o;Sh(19063,l)}d=qf(k)|0;if((d|0)==-1){Pd(p);c[q>>2]=o;Sh(19105,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Pd(p);n=200;break}}while(0);i=r;return n|0}function sc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;yf(c[t>>2]|0,d,e);Ae(c[t>>2]|0,o,1,0);Ae(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=rg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Ae(c[t>>2]|0,r,q,h);e=zf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=Le(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Ae(c[t>>2]|0,r,q,h);e=zf(c[t>>2]|0,p)|0;d=C;j=Le(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=ti(c[t>>2]|0)|0;m=C;sc(b,k,l,f,g);yf(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}sc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Ae(c[t>>2]|0,r,q,d);Ae(c[t>>2]|0,j,c[h>>2]|0,0);if(!(Le(f,r,q)|0))Hh(g,$h(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function tc(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[5979]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=_h(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=_h(yb(146,m|0)|0)|0;la(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 uc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Jc(23524,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5980]|0))c[e+76>>2]=-1;mb(23944);f=c[5985]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5985]=e;eb(23944)}}else{c[(Oh()|0)>>2]=22;e=0}i=o;return e|0}function vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=xh(4096)|0;while(1){if((md(b,1e6)|0)<=0){j=3;break}g=mg(b,m,4096)|0;if(g){_e(c[o>>2]|0,m,g);if(!(eh(c[(c[o>>2]|0)+4>>2]|0,13866)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Md(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Md(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Ah(13822,n);g=0}else if((j|0)==18){g=Jd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Ah(13868,p);g=0;break}if(!e)Uh(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function wc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;yf(c[n>>2]|0,d,e);Ae(c[n>>2]|0,p,1,0);Ae(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=rg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Ae(c[n>>2]|0,l,c[k>>2]|0,0);q=zf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;wc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Ae(c[n>>2]|0,l,c[k>>2]|0,0);Ae(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function xc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23964:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8688+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Oh()|0)>>2]=84;f=-1}i=l;return f|0}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=mg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Gh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=qh(1,0,g|0,e|0)|0;b=Gh(b|0,C|0,d|0,h|0)|0}r=(lg(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Gh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Gh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Hf(14751,l);if((b|0)==-1)Hf(14782,o);Qg(c[m>>2]|0)|0;Qg(c[a+12>>2]|0)|0;Qg(c[n>>2]|0)|0;i=q;return 0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=Ye(a,2,h)|0;if((e|0)<0)if((c[(Oh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;Sf(20035,d)}else{re(e,h)|0;if((c[h+36>>2]|0)<64){Qg(e)|0;b=0}else{Fd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=hj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Sh(20058,j)}}else f=0;b=$d(56)|0;c[b+4>>2]=og(e,f)|0;g=wf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=wf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=og(e,f)|0;og(e,f)|0;wf(e,f)|0;wf(e,f)|0;wf(e,f)|0;wf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Ac(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n+16|0;l=n;g=n+32|0;j=n+28|0;h=n+24|0;k=n+20|0;f=Xi(a)|0;c[g>>2]=f;c[j>>2]=dd(b,18099)|0;f=ug(f)|0;c[h>>2]=f;while(1){if(!f)break;a=c[5956]|0;e=c[f+4>>2]|0;if(!((a|0)!=0?(ef(a,e)|0)!=0:0)){b=c[2]|0;b=(b|0)>0?b:0;d=c[3]|0;d=(d|0)>0?d:c[f+12>>2]|0;a=c[5957]|0;if(a){if((a|0)<1)break}else a=0;o=Sg(0)|0;c[k>>2]=o;d=gc(c[g>>2]|0,e,b,d,a,o)|0;while(1){if(!d)break;a=c[j>>2]|0;o=c[d+4>>2]|0;b=c[d+8>>2]|0;c[l>>2]=e;c[l+4>>2]=o;c[l+8>>2]=b;ah(a,11922,l)|0;a=c[d+12>>2]|0;b=c[j>>2]|0;if(!a)Bd(10,b)|0;else{c[m>>2]=a;ah(b,11931,m)|0}d=c[d>>2]|0}Qh(k)}f=c[f>>2]|0}Tf(h);ri(j);gg(g);i=n;return}function Bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Cd(b);break}if((Qg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Sh(12903,k)}}else{if(!(c[a+20>>2]&2)){if(Gg(d)|0){c[f>>2]=c[a+12>>2];Sh(12872,f)}}else{pd(d)|0;if(Gg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Sh(12842,e)}}if((ne(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Sh(12903,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Sf(12525,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Sh(12933,l)}if(b|0)Da(12974,12178,435,12992);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Sh(13008,m)}i=n;return d>>>8&255|0}function Cc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Fj(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Ej(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Dc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;yf(c[n>>2]|0,d,e);Ae(c[n>>2]|0,h,1,0);Ae(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=rg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Ae(c[n>>2]|0,l,d,0);e=zf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Ae(c[n>>2]|0,l,c[k>>2]|0,0);if((Le(f,l,c[k>>2]|0)|0)<0)break;e=zf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Dc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Ae(c[n>>2]|0,l,d,0);Ae(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(Le(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=Kh(24592)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Ni(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=$d(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Ni(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;Pg(h,4,11972,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ie(b|0,0,e|0)|0;return b|0}function Gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=xh(512)|0;c[h>>2]=f;Bi(f,b);Bi(f,13653);d=b+16|0;if(a[d>>0]|0){d=Ec(d)|0;Bi(f,d);cj(d);d=b+2064|0;if(a[d>>0]|0){Bi(f,13734);d=Ec(d)|0;Bi(f,d);cj(d)}Bi(f,13736)}Bi(f,b+4112|0);if(!((ef(b,19960)|0)==0?!(ef(13706,b+6160|0)|0):0))e=7;do if((e|0)==7){if((ef(b,18687)|0)==0?(ef(13703,b+6160|0)|0)==0:0)break;d=b+6160|0;if((ef(b,19954)|0)==0?(ef(13738,d)|0)==0:0)break;Bi(f,13734);Bi(f,d)}while(0);Bi(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,bh(f,13742,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;bh(f,13759,k)}k=Yg(h)|0;i=l;return k|0}function Hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}Qg(a)|0;if((h|0)>0)cj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((kg(18302,f)|0)==0?(kg(18310,f)|0)==0:0){g=11;break}f=he(g,f)|0;c[j>>2]=f;a=ec(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Ah(15502,k);g=14}else if((g|0)==11){c[l>>2]=f;Ah(15556,l);g=14}else if((g|0)==13){c[m>>2]=f;Ah(20329,m);g=14}if((g|0)==14)if((b|0)>0){cj(f);b=0}else b=0;i=n;return b|0}function Ic(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){fe(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;fe(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){fe(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Jc(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|0)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?b:0)|0}function Kc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=_h(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(Oh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=_h(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;mc(e,2,j)|0}if(b&2048){c[h>>2]=mc(e,3,k)|0|2048;mc(e,4,h)|0}}}}while(0);i=l;return e|0}function Lc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5979]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=_h(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=_h(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Oc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16319,16371,388,16383);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=gi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Cg(b);d=d+1|0}cj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ae(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=hj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Sh(16405,j)}}else f=0;c[d+24>>2]=qg(b,f)|0;j=zf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=qg(b,f)|0;c[d+44>>2]=qg(b,f)|0;c[d+48>>2]=qg(b,f)|0;c[d+52>>2]=qg(b,f)|0;g=zf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=qg(b,f)|0;Ae(b,h,4,0);b=ti(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Qc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;mh(4,19798,p);yg(500);l=a+5|0;k=dd(l,19705)|0;c[p>>2]=k;Oi(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}yg(250);g=e-j|0;g=gf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;mh(4,19851,m);if(Gg(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;Ah(19873,o);c[n>>2]=l;Sf(19757,n)}else if((g|0)==6){ri(p);i=q;return a|0}return 0}function Rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=$d(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=xh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){Bi(e,12106);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){Bi(e,13669);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}Bi(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Yg(j)|0;if(!(c[a>>2]|0))Sh(12110,k);if(!(b&8))e=0;else{hh(l,we(64,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;hh(l,we(d,l)|0);e=e+1|0}i=m;return l|0}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Fj(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;fe(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(be(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Ej(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Ej(f);return e|0}function Tc(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(!(bf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);fe(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 Uc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{fe(l|0,b|0,d|0)|0;Ie(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Sh(16927,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Dc(a,j,k,l,g)|0;else{sc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Wc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Md(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=$d(16)|0;else l=of(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=Ci(d,e)|0;else{k=of(h,e+1|0)|0;c[l+4>>2]=k;fe(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Oc(b,Jh(m)|0);return l|0}function Yc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Kj()|0;zj(23832)|0;if((c[5965]|0)!=0&(a|0)==(c[5966]|0)){lg(2,13032,61)|0;_a(1)}xj(23832)|0;zj(23868)|0;zj(23832)|0;c[5966]=a;c[5965]=1;xj(23832)|0;if(!(c[5974]|0))c[5974]=ke(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Pg(d,64,13759,b)|0;a=Qe(c[5974]|0,d)|0;if(!a){a=$d(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=pi(c[5974]|0,d,a)|0}zj(23832)|0;c[5965]=0;xj(23832)|0;xj(23868)|0;i=e;return c[a+8>>2]|0}function Zc(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=xh(Md(f)|0)|0;c[j>>2]=g;h=f;f=Wh(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;Bi(g,h);Bi(g,19493);m=f+1|0;h=m;f=Wh(m,47)|0}Bi(g,h);f=Yg(j)|0;j=Md(d)|0;m=Md(e)|0;m=j+3+m+(Md(f)|0)|0;j=$d(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;Pg(j,m,19495,k)|0;c[b+44>>2]=Rf(b,19504)|0;c[b+48>>2]=Rf(b,19511)|0;c[b+52>>2]=Rf(b,19522)|0}i=l;return}function _c(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=li(b,d,0)|0;if((d|0)>-1){b=pg(b,1,d)|0;c[h>>2]=b;a:do if((((Yb(b,g,0)|0)!=0?(kg(14469,c[g>>2]|0)|0)!=0:0)?(Ff(g)|0,f=Ff(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Jd(f)|0;if(e)while(1){if(!(Yb(c[h>>2]|0,g,0)|0))break a;f=Ff(g)|0;if(!f)break a;b=Zg(f)|0;pi(e,b,Kh(lh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Cd(h)}else d=c[(Oh()|0)>>2]|0;i=j;return d|0}function ad(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Lf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8892;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Oh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Cc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ae(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=hj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Sh(16888,j)}}else f=0;c[d+12>>2]=qg(b,f)|0;c[d+16>>2]=qg(b,f)|0;c[d+20>>2]=qg(b,f)|0;g=zf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Ae(b,h,4,0);Ae(b,h,4,0);b=ti(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(ef(b,18229)|0){if(!(ef(b,15713)|0)){f=c[2084]|0;break}e=Td(b,d)|0;if(!e){a:do if(!d)e=24592;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15741;break a}case 119:{e=15731;break a}default:{e=e<<24>>24==97?15720:24592;break a}}}while(0);d=ge(c[(Oh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Sh(15750,g)}else f=e}else f=c[2143]|0;while(0);i=h;return f|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;ld(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=$d(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;Zc(a,b,h,d);c[e>>2]=0;b=a+44|0;j=rh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=rh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=rh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Cg(e);cj(c[a+40>>2]|0);cj(c[b>>2]|0);cj(c[f>>2]|0);cj(a);cj(h);cj(d);d=c[e>>2]|0}i=g;return d|0}function fd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Se(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=oj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;vj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Ah(15627,f);b=0;break}}else{df(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function gd(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=$d(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20490+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20490+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20490+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20490+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function hd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[17935+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[17935+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Sf(12251,k);l=Yh()|0;if(Jg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Sf(12274,f)}if(b|0?(Zf(b,0)|0)<0:0)Sf(12301,g);if((d|0)!=1?(Zf(d,1)|0)<0:0)Sf(12321,h);if((e|0)!=2?(Zf(e,2)|0)<0:0)Sf(12342,j);jh();i=k;return}function jd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Ti(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Eg(c|0,d|0,10,0)|0;b=b+1|0;c=qh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=qh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function kd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=cc(a,b)|0;if((a|0)<0)a=-1;else{if((md(a,1e6)|0)>0)Mh(a,24592,0,0)|0;c[g>>2]=0;c[h>>2]=d;Pg(f,256,13911,h)|0;do if(Mh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,Pg(f,256,13921,j)|0,(Mh(a,f,0,0)|0)==0):0){Qg(a)|0;a=-1;break}if(!(Mh(a,13931,0,0)|0)){Qg(a)|0;a=-1}}else{Qg(a)|0;a=-1}while(0)}i=k;return a|0}function ld(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Wh(b,58)|0;if(!h)h=0;else{m=Ci(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Wh(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){pe(l,1024,b,k+1-b|0);c[g>>2]=Hd(l)|0}j=Wh(b,47)|0;if(!j)j=b+(Md(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Hd(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Bf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(Oh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=ge(a)|0;Ah(13764,m)}i=n;return a|0}function nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Ye(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=$d(5)|0;c[g>>2]=f;if((mg(e,f,4)|0)<4)di(g);else a[f+4>>0]=0;Qg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Xd(e)|0,di(h),(g|0)!=0):0){h=wg(Fe(b)|0,33,b,0)|0;e=pg(b,d,mj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function od(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Nc(g,20635,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ie(g)|0;i=j;return h|0}ie(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function pd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Wd(a)|0;break}d=(Fj(a)|0)==0;b=Wd(a)|0;if(!d)Ej(a)}else{if(!(c[2113]|0))b=0;else b=pd(c[2113]|0)|0;mb(23944);a=c[5985]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Fj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Wd(a)|0|b;if(d|0)Ej(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(23944)}while(0);return b|0}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Of(e,0)|0;c[n>>2]=g;ig(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Of(d,e)|0;else if(!f){e=Ye(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Sf(12811,k)}else j=e}else j=0;c[m>>2]=j;e=mf(a,b,j,g)|0;Qf(m);if(!l)Qf(n);i=o;return e|0}function rd(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[(Oh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function sd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Yh()|0;c[g>>2]=f;Pg(a,256,17687,g)|0;d=Ue(a,1)|0;c[g>>2]=d;if(!d){j=c[2114]|0;c[b>>2]=a;ah(j,17724,b)|0;a=j}else{while(1){if(!(bg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,17703)|0){j=5;break}}if((j|0)==5){j=c[2114]|0;c[h>>2]=f;c[h+4>>2]=a;ah(j,17710,h)|0}Cd(g);a=c[2114]|0}pd(a)|0;i=k;return}function td(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=de(k)|0;fe(j|0,d|0,e|0)|0;cj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=Kh(d)|0;cj(c);c=l}i=h;return c|0}function ud(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;mh(4,19564,j);h=Ge(a)|0;n=dd(h,19705)|0;c[j>>2]=n;Oi(n,b,0)|0;a=gf(g+256|0,f,e,n)|0;if(!(Gg(n)|0)){ri(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;Ah(19708,k);c[l>>2]=h;Sf(19757,l)}return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;mh(4,19183,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(ic(a,f,e)|0){a=qf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Sh(19215,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function wd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((dh(f,11968,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function xd(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;Ie(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){Tc(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;Tc(h,f,a)|0}while(0);i=j;return}function yd(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(!(bf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function zd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){ch(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=bd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;ch(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Ad(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(Eh(b)|0)){c=(Md(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Wi(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Wh(b,47)|0;if(!b){Pf(e)|0;b=0;continue}else{a[b>>0]=0;Pf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Fj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=yd(d,b)|0;Ej(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=yd(d,b)|0}while(0);return e|0}function Cd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Vh(c[2143]|0)|0):0){Qg(c[d>>2]|0)|0;cj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)$b(d)}else Bh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);cj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Pd(g);di(b)}return}function Dd(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=qh(h^a|0,g^b|0,h|0,g|0)|0;b=C;bc(a,b,qh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=qh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(ef(a,18229)|0)if(ef(a,15713)|0){c[d>>2]=436;d=Ye(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15741:15720;else d=15731;else d=15894;else d=15870;c[f>>2]=a;c[f+4>>2]=d;Sf(15905,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Fd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=mg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Sf(15933,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Sh(15958,g)}else if((d|0)==8){i=h;return}}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Md(b)|0;h=Md(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Md(a)|0;e=f+(_(d,h-g|0)|0)|0;f=$d((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Wi(d,e)|0;j=a+g|0;i=d+(a-e)|0;Wi(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Wi(d,e)|0;return f|0}function Hd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(dg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=$d(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(dg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;$g(g,19487,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Id(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=gh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Jd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Ti(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Ld(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((dh(f,11968,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Md(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 Nd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Nd(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 Od(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Qe(c[e>>2]|0,d)|0)){pi(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;ah(g,18235,h)|0}}}while(0);i=j;return}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Ri(d);d=g}e=e+1|0}}else{Qh(b);b=d+8|0}while(0);cj(c[b>>2]|0);di(a)}return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=mc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((mc(a,4,f)|0)<0){c[g>>2]=ge(c[(Oh()|0)>>2]|0)|0;Ah(13338,g);d=-1}else d=0}else{c[e>>2]=ge(c[(Oh()|0)>>2]|0)|0;Ah(13307,e);d=-1}i=h;return d|0}function Rd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=23807;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Sd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[17943+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[17951+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[17951+f>>0]}while(0);return}function Td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Jc(23524,a[d>>0]|0,4)|0){h=uf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=_h(jb(5,e|0)|0)|0;if((e|0)>=0){b=uc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(Oh()|0)>>2]=22;b=0}i=g;return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;Ch(e,b,16);c[5956]=Kf(11936,c[5956]|0)|0;c[2]=Ee(11942,c[2]|0)|0;c[3]=Ee(11948,c[3]|0)|0;c[5957]=Ee(11952,c[5957]|0)|0;_i(Kf(11961,Dj()|0)|0);if((c[e>>2]|0)!=3)Sh(11502,d);Ac(c[b+4>>2]|0,c[b+8>>2]|0);if((Gj()|0)>1)sd();i=d;return 0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Sh(16638,d)}d=Zi(a,b)|0;if(!d){g=c[(Oh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Sh(16702,e)}else{i=f;return d|0}return 0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(kg(18101,a)|0))if(!(kg(18104,a)|0))if(!(kg(18108,a)|0))if(!(kg(18111,a)|0))a=0;else{a=18116;e=5}else{a=18120;e=5}else{a=18124;e=5}else{a=18126;e=5}if((e|0)==5){c[d>>2]=a;Pg(b,20,18129,d)|0;a=Kh(b)|0}i=f;return a|0}function Yd(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=qh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return qh((bc(h,g,qh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Uf(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function _d(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=sg(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=hi(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 $d(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Sh(16774,b)}b=tj(a)|0;if(!b){f=c[(Oh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Sh(16827,d)}else{Ie(b|0,0,a|0)|0;i=e;return b|0}return 0}function ae(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(Eh(a)|0)){d=Td(a,18099)|0;c[b>>2]=d;if(!d){a=0;break}else{ri(b);a=1;break}}else{f=Nh()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;Ah(18069,d);a=0;break}}while(0);i=e;return a|0}function be(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ce(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=17875;break}case 2:{a=17854;break}case -1:{a=17843;break}case -2:{a=17827;break}case -3:{a=17827;break}case -4:{a=17812;break}case -5:{a=17797;break}case -6:{a=17778;break}case 0:{a=0;break}default:{c[b>>2]=a;Pg(24464,128,17759,b)|0;a=24464}}i=d;return a|0}function de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Sh(16514,b)}b=tj(a)|0;if(!b){f=c[(Oh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Sh(16572,d)}else{i=e;return b|0}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(Oh()|0)>>2]=12;a=0;return a|0}d=_b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;fe(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 ge(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21592+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21680;e=5;break}}if((e|0)==2)if(!c)b=21680;else{b=21680;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 he(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;jc(b,g);jc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){tf(e,2048,d);tf(f+2064|0,2048,g+2064|0)}g=Gc(f)|0;i=h;return g|0}function ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16319,16371,357,16394);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Sg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=gi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function le(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Uf(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function me(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;Pg(h,256,14256,j)|0;j=gd(h,Md(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;bh(e,14262,k);di(g)}i=l;return}function ne(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(23944);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5985]|0)==(a|0))c[5985]=b;eb(23944)}b=pd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function oe(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=vf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16135;else e=(d|0)==2?16094:16103;else e=16126;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Sf(16144,g);return 0}function pe(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Sh(16259,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;wi(b,e,f)|0;a[b+g>>0]=0;i=j;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=Gh(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Rd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=_h(Pa(195,f|0)|0)|0}else d=_h(d)|0;i=g;return d|0}function se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;Pg(g,4096,14480,e)|0;a=ke(0,1)|0;c[e>>2]=a;if((($c(g,14497,a)|0)==206?(b=zh(a,14501)|0,(b|0)!=0):0)?(d=Wh(b,47)|0,(d|0)!=0):0){b=jd(d+1|0)|0;a=C}else{a=-1;b=-1}Pd(e);C=a;i=f;return b|0}function te(a,b){a=a|0;b=b|0;var d=0,e=0;d=Nh()|0;a=ed(a,(b|0)==0?c[35]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(eh(e,19504)|0){if(!(Eh(e)|0))break a;if((tg(e)|0)>>>0<b>>>0)b=tg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ue(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2084]|0;if((c[f+76>>2]|0)>-1)g=Fj(f)|0;else g=0;do if((Li(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=(yd(f,10)|0)<0}while(0);if(g|0)Ej(f);return d<<31>>31|0}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;cj(e);f=f+1|0}cj(b);cj(i);i=h}di(g+12|0);di(g+28|0);di(a)}return}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=$d((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=Kh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;mh(4,19921,d);yg(500);if((Kg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function ye(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Mc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Vc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function ze(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(Lh(k,d,Md(d)|0,h,8)|0))a=0;else{fh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Ef(b,a,e,f)|0}i=j;return a|0}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Sh(19435,g)}else{i=h;return}}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;mh(4,19765,d);if((Kg(Ge(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ce(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2084]|0);if((b|0)==(c[2143]|0)|d)if(d){pd(b)|0;b=1}else b=1;else if(!(ne(b)|0))b=1;else{Hf(16194,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Sc(b,d,1,a)|0)!=1:0){b=Gg(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Sh(15839,f)}else{f=ge(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Sh(15810,e)}}i=g;return}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Ng(b)|0;do if((f|0)!=0?(ef(f,17422)|0)!=0:0){d=ki(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Sh(17145,h)}else e=d;while(0);i=j;return e|0}function Fe(a){a=a|0;var b=0;b=Kh(a)|0;if(!(((kg(18302,a)|0)==0?(kg(18310,a)|0)==0:0)?!(kg(18319,a)|0):0))wd(a,b,Md(a)|0);if(!(eh(b,18141)|0))if(!(eh(b,18145)|0))if(!(eh(b,18148)|0)){a=(eh(b,18153)|0)==0;a=a?0:92}else a=128;else a=116;else a=104;cj(b);return a|0}function Ge(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(kg(19612,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Sh(19619,e);if(((((Tb(b,19646)|0)==0?(Wh(b,126)|0)==0:0)?(Tb(b,19649)|0)==0:0)?(Tb(b,19652)|0)==0:0)?(eh(19656,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Sh(19659,d);return 0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=gi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Sh(17611,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ie(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 Je(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Vi(e&65535)|0;if(d){h=pj(fd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Ke(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Hi(b,59)|0;if((g|0?kg(13657,g)|0:0)?(i=(Wh(g,61)|0)+1|0,h=Wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=jd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=jd(b)|0;c[e>>2]=f}}return}function Le(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 Me(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=_h(pa(102,h|0)|0)|0;i=g;return e|0}function Ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=xh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){Bi(e,13669);b=c[d>>2]|0}Bi(e,b);f=f+1|0}g=Yg(g)|0;i=h;return g|0}function Oe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=_h(pa(102,h|0)|0)|0;i=g;return e|0}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(ef(a,18687)|0)if(!(ef(a,19954)|0)){d=uh(a+4112|0,Jd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Sh(14214,e)}else d=cc(a+4112|0,Jd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((ef(c[e+4>>2]|0,d)|0)!=0);return e|0}function Re(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((_h(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Se(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=od(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=ce(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Sh(17891,g)}return 0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(ef(a,18229)|0){if(Fe(a)|0){c=nd(a,b)|0;break}c=Ye(a,0,c)|0;if((c|0)==-1)c=0;else c=pg(a,b,c)|0}else c=Ii(b)|0;while(0);i=d;return c|0}function Ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=lg(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Sf(16e3,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Sh(16026,e)}}function We(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){fh(c[a+4>>2]|0,e);f=$d(16)|0;c[f+4>>2]=Ci(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(20575,20602,206,20617)}function Xe(b){b=b|0;var d=0,e=0,f=0;d=c[2114]|0;f=ge(c[(Oh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=Fj(d)|0;else e=0;if(b|0?a[b>>0]|0:0){xf(b,Md(b)|0,1,d)|0;Bd(58,d)|0;Bd(32,d)|0}xf(f,Md(f)|0,1,d)|0;Bd(10,d)|0;if(e|0)Ej(d);return}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=_h(jb(5,f|0)|0)|0;i=e;return d|0}function Ze(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function _e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);ch(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;fe(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=_h(pa(102,f|0)|0)|0;i=e;return d|0}function af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Gh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=mg(b,d,e)|0;a=a+16|0;b=a;b=Gh(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function bf(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 cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Gh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Gh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Ve(b,d,e);return}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((dc(2,a,d)|0)<0){b=ge(c[(Oh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Ah(15586,e);a=0}else{c[b>>2]=oj(c[d>>2]|0)|0;a=1}i=f;return a|0}function ef(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 ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Gh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Gh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Fd(b,d,e);return}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Gh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Gh(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Sc(b,1,d,e)|0}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Me(a,1,20,d,8)|0)>=0)if((Me(a,1,21,d,8)|0)<0){Ah(13202,e);a=-1}else a=0;else{Ah(13152,f);a=-1}i=f;return a|0}function jf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=tc(b,d,e)|0;i=g;return f|0}function kf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Fi(a[e>>0]|0)|0;c=c<<24>>24;b=(Fi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function lf(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 mf(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;ig(b);a=Rc(a,b)|0;if(!(b&1)){b=xg(a+16|0)|0;c[f>>2]=b;ac(a,b,d,e,0,0);Qf(f)}else $f(a,d,e,0,0);i=g;return a|0}function nf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=He(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function pf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=bd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Sh(16208,g)}return 0}function qf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16308)|0;d=(b|0)!=0;if(d)tf(e,100,b);qa(16308,16311,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16308,e|0,1)|0;else ob(16308)|0;Oa();i=f;return b|0}function rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Jc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;fe(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function sf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=_h(ib(10,b|0)|0)|0;if(b){if((c[(Oh()|0)>>2]|0)==21){c[d>>2]=a;b=_h(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Md(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Sh(15667,f)}else{Wi(a,d)|0;i=g;return}}function uf(b){b=b|0;var c=0,d=0,e=0;d=(Wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Wh(b,120)|0)==0;d=e?d:d|128;b=(Wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function vf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(_h(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Fd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function xf(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=(Fj(e)|0)==0;a=Tc(a,f,e)|0;if(!g)Ej(e)}else a=Tc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=Gh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[35]|0)Dg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Ae(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=zi(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Af(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2084]|0;else{ue(13094)|0;ue(13119)|0;d=c[2084]|0;Cc(d,a,b)|0;Bd(10,d)|0;pd(d)|0}pd(d)|0;d=c[2114]|0;Cc(d,a,b)|0;Bd(10,d)|0;pd(d)|0}return}function Bf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=_h(kb(142,h|0)|0)|0;i=g;return d|0}function Cf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Df(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=de(h)|0;a=a+136|0;Dg(a,b,d+64|0,0)|0;ff(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;lc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Cg(f);i=g;return c[f>>2]|0}function Ff(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=lh(e)|0,(a[d>>0]|0)!=0):0){e=_f(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function Gf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=ge(c[(Oh()|0)>>2]|0)|0;c[g+4>>2]=a;$g(f,13146,g)|0;Fh(f,e);i=d;return}function If(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?(xf(b,d,1,a)|0)!=1:0){a=ge(Gg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Sh(15780,e)}i=f;return}function Jf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else fe(b,c,d)|0;return b|0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[5977]|0;if((d|0?(e=Rg(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Sh(17543,f);f=Ng(a)|0;i=g;return ((f|0)==0?b:f)|0}function Lf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(be(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Sh(12468,e)}}function Nf(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 Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Ye(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Sf(12779,d)}else{i=e;return b|0}return 0}function Pf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Mg(a,511)|0)<0)if((c[(Oh()|0)>>2]|0)==17)b=0;else{Xe(24592);c[d>>2]=a;Sh(18011,d)}else b=1;i=e;return b|0}function Qf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Qg(b)|0)<0){c[d>>2]=b;Sf(12503,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Rf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Md(c[g>>2]|0)|0;e=Md(d)|0;b=$d(f+2+e|0)|0;fe(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;fe(f+1|0,d|0,e|0)|0;return b|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=ge(c[(Oh()|0)>>2]|0)|0;c[f+4>>2]=a;$g(e,13146,f)|0;fi(e,d)}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Rh(b);d=f}c[a>>2]=0;i=e;return}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Vf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((Qg(b)|0)<0)Sf(16176,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Wf(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;yf(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Pc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Md(a)|0;g=g+1+(Md(b)|0)|0;d=$d(g)|0;c[f>>2]=a;c[f+4>>2]=b;Og(d,g,16189,f)|0;i=e;return d|0}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=oi(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18173,18195,352,18211)}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=_h(d)|0;i=f;return e|0}function _f(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Ti(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function $f(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;g=i;i=i+16|0;h=g;c[a+16>>2]=xg(h)|0;ac(a,b,c[h>>2]|0,d,e,f);Qf(h);i=g;return}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(Kg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function bg(b,d){b=b|0;d=d|0;a:while(1){if(!(Yb(b,d,0)|0)){b=0;break}switch(a[(lh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function cg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=ag(b)|0;b=dd(b,19705)|0;g=de(f+1|0)|0;c[d>>2]=g;De(b,g,f);a[g+f>>0]=0;ne(b)|0;if(e|0)c[e>>2]=f;return}function dg(a){a=a|0;a:do if(!(Ni(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function eg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=mi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;fe(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){rj(b+96|0);d=b+100|0;ih(d);ih(d);uj(b+20|0);$b(b+8|0);cj(c[b+4>>2]|0);di(a)}return}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=mg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function ig(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Sh(11977,c);break}default:{}}if((a&18|0)==16)Sh(12043,b);else{i=c;return}}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Fj(a)|0)==0;b=Kd(a,b,d)|0;if(!e)Ej(a)}else b=Kd(a,b,d)|0;return b|0}function kg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=_h(pb(4,f|0)|0)|0;i=e;return a|0}function mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=_h(sb(3,f|0)|0)|0;i=e;return a|0}function ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;Pg(e,256,16316,f)|0;Zg(e)|0;b=Qe(a,e)|0;i=d;return b|0}function og(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fd(a,d,4);a=c[d>>2]|0;if(b){a=mi(a|0)|0;c[d>>2]=a}i=e;return a|0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=$d(104)|0;c[f+4>>2]=Kh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=$d(65537)|0;return f|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ae(a,d,4,0);a=c[d>>2]|0;if(b){a=hj(a)|0;c[d>>2]=a}i=e;return a|0}function rg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ae(a,d,2,0);a=b[d>>1]|0;if(c){a=ij(a)|0;b[d>>1]=a}i=e;return a|0}function sg(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;bc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((Kg(a,b)|0)<0){c[d>>2]=a;Sh(18038,d)}else{i=e;return c[b+56>>2]|0}return 0}function ug(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];Dh(c[a+20>>2]|0,b,1);Cg(b);i=d;return c[b>>2]|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;Sh(20329,d)}else{i=e;return b|0}return 0}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=qd(g,b,d,e)|0;i=f;return e|0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((nh(b)|0)<0)Sf(12140,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function yg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Bf(0,0,0,0,b)|0}i=d;return}function zg(b){b=b|0;var c=0,d=0;c=Md(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Ti(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;if((c[18]|0)>=(a|0)){a=c[5975]|0;if(!a){a=c[2114]|0;c[5975]=a}Cc(a,b,d)|0;pd(c[5975]|0)|0}return}function Bg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Dg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Gh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return oe(b,d,e)|0}function Eg(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=Cf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Fg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(ef(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Gg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Fj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Ej(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Hg(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;a=dd(a,18099)|0;c[f>>2]=a;If(a,b,d);ri(f);i=e;return}function Ig(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=19985;c[a+4>>2]=352;Sh(19964,a);return 0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=_h(cb(57,e|0)|0)|0;i=d;return a|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=_h(Pa(195,e|0)|0)|0;i=d;return a|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=_h(hb(38,e|0)|0)|0;i=d;return a|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=_h(Ia(39,e|0)|0)|0;i=d;return a|0}function Ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5976]|0;if(!b)Sh(17511,d);else{a=Ih(b,a)|0;i=d;return a|0}return 0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=bd(a,b,d,g)|0;i=f;return e|0}function Pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=pf(a,b,d,g)|0;i=f;return e|0}function Qg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=_h((a|0)==-4?-115:a)|0;i=b;return a|0}function Rg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(ef(d,a)|0))break;b=b+8|0}return b|0}function Sg(a){a=a|0;var b=0;b=$d(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;He(b,a)|0;return b|0}function Tg(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=_h(Wa(6,d|0)|0)|0;i=b;return a|0}function Ug(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]}function Vg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Xg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=$d(d+1|0)|0;c=(c|0)<(d|0)?c:d;fe(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Yg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(17640,17651,40,17667);else{b=c[b+4>>2]|0;di(a);return b|0}return 0}function Zg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Fi(c<<24>>24)|0;d=d+1|0}return b|0}function _g(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Gi(c<<24>>24)|0;d=d+1|0}return b|0}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=si(a,b,f)|0;i=e;return d|0}function ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Cc(a,b,f)|0;i=e;return d|0}function bh(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;zd(a,b,f);i=e;return}function ch(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=oi(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=nf(a,b,f)|0;i=e;return d|0}function eh(a,b){a=a|0;b=b|0;var c=0;c=Md(a)|0;c=c-(Md(b)|0)|0;if((c|0)<0)c=0;else c=(ef(a+c|0,b)|0)==0&1;return c|0}function fh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=hj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=hj(c[a>>2]|0)|0}return}function gh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function hh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function ih(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;cj(b);b=d}c[a>>2]=0;return}function jh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Qg(b)|0;b=b+1|0}return}function kh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function lh(b){b=b|0;if(!b)b=0;else while(1)if(!(Ti(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function mh(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;Ag(a,b,f);i=e;return}function nh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=_h(wa(42,d|0)|0)|0;i=b;return a|0}function oh(a,b,c){a=a|0;b=b|0;c=c|0;a=Vd(a,c)|0;if(c>>>0>b>>>0)Ie(a+b|0,0,c-b|0)|0;return a|0}function ph(){}function qh(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 (C=d,a-c>>>0|0)|0}function rh(a){a=a|0;var b=0;if(!a)a=$d(8)|0;else{b=$d((Md(a)|0)+8|0)|0;Wi(b+4|0,a)|0;a=b}return a|0}function sh(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=0;else{a=of(a,c+1|0)|0;fe(a|0,b|0,c|0)|0}return a|0}function th(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[18]=a;c[d>>2]=0;i=b;return}function uh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Sh(17959,d);return 0}function vh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function wh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=19985;c[a+4>>2]=360;Sh(19964,a);return 0}function xh(a){a=a|0;var b=0;b=$d(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=$d(a+1|0)|0;c[b+8>>2]=a;return b|0}function yh(){var a=0,b=0;b=i;i=i+16|0;a=Kc(2,1,0)|0;if((a|0)<0)Ah(13277,b);i=b;return a|0}function zh(a,b){a=a|0;b=b|0;a=ng(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Ah(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;Fh(a,e);i=d;return}function Bh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Bc(b)|0;ve(a)}return b|0}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5976]|0)){ci(Wb(a,b,0,d,0)|0);c[5977]=d}return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;wc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function Eh(a){a=a|0;if((ef(a,18229)|0)!=0?(ef(a,15713)|0)!=0:0)a=(ag(a)|0)!=-1&1;else a=1;return a|0}function Fh(a,b){a=a|0;b=b|0;var d=0;d=Yc()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Hh(a,b){a=a|0;b=b|0;var d=0;d=$d(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function Ih(a,b){a=a|0;b=b|0;a=Qe(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Jh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function Kh(a){a=a|0;var b=0;if(!a)a=0;else{b=Md(a)|0;a=Xg(a,b,b)|0}return a|0}function Lh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Uc(a,b,c,e,0,d,0)|0}function Mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ai(a,b);return vc(a,b,c,d)|0}function Nh(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function Oh(){var a=0;if(!(c[5979]|0))a=23960;else a=c[(Kj()|0)+64>>2]|0;return a|0}function Ph(a){a=a|0;if(!a)a=0;else{a=lh(a)|0;zg(a)}return a|0}function Qh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ih(b);cj(b);c[a>>2]=0}return}function Rh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){cj(c[b+4>>2]|0);di(a)}return}function Sh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;fi(a,d)}function Th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Uh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){cj(c[b+4>>2]|0);di(a)}return}function Vh(a){a=a|0;if((c[a+76>>2]|0)>-1?Fj(a)|0:0)Ej(a);return c[a+60>>2]|0}function Wh(b,c){b=b|0;c=c|0;b=Wc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Xh(){var a=0;a=Yc()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Yh(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Vf(b+52|0);di(a)}return}function _h(a){a=a|0;if(a>>>0>4294963200){c[(Oh()|0)>>2]=0-a;a=-1}return a|0}function $h(a,b){a=a|0;b=b|0;var c=0;c=de(b)|0;fe(c|0,a|0,b|0)|0;return c|0}function ai(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function bi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=rd(a,b,0)|0;return a|0}function ci(a){a=a|0;c[5976]=a;if(Ng(17003)|0)th(Ee(17003,0)|0);return}function di(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)wj(b);return}function ei(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function fi(a,b){a=a|0;b=b|0;c[(Yc()|0)+4>>2]=1;Fh(a,b);Xh()}function gi(a){a=a|0;var b=0;b=de(a)|0;Ie(b|0,0,a|0)|0;return b|0}function hi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bc(a,b,c,d,0)|0}function ii(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function ji(a,b,c){a=a|0;b=b|0;c=c|0;a=le(a,b,c,0,-2147483648)|0;return a|0}function ki(a,b,c){a=a|0;b=b|0;c=c|0;a=le(a,b,c,-2147483648,0)|0;return a|0}function li(a,b,c){a=a|0;b=b|0;c=c|0;return nc(a,b,14438,14447,c)|0}function mi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return oh(a,b,c)|0}function pi(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,b,Md(b)|0,c)|0}function qi(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ri(a){a=a|0;if(!(Ce(a)|0))Xh();else return}function si(a,b,c){a=a|0;b=b|0;c=c|0;return bd(a,2147483647,b,c)|0}function ti(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function vi(){if((ab(13127)|0)==0?(ab(13137)|0)==0:0)_a(-1);Za()}function wi(a,b,c){a=a|0;b=b|0;c=c|0;Fc(a,b,c)|0;return a|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function yi(a,b,c){a=a|0;b=b|0;c=c|0;return rf(a,b,c)|0}function zi(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function Ai(a,b){a=a|0;b=b|0;Ve(a,b,Md(b)|0);return}function Bi(a,b){a=a|0;b=b|0;_e(a,b,Md(b)|0);return}function Ci(a,b){a=a|0;b=b|0;return Xg(a,Md(a)|0,b)|0}function Di(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,0,c)|0}function Ei(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Fi(a){a=a|0;var b=0;b=(kj(a)|0)==0;return (b?a:a&95)|0}function Gi(a){a=a|0;var b=0;b=(jj(a)|0)==0;return (b?a:a|32)|0}function Hi(a,b){a=a|0;b=b|0;return Bg(a,b,(Md(a)|0)+1|0)|0}function Ii(a){a=a|0;return pg(18229,a,Vh(c[2143]|0)|0)|0}function Ji(a){a=a|0;if(!(c[a+68>>2]|0))Ej(a);return}function Ki(a){a=a|0;if(!(c[a+68>>2]|0))Ej(a);return}function Li(a,b){a=a|0;b=b|0;return (xf(a,Md(a)|0,1,b)|0)+-1|0}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,1,c)|0}function Ni(a){a=a|0;return ((a+-48|0)>>>0<10|(dj(a)|0)!=0)&1|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;return jg(a,b,c)|0}function Pi(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Qi(a,b){a=a|0;b=b|0;return $c(a,14475,b)|0}function Ri(a){a=a|0;cj(c[a+4>>2]|0);cj(a);return}function Si(a,b){a=a|0;b=b|0;i=a;j=b}function Ti(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ui(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Vi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Wi(a,b){a=a|0;b=b|0;_c(a,b)|0;return a|0}function Xi(a){a=a|0;return oc(a,-2021002517,17927)|0}function Yi(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Zi(a,b){a=a|0;b=b|0;return ee(a,b)|0}function _i(a){a=a|0;c[35]=Kh(a)|0;return}function $i(a,b){a=a|0;b=b|0;return +(+Zd(a,b,1))}function aj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function bj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function cj(a){a=a|0;if(a|0)wj(a);return}function dj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function ej(a,b){a=+a;b=+b;return +(+Gf(a,b))}function fj(a,b){a=+a;b=b|0;return +(+Id(a,b))}function gj(a,b){a=+a;b=b|0;return +(+Nd(a,b))}function hj(a){a=a|0;return mi(a|0)|0}function ij(a){a=a|0;return bj(a|0)|0}function jj(a){a=a|0;return (a+-65|0)>>>0<26|0}function kj(a){a=a|0;return (a+-97|0)>>>0<26|0}function lj(a,b){a=a|0;b=b|0;Qb(b);return}function mj(a){a=a|0;return c[a+16>>2]|0}function nj(a,b){a=+a;b=+b;return +(+fc(a,b))}function oj(a){a=a|0;return mi(a|0)|0}function pj(a){a=a|0;return mi(a|0)|0}function qj(a,b){a=a|0;b=b|0;ba(7);return 0}function rj(a){a=a|0;di(a);return}function sj(a){a=a|0;Hb[a&1]()}function tj(a){a=a|0;return Kb(a)|0}function uj(a){a=a|0;di(a);return}function vj(a){a=a|0;Qb(a);return}function wj(a){a=a|0;Qb(a);return}function xj(a){a=a|0;return 0}function yj(a,b){a=a|0;b=b|0;ba(3)}function zj(a){a=a|0;return 0}function Aj(a){a=a|0;i=a}function Bj(a){a=a|0;C=a}function Cj(a){a=a|0;ba(5);return 0}function Dj(){return c[35]|0}function Ej(a){a=a|0;return}function Fj(a){a=a|0;return 0}function Gj(){return c[18]|0}function Hj(){return C|0}function Ij(){return i|0}function Jj(a){a=a|0;ba(2)}function Kj(){return 0}function Lj(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[aj,jf,Re,tc,Lc,fg,xi,yi];var Cb=[Ei,We];var Db=[Jj,Ki,Ji,Jj];var Eb=[yj,Af,lj,yj];var Fb=[ei,ud,Qc,Zb,Ig,ei,ei,ei];var Gb=[Cj,Tg,yc,Cj];var Hb=[Lj,vi];var Ib=[qj,Be,xe,rc,vd,wh,qj,qj];return{_llvm_bswap_i16:bj,_i64Subtract:qh,_free:Qb,_main:Ud,_htonl:pj,_realloc:ee,_i64Add:Gh,_memmove:Jf,_pthread_self:Kj,_pthread_mutex_unlock:xj,_memset:Ie,_malloc:Kb,_pthread_mutex_lock:zj,_memcpy:fe,_llvm_bswap_i32:mi,_bitshift64Lshr:kh,_htons:Vi,_bitshift64Shl:gh,___errno_location:Oh,_ntohs:Ui,runPostSets:ph,stackAlloc:ai,stackSave:Ij,stackRestore:Aj,establishStackSpace:Si,setThrew:qi,setTempRet0:Bj,getTempRet0:Hj,dynCall_iiii:Th,dynCall_viiiii:vh,dynCall_vi:Yi,dynCall_vii:ui,dynCall_iiiiiii:Vg,dynCall_ii:Pi,dynCall_v:sj,dynCall_iii:ni}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigBedToBed_static.js.mem b/bedTools/bigBedToBed_static.js.mem
new file mode 100644
index 0000000000000000000000000000000000000000..00329c3436a1f3287f4c334bb086717e74d2a083
Binary files /dev/null and b/bedTools/bigBedToBed_static.js.mem differ
diff --git a/bedTools/bigWigInfo.c b/bedTools/bigWigInfo.c
new file mode 100644
index 0000000000000000000000000000000000000000..d78d5cfe275657eace05e20492bf199e19d80cf1
--- /dev/null
+++ b/bedTools/bigWigInfo.c
@@ -0,0 +1,100 @@
+/* bigWigInfo - Print out information about bigWig file.. */
+
+/* Copyright (C) 2011 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+#include "common.h"
+#include "linefile.h"
+#include "hash.h"
+#include "options.h"
+#include "localmem.h"
+#include "udc.h"
+#include "bigWig.h"
+#include "obscure.h"
+#include "hmmstats.h"
+
+
+
+void usage()
+/* Explain usage and exit. */
+{
+errAbort(
+  "bigWigInfo - Print out information about bigWig file.\n"
+  "usage:\n"
+  "   bigWigInfo file.bw\n"
+  "options:\n"
+  "   -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs\n"
+  "   -chroms - list all chromosomes and their sizes\n"
+  "   -zooms - list all zoom levels and their sizes\n"
+  "   -minMax - list the min and max on a single line\n"
+  );
+}
+
+static struct optionSpec options[] = {
+   {"udcDir", OPTION_STRING},
+   {"chroms", OPTION_BOOLEAN},
+   {"zooms", OPTION_BOOLEAN},
+   {"minMax", OPTION_BOOLEAN},
+   {NULL, 0},
+};
+
+void printLabelAndLongNumber(char *label, long long l)
+/* Print label: 1,234,567 format number */
+{
+printf("%s: ", label);
+printLongWithCommas(stdout, l);
+printf("\n");
+}
+
+void bigWigInfo(char *fileName)
+/* bigWigInfo - Print out information about bigWig file.. */
+{
+struct bbiFile *bwf = bigWigFileOpen(fileName);
+
+if (optionExists("minMax"))
+    {
+    struct bbiSummaryElement sum = bbiTotalSummary(bwf);
+    printf("%f %f\n", sum.minVal, sum.maxVal);
+    return;
+    }
+
+printf("version: %d\n", bwf->version);
+printf("isCompressed: %s\n", (bwf->uncompressBufSize > 0 ? "yes" : "no"));
+printf("isSwapped: %d\n", bwf->isSwapped);
+printLabelAndLongNumber("primaryDataSize", bwf->unzoomedIndexOffset - bwf->unzoomedDataOffset);
+if (bwf->levelList != NULL)
+    {
+    long long indexEnd = bwf->levelList->dataOffset;
+    printLabelAndLongNumber("primaryIndexSize", indexEnd - bwf->unzoomedIndexOffset);
+    }
+printf("zoomLevels: %d\n", bwf->zoomLevels);
+if (optionExists("zooms"))
+    {
+    struct bbiZoomLevel *zoom;
+    for (zoom = bwf->levelList; zoom != NULL; zoom = zoom->next)
+	printf("\t%d\t%d\n", zoom->reductionLevel, (int)(zoom->indexOffset - zoom->dataOffset));
+    }
+struct bbiChromInfo *chrom, *chromList = bbiChromList(bwf);
+printf("chromCount: %d\n", slCount(chromList));
+if (optionExists("chroms"))
+    for (chrom=chromList; chrom != NULL; chrom = chrom->next)
+	printf("\t%s %d %d\n", chrom->name, chrom->id, chrom->size);
+struct bbiSummaryElement sum = bbiTotalSummary(bwf);
+printLabelAndLongNumber("basesCovered", sum.validCount);
+printf("mean: %f\n", sum.sumData/sum.validCount);
+printf("min: %f\n", sum.minVal);
+printf("max: %f\n", sum.maxVal);
+printf("std: %f\n", calcStdFromSums(sum.sumData, sum.sumSquares, sum.validCount));
+}
+
+int main(int argc, char *argv[])
+/* Process command line. */
+{
+optionInit(&argc, argv, options);
+udcSetDefaultDir(optionVal("udcDir", udcDefaultDir()));
+if (argc != 2)
+    usage();
+bigWigInfo(argv[1]);
+if (verboseLevel() > 1)
+    printVmPeak();
+return 0;
+}
diff --git a/bedTools/bigWigInfo_static.js b/bedTools/bigWigInfo_static.js
new file mode 100644
index 0000000000000000000000000000000000000000..62a205bd6c2f3a55c9322949997704962528571d
--- /dev/null
+++ b/bedTools/bigWigInfo_static.js
@@ -0,0 +1,16 @@
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+15216;__ATINIT__.push();memoryInitializer="bigWigInfo_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[3158]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=12672+(b<<1<<2)|0;e=d+8|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[3162]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[3158]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[3160]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=12672+(b<<1<<2)|0;e=d+8|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[3162]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[3160]|0;break}else Za()}else{c[3158]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[3163]|0;b=l>>>3;d=12672+(b<<1<<2)|0;a=c[3158]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{m=a;n=b}}else{c[3158]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[3160]=h;c[3163]=e;N=j;i=O;return N|0}a=c[3159]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[12936+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[3162]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=12936+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[3159]=c[3159]&~(1<<a);break}}else{if(h>>>0<(c[3162]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[3162]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[3162]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[3160]|0;if(a|0){f=c[3163]|0;b=a>>>3;e=12672+(b<<1<<2)|0;a=c[3158]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{r=a;s=b}}else{c[3158]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[3160]=d;c[3163]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[3159]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[12936+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[12936+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[3160]|0)-q|0)>>>0:0){f=c[3162]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=12936+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[3159]=c[3159]&~(1<<a);break}}else{if(g>>>0<(c[3162]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[3162]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[3162]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=12672+(a<<1<<2)|0;b=c[3158]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{w=a;x=b}}else{c[3158]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=12936+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[3159]|0;b=1<<d;if(!(a&b)){c[3159]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[3162]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[3160]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[3163]|0;if(a>>>0>15){N=b+q|0;c[3163]=N;c[3160]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[3160]=0;c[3163]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[3161]|0;if(a>>>0>q>>>0){L=a-q|0;c[3161]=L;N=c[3164]|0;M=N+q|0;c[3164]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[3276]|0)){c[3278]=4096;c[3277]=4096;c[3279]=-1;c[3280]=-1;c[3281]=0;c[3269]=0;x=p&-16^1431655768;c[p>>2]=x;c[3276]=x}h=q+48|0;g=c[3278]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[3268]|0;if(a|0?(w=c[3266]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[3269]&4)){a=c[3164]|0;c:do if(a){d=13080;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[3161]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[3277]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[3266]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[3268]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[3278]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[3269]=c[3269]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[3266]|0)+f|0;c[3266]=a;if(a>>>0>(c[3267]|0)>>>0)c[3267]=a;j=c[3164]|0;do if(j){e=13080;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[3161]|0)|0;c[3164]=M;c[3161]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[3165]=c[3280];break}a=c[3162]|0;if(h>>>0<a>>>0){c[3162]=h;k=h}else k=a;d=h+f|0;a=13080;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=13080;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[3163]|0)){N=(c[3160]|0)+g|0;c[3160]=N;c[3163]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=12936+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[3162]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[3159]=c[3159]&~(1<<b);break e}while(0);e=c[3162]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[3162]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=12672+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[3158]=c[3158]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=12672+(a<<1<<2)|0;b=c[3158]|0;a=1<<a;do if(!(b&a)){c[3158]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[3162]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=12936+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[3159]|0;b=1<<d;if(!(a&b)){c[3159]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[3162]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[3161]|0)+g|0;c[3161]=N;c[3164]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=13080;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[3164]=N;c[3161]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[3165]=c[3280];e=d+4|0;c[e>>2]=27;c[a>>2]=c[3270];c[a+4>>2]=c[3271];c[a+8>>2]=c[3272];c[a+12>>2]=c[3273];c[3270]=h;c[3271]=f;c[3273]=0;c[3272]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=12672+(a<<1<<2)|0;b=c[3158]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{J=a;K=b}}else{c[3158]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=12936+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[3159]|0;b=1<<d;if(!(a&b)){c[3159]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[3162]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[3162]|0;if((N|0)==0|h>>>0<N>>>0)c[3162]=h;c[3270]=h;c[3271]=f;c[3273]=0;c[3167]=c[3276];c[3166]=-1;a=0;do{N=12672+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[3164]=M;c[3161]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[3165]=c[3280]}while(0);a=c[3161]|0;if(a>>>0>q>>>0){L=a-q|0;c[3161]=L;N=c[3164]|0;M=N+q|0;c[3164]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(xh()|0)>>2]=12;N=0;i=O;return N|0}function Kb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0}while((Ai(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Rc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[12468+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Rc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[12477+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Rc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Rc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(xh()|0)>>2]=22;Af(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Rc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Rc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;k=qh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=qh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Rc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Af(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=qh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=lc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Af(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Sg(o|0,n|0,2)|0;H=qh(H|0,C|0,-32,-1)|0;e=qh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(xh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(xh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=qh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=bh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=qh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Ni(+wd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(xh()|0)>>2]=34;g=+Oi(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Rc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=qh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=qh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=lc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Af(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=qh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(xh()|0)>>2]=22;Af(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(xh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(xh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[796+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[796+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[796+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Sg(c[p>>2]|0,0,29)|0;o=qh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Rh(o|0,n|0,1e9,0)|0;o=ag(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Ni(+wd(1.0,105-o|0),j);m=+Xi(j,+wd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Xi(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(xh()|0)>>2]=34}while(0);g=+Oi(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(xh()|0)>>2]=22;Af(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Lb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(xh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Jc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[9776+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}kc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Xg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=10256;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=10256;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=bh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=10256;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?10256:10258;L=76}else{p=1;r=10257;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=10256;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=10256;o=N;break}case 109:{o=Ud(c[(xh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:12158;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){ld(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?12166:12171}else{G=1;H=12168}else{q=-q;G=1;H=12165}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Pi(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Md(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[10240+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;ld(e,32,K,r,I);if(!(c[e>>2]&32))Jc(y,w,e)|0;ld(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Jc(ea,o,e)|0;f=ba-p|0;ld(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Jc(t,f,e)|0;ld(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Sg(c[r>>2]|0,0,t|0)|0;B=qh(B|0,C|0,o|0,0)|0;o=C;A=ag(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Rh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Md(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;ld(e,32,K,w,I);if(!(c[e>>2]&32))Jc(H,G,e)|0;ld(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Md(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;pe(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Jc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Jc(12196,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Md(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){pe(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Jc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}ld(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Md(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Jc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Jc(12196,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;pe(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Jc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}ld(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Jc(u,ba-u|0,e)|0}while(0);ld(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;ld(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Jc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Jc(s?(t?12477:12192):t?12184:12188,3,e)|0;ld(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=10256;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[10240+(o&15)>>0]|r;o=Xg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=10256;L=77}else{o=t;t=2;r=10256+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=10256;L=77}}else if((L|0)==76){f=Md(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Bc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=10256;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Lh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}ld(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Lh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Jc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;ld(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;ld(e,32,o,s,p);if(!(c[e>>2]&32))Jc(v,w,e)|0;ld(e,48,o,s,p^65536);ld(e,48,r,t,0);if(!(c[e>>2]&32))Jc(f,t,e)|0;ld(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;kc(j+(m<<3)|0,n,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=ia;return m|0}function Mb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=lj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Ai(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Af(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Rc(e)|0}while((Ai(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Af(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Rc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){pe(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;pe(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Jb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Rc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(sc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Rd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Sh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Jb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Rc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Rd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Rc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Rc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Kb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Sb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Af(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Rc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Ai(d[m>>0]|0)|0))break;else n=m}Af(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Rc(e)|0}while((Ai(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Pb(l);Pb(f)}}else k=0;while(0);if(O|0)kj(e);i=P;return k|0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=qh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[31]|0)==0?(Ne(c[a+8>>2]|0,8439)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=qh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=qh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=qh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=qh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=bh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=qh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=bh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=bh(k|0,j|0,f|0,d|0)|0;Td(b|0,B+f|0,o|0)|0;e=qh(o|0,E|0,e|0,n|0)|0;f=C;d=bh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=qh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;lg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Nd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=qh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=bh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[31]|0){y=qh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=qh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Rh(k|0,j|0,w|0,0)|0;t=qh(A|0,B|0,-1,-1)|0;t=qh(t|0,C|0,w|0,0)|0;w=Rh(t|0,C|0,w|0,0)|0;t=m+52|0;lf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((ki(u,d,s)|0)<(s|0))f=0;else{Li(u);j=B;k=A;continue}while(1){o=ki(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=si(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=mg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=mg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=qh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=bh(f|0,j|0,p|0,q|0)|0;k=C;f=Sd(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}lg(Z,c[K>>2]|0,p,0)|0;Le(Z,c[K>>2]|0,f,j);Mh(W)}Hd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;lg(P,c[t>>2]|0,da+64|0,0)|0;Le(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Li(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);lg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Oe(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ah(8451,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Zg(4,8507,$);Zg(4,8553,aa);S=0;T=0;break}else if((n|0)==36){Oe(Z,j,f,h);S=ba;S=qh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=qh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Ob(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[31]|0:d;c[I>>2]=b;c[I+4>>2]=m;Zg(4,8669,I);if(0){c[e>>2]=b;Kg(0,8690,e)|0}c[h>>2]=0;c[n>>2]=0;ad(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Li(d);u=th(8439)|0;c[h>>2]=u;Li(c[n>>2]|0);c[n>>2]=th(b)|0;j=1}else{u=d;j=0}h=u;g=Nd(16)|0;do if(!(Ne(u,8699)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=8699}else{if(!(Ne(u,8934)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=8934;break}if(Ne(u,7828)|0?Ne(u,9095)|0:0){if(!(Ne(u,9101)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=9101;break}if(!(Ne(u,8439)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=8439;break}else{c[k>>2]=u;Ah(9137,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=7828}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[31]|0?(l=(de(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){Mh(o);Li(u);Li(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=Nd(312)|0;c[d+4>>2]=th(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;Oc(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[31]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(oh(c[g>>2]|0)|0))t=29;else{Qd(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[31]|0;if(g){od(c[d+40>>2]|0);p=d+44|0;n=uc(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(oh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;Zg(4,9226,s);Ih(G);Ze(c[p>>2]|0)|0;Ze(c[K>>2]|0)|0;g=d+52|0;if(oh(c[g>>2]|0)|0)Ze(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];Zg(4,9317,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=td(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=qh(h|0,k|0,8191,0)|0;k=Xg(k|0,C|0,13)|0;De(j,A,4);De(j,x,4);De(j,I,8);De(j,v,8);De(j,w,4);De(j,y,4);De(j,z,8);De(j,z,8);De(j,z,8);De(j,z,8);g=d+136|0;h=lg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Ah(9367,D)}a[E>>0]=0;lg(g,j,((k+7|0)/8|0)+-1|0,1)|0;Le(g,j,E,1);Bf(B);c[B>>2]=td(c[d+48>>2]|0,577)|0;Bf(B);g=uc(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Ah(9434,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=bf(c[f+52>>2]|0,0,1)|0;sd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=qh(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=Xg(H|0,C|0,13)|0;H=(ki(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;lg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=td(c[d+48>>2]|0,2)|0;if(Rf(7828,u)|0){c[I>>2]=0;j=d+52|0;if(oh(c[j>>2]|0)|0)Kf(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;Ze(c[j>>2]|0)|0;break}else{if(!(ng(g,h)|0))break;K=Cf(c[j>>2]|0,9464)|0;H=c[f>>2]|0;pg(K,H,Ad(H)|0);tg(K,c[j>>2]|0)|0;Li(K);break}}else c[d+132>>2]=th(c[I>>2]|0)|0;while(0);Li(c[I>>2]|0)}}}else{if(!(oh(b)|0)){d=0;break}K=td(b,0)|0;c[d+56>>2]=K;be(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}Li(e)}while(0);i=J;return d|0}function Pb(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;if(!a)return;d=a+-8|0;h=c[3162]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[3163]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[3160]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=12672+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[3158]=c[3158]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=12936+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[3159]=c[3159]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[3162]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[3162]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[3162]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[3164]|0)){p=(c[3161]|0)+g|0;c[3161]=p;c[3164]=q;c[q+4>>2]=p|1;if((q|0)!=(c[3163]|0))return;c[3163]=0;c[3160]=0;return}if((m|0)==(c[3163]|0)){p=(c[3160]|0)+g|0;c[3160]=p;c[3163]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=12936+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[3159]=c[3159]&~(1<<a);break}}else{if(f>>>0<(c[3162]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[3162]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[3162]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=12672+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[3162]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[3158]=c[3158]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[3162]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[3163]|0)){c[3160]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=12672+(a<<1<<2)|0;b=c[3158]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{o=a;p=b}}else{c[3158]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=12936+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[3159]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[3162]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[3159]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[3166]|0)+-1|0;c[3166]=q;if(!q)a=13088;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[3166]=-1;return}function Qb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[3162]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[3163]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[3160]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=12672+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[3158]=c[3158]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=12936+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[3159]=c[3159]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[3162]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[3162]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[3162]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[3162]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[3164]|0)){q=(c[3161]|0)+g|0;c[3161]=q;c[3164]=r;c[r+4>>2]=q|1;if((r|0)!=(c[3163]|0))return;c[3163]=0;c[3160]=0;return}if((o|0)==(c[3163]|0)){q=(c[3160]|0)+g|0;c[3160]=q;c[3163]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=12936+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[3159]=c[3159]&~(1<<d);break}}else{if(f>>>0<(c[3162]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[3162]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[3162]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=12672+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[3158]=c[3158]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[3163]|0)){c[3160]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=12672+(d<<1<<2)|0;a=c[3158]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[3162]|0)>>>0)Za();else{p=d;q=a}}else{c[3158]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=12936+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[3159]|0;a=1<<b;if(!(d&a)){c[3159]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[3162]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[3162]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Rb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Fh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(ue(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Bc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Sb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(xh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0}while((Ai(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Rc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Rc(b)|0;if((d[12203+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Af(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[12203+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Af(b,0);c[(xh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Rc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=mg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=qh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[12459+((e*23|0)>>>5&7)>>0]|0;j=a[12203+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;j=a[12203+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Xg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Sg(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;j=a[12203+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[12203+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;j=a[12203+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Rh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=mg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=qh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;j=a[12203+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[12203+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0}while((d[12203+i>>0]|0)>>>0<e>>>0);c[(xh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(xh()|0)>>2]=34;g=qh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(xh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=bh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Tb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=Yd(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Ne(r,6214)|0)){j=g;h=k;N=4;break}s=Fh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Ai(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Ad(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(ui(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Zh(Q,o,(m|0)==0?6636:m)|0;else{l=zg(o,f)|0;if(!l){l=zg(o,60)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Uh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Th(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Ii(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Ii(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?6636:m;l=zg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=rh(Q,o)|0;l=ch(m)|0;if(!n){Zh(Q,o,l)|0;break}else{Tg(n,l);break}}Zh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ah(6225,z);break}case 34:{c[A>>2]=o;Ah(6251,A);break}case 36:{c[K>>2]=o;Ah(6290,K);break}case 38:{c[L>>2]=o;Ah(6326,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ah(6359,B);break}case 43:{c[C>>2]=o;Ah(6326,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ah(6401,D);break}case 48:{c[E>>2]=o;Ah(6445,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ah(6480,F);break}case 53:{c[G>>2]=o;Ah(6520,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ah(6556,H);break}case 57:{c[I>>2]=c[l>>2];Ah(6597,I);break}case 65:{Ah(6639,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Ub(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Rb(d,3058)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){te(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Vf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(xh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Rf(3865,f)|0))m=c[F>>2]|0;else{mf(F)|0;f=mf(F)|0;if(!f){O=20;break a}if((((Rf(4505,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Ne(f,4508)|0)if(Ne(f,4512)|0){if(I?(g=Ne(f,4516)|0,!((H|g|0)==0&G)):0)if(!(Ne(f,4520)|0)){f=o;break}else{O=30;break a}if(!(Ne(f,4607)|0)){O=34;break a}if(!(Ne(f,4516)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Fh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Yg(f+1|0)|0}if(!(Se(m,4659)|0)){if(o|0)c[e>>2]=th(f)|0;if(k)h=th(f)|0}}while(!(I&(Se(m,4668)|0)==0));if((Rf(4682,f)|0)!=0?(q=(Fh(f,32)|0)+1|0,r=Fh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=Zc(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=Zc(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=Ud(f)|0;c[z+4>>2]=d;kh(4316,z);f=0;break}case 10:{c[v>>2]=d;kh(4353,v);f=0;break}case 11:{c[x>>2]=d;kh(4409,x);f=0;break}case 15:{c[y>>2]=2e3;kh(4441,y);f=0;break}case 20:{c[u>>2]=d;kh(4479,u);f=0;break}case 30:{if(!g)kh(4524,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;kh(4567,E);f=0;break}case 34:{c[w>>2]=d;kh(4611,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;kh(4636,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;xg(N,256,6991,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;kh(4689,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?13128:4783;c[K+8>>2]=f?4508:4512;c[K+12>>2]=h|0?h:4799;kh(4809,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;xg(N,256,6991,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;kh(4850,M);f=0}break}}i=P;return f|0}function Vb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=bi(h)|0;c[b+16>>2]=e;f=hd(c[f>>2]|0)|0;if(!f){s=0;break}s=Ad(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Li(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}Wd(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)qf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Of(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;Wd(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Ef(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Cd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ah(7380,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Cd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Cd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Wb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((Rf(7443,b)|0)==0?(Rf(7451,b)|0)==0:0)?(Rf(7460,b)|0)==0:0){c[j>>2]=b;Ah(7523,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Zg(4,7467,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=bh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Zg(4,7758,m);Bf(x);j=h+128|0;if((c[j>>2]|0)>0)Bf(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Zg(4,7605,n);j=h+256|0;k=c[x>>2]|0;if(!(c[3144]|0)){c[3144]=Nd(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=Je(j,k,c[3144]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=bh(l|0,m|0,n|0,I|0)|0;J=C;I=qh(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;zf(7654,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=qh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Ah(7707,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=qh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=Vd(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;xg(y,2048,7809,z)|0;j=cc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(Rf(7828,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Ac(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Li(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Ah(7833,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=Je(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)zf(7862,G);else F=j;K=h+120|0;J=K;J=qh(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function Xb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[3162]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[3278]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Qb(m,d);return a|0}if((k|0)==(c[3164]|0)){d=(c[3161]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[3164]=l;c[3161]=m;return a|0}if((k|0)==(c[3163]|0)){e=(c[3160]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[3160]=d;c[3163]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=12936+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[3159]=c[3159]&~(1<<d);break}}else{if(h>>>0<(c[3162]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[3162]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[3162]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=12672+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[3158]=c[3158]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Qb(l,m);return a|0}return 0}function Yb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Kg(0,9487,b)|0}b=d+112|0;if(c[b>>2]|0)Bf(b);b=d+128|0;if(c[b>>2]|0)Bf(b);Li(c[d+4>>2]|0);Li(c[d+8>>2]|0);Mh(d+12|0);Li(c[d+40>>2]|0);Li(c[d+44>>2]|0);Li(c[d+48>>2]|0);Li(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Bf(b);Ih(d+80|0)}Mh(a);i=e;return}function Zb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(1559,1579,448,1595);h=ya()|0;c[s>>2]=h;if((h|0)<0)zf(1608,l);if(h|0)if(!(rg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;zf(2146,k)}r=Hh()|0;c[s>>2]=r;if(rg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;zf(1619,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=gg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}tf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))yf(t);if(c[k>>2]|0)yf(m);g=0;f=0;j=h;h=k}if((b|0)==14)zf(1608,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){_c(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];zf(1853,o)}_c(k,0,h,e);h=Tf(1,f,g)|0;if((h|0)<0)zf(1764,p);if((h|0)==(g|0)){yg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ah(1799,q)}}else if((b|0)==28){yg(0)|0;yg(1)|0;Vg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;tf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)zf(1926,u);else if((b|0)==35){c[v>>2]=h;Ah(1941,v)}else if((b|0)==39){v=xe(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ah(1971,w)}else if((b|0)==41)Da(2026,1579,242,2050);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[62]|0;v=xe(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Kg(h,2069,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(2116,1579,396,2136);else if((b|0)==49)_a(0)}}function _b(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=uf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((uf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=qh(m|0,l|0,-1,-1)|0;d=C;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;bh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=bh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(qe(a,b,d)|0){b=jh()|0;if((b|0)>=0){if((Fd(b,1)|0)<0){yg(b)|0;b=-1;break}b:do if((Ie(b,d,16)|0)<0){n=xh()|0;d=c[n>>2]|0;if((d|0)!=115){w=Ud(d)|0;c[e>>2]=d;c[e+4>>2]=w;kh(2994,e);yg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=hf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=Ud(d)|0;c[t>>2]=d;c[t+4>>2]=C;kh(2770,t);yg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;kh(2902,u);yg(b)|0;e=23;break}c[r>>2]=4;do if((we(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=Ud(d)|0;c[w>>2]=d;c[w+4>>2]=C;kh(2858,w);yg(b)|0;break}}else{B=c[n>>2]|0;C=Ud(B)|0;c[v>>2]=B;c[v+4>>2]=C;kh(2828,v);yg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Fd(b,0)|0)<0){yg(b)|0;b=-1;break}if((Re(b,120)|0)<0){yg(b)|0;b=-1}}}else b=-1;else{kh(2650,x+24|0);b=-1}while(0);i=x;return b|0}function ac(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,qf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){pe(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ac(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(xh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function bc(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;k=i;i=i+128|0;h=k+112|0;g=k+96|0;f=k+72|0;j=k+40|0;e=k;do if(!((d|0)>232|(d|0)==232&b>>>0>3567587327)){if((d|0)>0|(d|0)==0&b>>>0>999999999){m=Kd(b|0,d|0,1e9,0)|0;l=C;g=mg(m|0,l|0,-1e9,-1)|0;g=qh(g|0,C|0,b|0,d|0)|0;h=C;b=Kd(g|0,h|0,1e6,0)|0;d=C;e=mg(b|0,d|0,-1e6,-1)|0;h=qh(e|0,C|0,g|0,h|0)|0;g=C;e=Kd(h|0,g|0,1e3,0)|0;f=C;n=mg(e|0,f|0,-1e3,-1)|0;g=qh(n|0,C|0,h|0,g|0)|0;h=j;c[h>>2]=m;c[h+4>>2]=l;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;h=j+16|0;c[h>>2]=e;c[h+4>>2]=f;h=j+24|0;c[h>>2]=g;c[h+4>>2]=C;Jg(a,6934,j)|0;break}if((d|0)>0|(d|0)==0&b>>>0>999999){g=Kd(b|0,d|0,1e6,0)|0;h=C;n=mg(g|0,h|0,-1e6,-1)|0;n=qh(n|0,C|0,b|0,d|0)|0;m=C;j=Kd(n|0,m|0,1e3,0)|0;l=C;e=mg(j|0,l|0,-1e3,-1)|0;m=qh(e|0,C|0,n|0,m|0)|0;n=f;c[n>>2]=g;c[n+4>>2]=h;n=f+8|0;c[n>>2]=j;c[n+4>>2]=l;n=f+16|0;c[n>>2]=m;c[n+4>>2]=C;Jg(a,6960,f)|0;break}if((d|0)>0|(d|0)==0&b>>>0>999){j=Kd(b|0,d|0,1e3,0)|0;l=C;m=mg(j|0,l|0,-1e3,-1)|0;m=qh(m|0,C|0,b|0,d|0)|0;n=g;c[n>>2]=j;c[n+4>>2]=l;n=g+8|0;c[n>>2]=m;c[n+4>>2]=C;Jg(a,6979,g)|0;break}else{n=h;c[n>>2]=b;c[n+4>>2]=d;Jg(a,6991,h)|0;break}}else{p=Kd(b|0,d|0,-727379968,232)|0;o=C;n=mg(p|0,o|0,727379968,-233)|0;n=qh(n|0,C|0,b|0,d|0)|0;m=C;d=Kd(n|0,m|0,1e9,0)|0;f=C;g=mg(d|0,f|0,-1e9,-1)|0;m=qh(g|0,C|0,n|0,m|0)|0;n=C;g=Kd(m|0,n|0,1e6,0)|0;h=C;j=mg(g|0,h|0,-1e6,-1)|0;n=qh(j|0,C|0,m|0,n|0)|0;m=C;j=Kd(n|0,m|0,1e3,0)|0;l=C;b=mg(j|0,l|0,-1e3,-1)|0;m=qh(b|0,C|0,n|0,m|0)|0;n=e;c[n>>2]=p;c[n+4>>2]=o;n=e+8|0;c[n>>2]=d;c[n+4>>2]=f;n=e+16|0;c[n>>2]=g;c[n+4>>2]=h;n=e+24|0;c[n>>2]=j;c[n+4>>2]=l;n=e+32|0;c[n>>2]=m;c[n+4>>2]=C;Jg(a,6901,e)|0}while(0);i=k;return}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Rb(b,3054)|0))e=Ge(b,0,r)|0;else{if((Rf(7443,b)|0)==0?(Rf(7451,b)|0)==0:0){if(!(Rf(7460,b)|0)){c[g>>2]=b;Ah(4249,g)}fc(b,o);if(Ne(o,9101)|0){c[f>>2]=b;Ah(3912,f)}b=o+4112|0;g=$c(b,xd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(vh(g,3959,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,xg(m,256,3966,j)|0,(vh(g,m,0,0)|0)==0):0){yg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Ad(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?3978:3983;c[k+4>>2]=j;xg(m,256,3988,k)|0;hi(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Fh(j,40)|0;a[(Fh(j,41)|0)>>0]=0;if((he(s+1|0,3996,k,7)|0)!=6)Ah(3998,h);f=(xd(c[k+16>>2]|0)|0)<<8;f=$b(b,(xd(c[k+20>>2]|0)|0)+f|0)|0;Ch(l);if((f|0)<0){yg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((bd(f,1e6)|0)>0){b=26;break}if((bd(g,0)|0)>0?(qc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;kh(4034,n);yg(g)|0;yg(f)|0;e=-1;break}else if((b|0)==24){yg(g)|0;yg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}dd(c[91]|0)|0;dd(c[32]|0)|0;dd(c[62]|0)|0;b=Nd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;Td(b+20|0,o|0,10280)|0;f=b+4|0;if(_g(f)|0){c[p>>2]=Ud(c[(xh()|0)>>2]|0)|0;Ah(4099,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=Ud(b)|0;c[q>>2]=b;c[q+4>>2]=s;Ah(4203,q)}}}else{yg(g)|0;e=-1}while(0)}break}e=Wh(b,3893,0)|0}while(0);i=r;return e|0}function dc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Xg(d|0,m|0,52)|0;e=e&2047;j=Xg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Sg(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Sg(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Sg(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Sg(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Sg(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Sg(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Sg(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Sg(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=bh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Sg(d|0,f|0,1)|0;f=C;e=e+-1|0;l=bh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Sg(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=qh(d|0,f|0,0,-1048576)|0;d=C;e=Sg(e|0,0,52)|0;d=d|C;e=o|e}else{e=Xg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;fc(b,h);if(Ne(h,9101)|0){c[g>>2]=b;Ah(3178,g)}b=h+6176|0;if(Ne(b,8634)|0){p=$c(h+4112|0,xd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;xg(k,256,3336,q)|0;c[t>>2]=0;do if(vh(p,k,t,0)|0){if((he(c[(c[t>>2]|0)+4>>2]|0,3070,l,3)|0)!=2)Ah(3346,j);n=l+4|0;j=Zc(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Ch(t);c[s>>2]=b;xg(k,256,3382,s)|0;if(!(vh(p,k,t,0)|0)){yg(p)|0;f=0;break}b=he(c[(c[t>>2]|0)+4>>2]|0,3070,l,3)|0;if((b|0)!=2){c[m>>2]=b;Ah(3392,m)}j=c[n>>2]|0;if((Ad(j)|0)>>>0<14){c[o>>2]=j;Ah(3434,o)}b=s;g=3483;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,3503,q|0)|0)){c[r>>2]=s;Ah(3521,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Ah(3554,u)}else{c[e>>2]=b;Ch(t);yg(p)|0;f=1;break}}else{yg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Ad(b)|0)>>>0>4095){c[e>>2]=b;Ah(3035,e)}Di(f,b)|0;yh(f)|0;b=Rb(f,3054)|0;if(!b){a[d>>0]=a[7828]|0;a[d+1>>0]=a[7829]|0;a[d+2>>0]=a[7830]|0;a[d+3>>0]=a[7831]|0;a[d+4>>0]=a[7832]|0}else{a[b>>0]=0;Ig(f)|0;$e(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Fh(f,47)|0;if(g){te(g,b,e,1);if(!((Se(d,7828)|0)!=0?(Se(d,9095)|0)!=0:0)){e=ud(g,3070,3072)|0;$e(d+6176|0,4096,e);Li(e)}a[g>>0]=0;if(!(Se(d,9101)|0)){g=g+1|0;zd(g,d+6176|0,Ad(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Fh(f,64)|0;if(!g){if(!((Se(d,7828)|0)!=0?(Se(d,9095)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Se(d,9101)|0)){b=d+16|0;e=3076;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=3086;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Fh(f,58)|0;if(!b){e=d+16|0;$e(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;$e(e,2048,f);f=d+2064|0;$e(f,2048,b+1|0);b=f}kd(e,e,Ad(e)|0);kd(b,b,Ad(b)|0);f=g+1|0}b=Fh(f,58)|0;do if(!b){if(!(Se(d,7828)|0)){h=d+6160|0;a[h>>0]=a[3104]|0;a[h+1>>0]=a[3105]|0;a[h+2>>0]=a[3106]|0}if(!(Se(d,9095)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Se(d,9101)|0)){h=d+6160|0;a[h>>0]=a[3107]|0;a[h+1>>0]=a[3108]|0;a[h+2>>0]=a[3109]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){$e(d+6160|0,16,e);break}else{c[h>>2]=e;Ah(3110,h)}}while(0);$e(d+4112|0,2048,f);i=j;return}function gc(a){a=a|0;var b=0,d=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=i;i=i+192|0;s=t+176|0;r=t+168|0;q=t+160|0;p=t+152|0;o=t+136|0;n=t+96|0;l=t+88|0;k=t+80|0;j=t+72|0;g=t+64|0;f=t+56|0;d=t+40|0;b=t;m=Fi(a)|0;if(!(Qi(1148)|0)){c[f>>2]=e[m+24>>1];Rg(1162,f)|0;c[g>>2]=c[m+80>>2]|0?1193:1197;Rg(1175,g)|0;c[j>>2]=c[m+16>>2];Rg(1200,j)|0;b=m+48|0;d=b;a=m+40|0;a=bh(c[d>>2]|0,c[d+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;$f(1215,a,C);a=m+100|0;d=c[a>>2]|0;if(d|0){g=d+16|0;j=b;j=bh(c[g>>2]|0,c[g+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;$f(1231,j,C)}c[k>>2]=e[m+26>>1];Rg(1248,k)|0;a:do if(Qi(1264)|0)while(1){a=c[a>>2]|0;if(!a)break a;j=c[a+4>>2]|0;g=a+24|0;k=a+16|0;k=bh(c[g>>2]|0,c[g+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;c[l>>2]=j;c[l+4>>2]=k;Rg(1270,l)|0}while(0);a=bg(m)|0;c[n>>2]=uh(a)|0;Rg(1278,n)|0;b:do if(Qi(1294)|0)while(1){if(!a)break b;k=c[a+8>>2]|0;l=c[a+12>>2]|0;c[o>>2]=c[a+4>>2];c[o+4>>2]=k;c[o+8>>2]=l;Rg(1301,o)|0;a=c[a>>2]|0}while(0);nc(n,m);o=n;$f(1312,c[o>>2]|0,c[o+4>>2]|0);o=n+24|0;m=n;h[p>>3]=+h[o>>3]/(+((c[m>>2]|0)>>>0)+4294967296.0*+((c[m+4>>2]|0)>>>0));Rg(1325,p)|0;h[q>>3]=+h[n+8>>3];Rg(1335,q)|0;h[r>>3]=+h[n+16>>3];Rg(1344,r)|0;r=n;h[s>>3]=+Eh(+h[o>>3],+h[n+32>>3],c[r>>2]|0,c[r+4>>2]|0);Rg(1353,s)|0}else{nc(b,m);u=+h[b+16>>3];h[d>>3]=+h[b+8>>3];h[d+8>>3]=u;Rg(1155,d)|0}i=t;return}function hc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Jh(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Jh(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Jh(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Jh(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=Jh(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Jh(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Jh(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function ic(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=hh(512)|0;fc(b,s);h=ab(3673)|0;p=(h|0)!=0;if(p){fc(h,q);Td(r|0,q|0,10280)|0;h=Be(r,b)|0}else{Td(r|0,s|0,10280)|0;h=Be(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=th(b)|0;j=oi(b,59)|0;if((j|0)!=0?(Rf(3058,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Lg(k,3684,l);Li(b);c[m>>2]=f;Lg(k,3695,m);if((Ne(s,7828)|0)==0?(Ne(3104,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Ne(s,9095)|0)==0?(Ne(3139,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Lg(k,3723,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Lg(k,3712,n)}b=c[t>>2]|0;Td(r|0,s|0,10280)|0;_d(r,3737,b);if(p){Td(r|0,q|0,10280)|0;_d(r,3751,b);k=c[t>>2]|0}else k=b;ii(k,3771);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Lg(k,3810,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Lg(k,3785,u);break}}while(0);if(g|0)ii(c[t>>2]|0,g);v=c[t>>2]|0;ii(v,3831);De(h,c[v+4>>2]|0,c[v+12>>2]|0);Ch(t)}i=w;return h|0}function jc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=Nd(120)|0;c[l+4>>2]=th(a)|0;m=dg(a,jj()|0)|0;c[l+8>>2]=m;je(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Si(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Ah(9696,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=_f(m,n)|0;g=l+26|0;b[g>>1]=_f(m,n)|0;h=gf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=gf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=gf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=_f(m,n)|0;b[l+58>>1]=_f(m,n)|0;j=gf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=gf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Zf(m,n)|0;j=gf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=Nd(32)|0;c[j+4>>2]=Zf(m,n)|0;c[j+8>>2]=Zf(m,n)|0;p=gf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=gf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}kg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){ff(m,g,h);b[l+104>>1]=_f(m,n)|0;b[l+106>>1]=_f(m,n)|0;p=gf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;ff(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=Tc(a,m)|0;i=o;return l|0}function kc(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 lc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=mg(f|0,b|0,10,0)|0;f=C;e=qh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=qh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=bh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Zg(4,7904,p);f=b+36|0;e=0;while(1){d=Yd(0,1)|0;c[p>>2]=d;d=xi(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=ih(c[p>>2]|0,7990)|0;c[f>>2]=th(d)|0;d=Vd(a,d)|0;Dd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;kh(7937,g);n=0}else if((h|0)==7){d=ih(c[p>>2]|0,8e3)|0;do if(!d){d=ce(a)|0;e=C;if((e|0)<0){Dd(p);c[j>>2]=a;Ah(8016,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=Zc(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=ih(c[p>>2]|0,8083)|0;if(!d){d=ih(c[p>>2]|0,8098)|0;if(!d){Dd(p);c[m>>2]=a;Ah(8104,m)}else o=d}else o=d;if(!(Ua(o|0,8179,k|0)|0)){Dd(p);c[l>>2]=o;Ah(8204,l)}d=af(k)|0;if((d|0)==-1){Dd(p);c[q>>2]=o;Ah(8246,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Dd(p);n=200;break}}while(0);i=r;return n|0}function nc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0;n=c[d+8>>2]|0;o=c[d+16>>2]|0;e=d+72|0;f=c[e>>2]|0;e=c[e+4>>2]|0;a:do if((f|0)==0&(e|0)==0)if((b[d+24>>1]|0)==1){i=0;e=0;f=d+100|0;while(1){f=c[f>>2]|0;if(!f)break;d=c[f+4>>2]|0;m=d>>>0>i>>>0;i=m?d:i;e=m?f:e}if(e){i=e+16|0;ff(n,c[i>>2]|0,c[i+4>>2]|0);i=Zf(n,o)|0;f=0;d=0;m=0;l=0.0;k=0.0;j=0.0;g=0.0;while(1){if((m|0)==(i|0)){e=d;break a}Zf(n,o)|0;Zf(n,o)|0;Zf(n,o)|0;e=Zf(n,o)|0;if(!m){g=+Uf(n,o);l=+Uf(n,o);k=+Uf(n,o);d=0;j=+Uf(n,o)}else{e=qh(e|0,0,f|0,d|0)|0;d=C;p=+Uf(n,o);q=+Uf(n,o);k=k+ +Uf(n,o);l=q>l?q:l;j=j+ +Uf(n,o);g=p<g?p:g}f=e;m=m+1|0}}else{f=0;e=0;l=0.0;k=0.0;j=0.0;g=0.0}}else{f=0;e=0;l=0.0;k=0.0;j=0.0;g=0.0}else{ff(n,f,e);f=gf(n,o)|0;e=C;g=+Sf(n,o);l=+Sf(n,o);k=+Sf(n,o);j=+Sf(n,o)}while(0);o=a;c[o>>2]=f;c[o+4>>2]=e;h[a+8>>3]=g;h[a+16>>3]=l;h[a+24>>3]=k;h[a+32>>3]=j;return}function oc(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[3145]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Jh(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Jh(yb(146,m|0)|0)|0;la(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 pc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Bc(12198,f<<24>>24,4)|0){e=Jb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Fh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Fh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[3146]|0))c[e+76>>2]=-1;mb(12608);f=c[3151]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[3151]=e;eb(12608)}}else{c[(xh()|0)>>2]=22;e=0}i=o;return e|0}function qc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=hh(4096)|0;while(1){if((bd(b,1e6)|0)<=0){j=3;break}g=Vf(b,m,4096)|0;if(g){He(c[o>>2]|0,m,g);if(!(Pg(c[(c[o>>2]|0)+4>>2]|0,3262)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Ad(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Ad(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;kh(3218,n);g=0}else if((j|0)==18){g=xd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;kh(3264,p);g=0;break}if(!e)Ch(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function rc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;ff(c[n>>2]|0,d,e);je(c[n>>2]|0,p,1,0);je(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=_f(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}je(c[n>>2]|0,l,c[k>>2]|0,0);q=gf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;rc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;je(c[n>>2]|0,l,c[k>>2]|0,0);je(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function sc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?12628:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[480+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(xh()|0)>>2]=84;f=-1}i=l;return f|0}function tc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Vf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=qh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=bh(1,0,g|0,e|0)|0;b=qh(b|0,C|0,d|0,h|0)|0}r=(Tf(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=qh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=qh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)of(4147,l);if((b|0)==-1)of(4178,o);yg(c[m>>2]|0)|0;yg(c[a+12>>2]|0)|0;yg(c[n>>2]|0)|0;i=q;return 0}function uc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=Ge(a,2,h)|0;if((e|0)<0)if((c[(xh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;zf(9176,d)}else{be(e,h)|0;if((c[h+36>>2]|0)<64){yg(e)|0;b=0}else{sd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Si(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Ah(9199,j)}}else f=0;b=Nd(56)|0;c[b+4>>2]=Xf(e,f)|0;g=df(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=df(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Xf(e,f)|0;Xf(e,f)|0;df(e,f)|0;df(e,f)|0;df(e,f)|0;df(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function vc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){qd(b);break}if((yg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Ah(2304,k)}}else{if(!(c[a+20>>2]&2)){if(og(d)|0){c[f>>2]=c[a+12>>2];Ah(2273,f)}}else{dd(d)|0;if(og(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Ah(2243,e)}}if((Zd(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Ah(2304,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)zf(1926,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Ah(2334,l)}if(b|0)Da(2375,1579,435,2393);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Ah(2409,m)}i=n;return d>>>8&255|0}function wc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+120|0;r=s+80|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((Lb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=lj(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=Lb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Lb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)kj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function xc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=th(13128)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(ui(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Nd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(ui(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;xg(h,4,1373,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function yc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);pe(b|0,0,e|0)|0;return b|0}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=hh(512)|0;c[h>>2]=f;ii(f,b);ii(f,3054);d=b+16|0;if(a[d>>0]|0){d=xc(d)|0;ii(f,d);Li(d);d=b+2064|0;if(a[d>>0]|0){ii(f,3135);d=xc(d)|0;ii(f,d);Li(d)}ii(f,3137)}ii(f,b+4112|0);if(!((Ne(b,9101)|0)==0?!(Ne(3107,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Ne(b,7828)|0)==0?(Ne(3104,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Ne(b,9095)|0)==0?(Ne(3139,d)|0)==0:0)break;ii(f,3135);ii(f,d)}while(0);ii(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Lg(f,3143,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Lg(f,6991,k)}k=Ng(h)|0;i=l;return k|0}function Ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Ub(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}yg(a)|0;if((h|0)>0)Li(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Rf(7443,f)|0)==0?(Rf(7451,f)|0)==0:0){g=11;break}f=Vd(g,f)|0;c[j>>2]=f;a=cc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;kh(4898,k);g=14}else if((g|0)==11){c[l>>2]=f;kh(4952,l);g=14}else if((g|0)==13){c[m>>2]=f;kh(9470,m);g=14}if((g|0)==14)if((b|0)>0){Li(f);b=0}else b=0;i=n;return b|0}function Bc(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|0)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?b:0)|0}function Cc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Jh(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(xh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Jh(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;hc(e,2,j)|0}if(b&2048){c[h>>2]=hc(e,3,k)|0|2048;hc(e,4,h)|0}}}}while(0);i=l;return e|0}function Dc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[3145]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Jh(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Jh(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Fc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(5715,5767,388,5779);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Qh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)kg(b);d=d+1|0}Li(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Nd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=hh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){ii(e,1507);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){ii(e,3070);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}ii(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Ng(j)|0;if(!(c[a>>2]|0))Ah(1511,k);if(!(b&8))e=0;else{Tg(l,ge(48,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Tg(l,ge(d,l)|0);e=e+1|0}i=m;return l|0}function Hc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Zg(4,8939,p);fg(500);l=a+5|0;k=Uc(l,8846)|0;c[p>>2]=k;vi(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}fg(250);g=e-j|0;g=Pe(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Zg(4,8992,m);if(og(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;kh(9014,o);c[n>>2]=l;zf(8898,n)}else if((g|0)==6){$h(p);i=q;return a|0}return 0}function Ic(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=lj(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;Td(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Pd(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)kj(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)kj(f);return e|0}function Jc(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(!(Ke(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Td(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 Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Lc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Ad(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Mc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Nd(16)|0;else l=We(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=ji(d,e)|0;else{k=We(h,e+1|0)|0;c[l+4>>2]=k;Td(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Fc(b,sh(m)|0);return l|0}function Nc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=qj()|0;fj(12496)|0;if((c[3131]|0)!=0&(a|0)==(c[3132]|0)){Tf(2,2433,61)|0;_a(1)}dj(12496)|0;fj(12532)|0;fj(12496)|0;c[3132]=a;c[3131]=1;dj(12496)|0;if(!(c[3140]|0))c[3140]=Yd(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;xg(d,64,6991,b)|0;a=ye(c[3140]|0,d)|0;if(!a){a=Nd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Zh(c[3140]|0,d,a)|0}fj(12496)|0;c[3131]=0;dj(12496)|0;dj(12532)|0;i=e;return c[a+8>>2]|0}function Oc(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=hh(Ad(f)|0)|0;c[j>>2]=g;h=f;f=Fh(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;ii(g,h);ii(g,8634);m=f+1|0;h=m;f=Fh(m,47)|0}ii(g,h);f=Ng(j)|0;j=Ad(d)|0;m=Ad(e)|0;m=j+3+m+(Ad(f)|0)|0;j=Nd(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;xg(j,m,8636,k)|0;c[b+44>>2]=xf(b,8645)|0;c[b+48>>2]=xf(b,8652)|0;c[b+52>>2]=xf(b,8663)|0}i=l;return}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Wh(b,d,0)|0;if((d|0)>-1){b=Yf(b,1,d)|0;c[h>>2]=b;a:do if((((Vb(b,g,0)|0)!=0?(Rf(3865,c[g>>2]|0)|0)!=0:0)?(mf(g)|0,f=mf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=xd(f)|0;if(e)while(1){if(!(Vb(c[h>>2]|0,g,0)|0))break a;f=mf(g)|0;if(!f)break a;b=Hg(f)|0;Zh(e,b,th(Yg(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);qd(h)}else d=c[(xh()|0)>>2]|0;i=j;return d|0}function Rc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=sf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=684;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(xh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=wc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=Nd(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;je(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Si(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Ah(6175,j)}}else f=0;c[d+12>>2]=Zf(b,f)|0;c[d+16>>2]=Zf(b,f)|0;c[d+20>>2]=Zf(b,f)|0;g=gf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;je(b,h,4,0);je(b,h,4,0);b=bi(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Ne(b,7370)|0){if(!(Ne(b,5109)|0)){f=c[32]|0;break}e=Gd(b,d)|0;if(!e){a:do if(!d)e=13128;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=5137;break a}case 119:{e=5127;break a}default:{e=e<<24>>24==97?5116:13128;break a}}}while(0);d=Ud(c[(xh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ah(5146,g)}else f=e}else f=c[91]|0;while(0);i=h;return f|0}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;ad(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=Nd(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;Oc(a,b,h,d);c[e>>2]=0;b=a+44|0;j=ch(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=ch(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=ch(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;kg(e);Li(c[a+40>>2]|0);Li(c[b>>2]|0);Li(c[f>>2]|0);Li(a);Li(h);Li(d);d=c[e>>2]|0}i=g;return d|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ae(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Yi(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;bj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;kh(5023,f);b=0;break}}else{Me(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function Xc(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Nd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[9631+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[9631+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[9631+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[9631+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function Yc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[7068+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[7068+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function Zc(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Ai(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=mg(c|0,d|0,10,0)|0;b=b+1|0;c=bh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=bh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))zf(1652,k);l=Hh()|0;if(rg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Hh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;zf(1675,f)}if(b|0?(Df(b,0)|0)<0:0)zf(1702,g);if((d|0)!=1?(Df(d,1)|0)<0:0)zf(1722,h);if((e|0)!=2?(Df(e,2)|0)<0:0)zf(1743,j);Vg();i=k;return}function $c(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=$b(a,b)|0;if((a|0)<0)a=-1;else{if((bd(a,1e6)|0)>0)vh(a,13128,0,0)|0;c[g>>2]=0;c[h>>2]=d;xg(f,256,3307,h)|0;do if(vh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,xg(f,256,3317,j)|0,(vh(a,f,0,0)|0)==0):0){yg(a)|0;a=-1;break}if(!(vh(a,3327,0,0)|0)){yg(a)|0;a=-1}}else{yg(a)|0;a=-1}while(0)}i=k;return a|0}function ad(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Fh(b,58)|0;if(!h)h=0;else{m=ji(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Fh(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){$d(l,1024,b,k+1-b|0);c[g>>2]=vd(l)|0}j=Fh(b,47)|0;if(!j)j=b+(Ad(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=vd(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=hf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(xh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=Ud(a)|0;kh(3160,m)}i=n;return a|0}function cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Ge(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Nd(5)|0;c[g>>2]=f;if((Vf(e,f,4)|0)<4)Mh(g);else a[f+4>>0]=0;yg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Od(e)|0,Mh(h),(g|0)!=0):0){h=eg(re(b)|0,33,b,0)|0;e=Yf(b,d,Wi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function dd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Jd(a)|0;break}d=(lj(a)|0)==0;b=Jd(a)|0;if(!d)kj(a)}else{if(!(c[61]|0))b=0;else b=dd(c[61]|0)|0;mb(12608);a=c[3151]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=lj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Jd(a)|0|b;if(d|0)kj(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(12608)}while(0);return b|0}function ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=vf(e,0)|0;c[n>>2]=g;Pf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=vf(d,e)|0;else if(!f){e=Ge(d,0,h)|0;if((e|0)<0){c[k>>2]=d;zf(2212,k)}else j=e}else j=0;c[m>>2]=j;e=Ue(a,b,j,g)|0;yf(m);if(!l)yf(n);i=o;return e|0}function fd(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[(xh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function gd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Hh()|0;c[g>>2]=f;xg(a,256,6996,g)|0;d=Ce(a,1)|0;c[g>>2]=d;if(!d){j=c[62]|0;c[b>>2]=a;Kg(j,7033,b)|0;a=j}else{while(1){if(!(If(d,e)|0))break;a=c[e>>2]|0;if(Rb(a,7012)|0){j=5;break}}if((j|0)==5){j=c[62]|0;c[h>>2]=f;c[h+4>>2]=a;Kg(j,7019,h)|0}qd(g);a=c[62]|0}dd(a)|0;i=k;return}function hd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Sd(k)|0;Td(j|0,d|0,e|0)|0;Li(c);d=j;e=k;c=j}k=Nb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=th(d)|0;Li(c);c=l}i=h;return c|0}function id(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Zg(4,8705,j);h=se(a)|0;n=Uc(h,8846)|0;c[j>>2]=n;vi(n,b,0)|0;a=Pe(g+256|0,f,e,n)|0;if(!(og(n)|0)){$h(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;kh(8849,k);c[l>>2]=h;zf(8898,l)}return 0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Zg(4,8324,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(ec(a,f,e)|0){a=af(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Ah(8356,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function kd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Og(f,1369,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function ld(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;pe(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){Jc(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;Jc(h,f,a)|0}while(0);i=j;return}function md(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(!(Ke(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function nd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Mg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Sc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Mg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function od(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(oh(b)|0)){c=(Ad(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Di(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Fh(b,47)|0;if(!b){wf(e)|0;b=0;continue}else{a[b>>0]=0;wf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(lj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=md(d,b)|0;kj(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=md(d,b)|0}while(0);return e|0}function qd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Dh(c[91]|0)|0):0){yg(c[d>>2]|0)|0;Li(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Yb(d)}else lh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);Li(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Dd(g);Mh(b)}return}function rd(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=bh(h^a|0,g^b|0,h|0,g|0)|0;b=C;_b(a,b,bh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=bh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function sd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Vf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;zf(5329,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ah(5354,g)}else if((d|0)==8){i=h;return}}function td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(Ne(a,7370)|0)if(Ne(a,5109)|0){c[d>>2]=436;d=Ge(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?5137:5116;else d=5127;else d=5290;else d=5266;c[f>>2]=a;c[f+4>>2]=d;zf(5301,f)}else e=d}else e=1;else e=0;i=g;return e|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ad(b)|0;h=Ad(c)|0;d=0;e=Rb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Rb(e+g|0,b)|0}f=Ad(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Nd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Rb(a,b)|0;d=f;while(1){if(!a)break;Di(d,e)|0;j=a+g|0;i=d+(a-e)|0;Di(i,c)|0;e=j;a=Rb(j,b)|0;d=i+h|0}Di(d,e)|0;return f|0}function vd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(Lf(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=Nd(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(Lf(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;Jg(g,8628,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function wd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Sg(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function xd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Ai(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function zd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Og(f,1369,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ad(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 Bd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Xg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Bd(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 Cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(ye(c[e>>2]|0,d)|0)){Zh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Kg(g,7376,h)|0}}}while(0);i=j;return}function Dd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;yi(d);d=g}e=e+1|0}}else{zh(b);b=d+8|0}while(0);Li(c[b>>2]|0);Mh(a)}return}function Ed(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=12481;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=hc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((hc(a,4,f)|0)<0){c[g>>2]=Ud(c[(xh()|0)>>2]|0)|0;kh(2739,g);d=-1}else d=0}else{c[e>>2]=Ud(c[(xh()|0)>>2]|0)|0;kh(2708,e);d=-1}i=h;return d|0}function Gd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Bc(12198,a[d>>0]|0,4)|0){h=_e(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Jh(jb(5,e|0)|0)|0;if((e|0)>=0){b=pc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(xh()|0)>>2]=22;b=0}i=g;return b|0}function Hd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[7076+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[7084+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[7084+f>>0]}while(0);return}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ah(5925,d)}d=Gi(a,b)|0;if(!d){g=c[(xh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ah(5989,e)}else{i=f;return d|0}return 0}function Jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Kd(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=bh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return bh((_b(h,g,bh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Af(h,0);e=+Kb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Md(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=ag(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Rh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Nd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ah(6061,b)}b=aj(a)|0;if(!b){f=c[(xh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ah(6114,d)}else{pe(b|0,0,a|0)|0;i=e;return b|0}return 0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Rf(7242,a)|0))if(!(Rf(7245,a)|0))if(!(Rf(7249,a)|0))if(!(Rf(7252,a)|0))a=0;else{a=7257;e=5}else{a=7261;e=5}else{a=7265;e=5}else{a=7267;e=5}if((e|0)==5){c[d>>2]=a;xg(b,20,7270,d)|0;a=th(b)|0}i=f;return a|0}function Pd(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(oh(a)|0)){d=Gd(a,7240)|0;c[b>>2]=d;if(!d){a=0;break}else{$h(b);a=1;break}}else{f=wh()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;kh(7210,d);a=0;break}}while(0);i=e;return a|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Jb(b)|0;return a|0}if(b>>>0>4294967231){c[(xh()|0)>>2]=12;a=0;return a|0}d=Xb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Jb(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;Td(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Pb(a);a=d;return a|0}function Sd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ah(5801,b)}b=aj(a)|0;if(!b){f=c[(xh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ah(5859,d)}else{i=e;return b|0}return 0}function Td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 Ud(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[10266+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=10354;e=5;break}}if((e|0)==2)if(!c)b=10354;else{b=10354;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 Vd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;fc(b,g);fc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){$e(e,2048,d);$e(f+2064|0,2048,g+2064|0)}g=zc(f)|0;i=h;return g|0}function Wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function Xd(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Af(j,0);e=Sb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Nd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(5715,5767,357,5790);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Ag((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Qh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function Zd(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(12608);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[3151]|0)==(a|0))c[3151]=b;eb(12608)}b=dd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Pb(d);if(!e)Pb(a);return b|0}function _d(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;xg(h,256,3652,j)|0;j=Xc(h,Ad(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Lg(e,3658,k);Mh(g)}i=l;return}function $d(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Ah(5655,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;di(b,e,f)|0;a[b+g>>0]=0;i=j;return}function ae(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=bf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=5531;else e=(d|0)==2?5490:5499;else e=5522;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;zf(5540,g);return 0}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Ed(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Jh(Pa(195,f|0)|0)|0}else d=Jh(d)|0;i=g;return d|0}function ce(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;xg(g,4096,3876,e)|0;a=Yd(0,1)|0;c[e>>2]=a;if(((Qc(g,3893,a)|0)==206?(b=ih(a,3897)|0,(b|0)!=0):0)?(d=Fh(b,47)|0,(d|0)!=0):0){b=Zc(d+1|0)|0;a=C}else{a=-1;b=-1}Dd(e);C=a;i=f;return b|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0;d=wh()|0;a=Vc(a,(b|0)==0?c[31]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Pg(e,8645)|0){if(!(oh(e)|0))break a;if((cg(e)|0)>>>0<b>>>0)b=cg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ee(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[32]|0;if((c[f+76>>2]|0)>-1)g=lj(f)|0;else g=0;do if((ri(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=(md(f,10)|0)<0}while(0);if(g|0)kj(f);return d<<31>>31|0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Li(e);f=f+1|0}Li(b);Li(i);i=h}Mh(g+12|0);Mh(g+28|0);Mh(a)}return}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Nd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Nd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=th(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function he(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Ec(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Kc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Zg(4,9062,d);fg(500);if((sg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Nb(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Ah(8576,g)}else{i=h;return}}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Zg(4,8906,d);if((sg(se(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function le(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[32]|0);if((b|0)==(c[91]|0)|d)if(d){dd(b)|0;b=1}else b=1;else if(!(Zd(b)|0))b=1;else{of(5590,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Ic(b,d,1,a)|0)!=1:0){b=og(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Ah(5235,f)}else{f=Ud(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Ah(5206,e)}}i=g;return}function ne(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=vg(b)|0;do if((f|0)!=0?(Ne(f,6636)|0)!=0:0){d=Uh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ah(6359,h)}else e=d;while(0);i=j;return e|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Qh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ah(6825,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function pe(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 qe(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Ci(e&65535)|0;if(d){h=Zi(Wc(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function re(a){a=a|0;var b=0;b=th(a)|0;if(!(((Rf(7443,a)|0)==0?(Rf(7451,a)|0)==0:0)?!(Rf(7460,a)|0):0))kd(a,b,Ad(a)|0);if(!(Pg(b,7282)|0))if(!(Pg(b,7286)|0))if(!(Pg(b,7289)|0)){a=(Pg(b,7294)|0)==0;a=a?0:76}else a=112;else a=100;else a=88;Li(b);return a|0}function se(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(Rf(8753,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Ah(8760,e);if(((((Rb(b,8787)|0)==0?(Fh(b,126)|0)==0:0)?(Rb(b,8790)|0)==0:0)?(Rb(b,8793)|0)==0:0)?(Pg(8797,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Ah(8800,d);return 0}function te(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=oi(b,59)|0;if((g|0?Rf(3058,g)|0:0)?(i=(Fh(g,61)|0)+1|0,h=Fh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=Zc(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=Zc(b)|0;c[e>>2]=f}}return}function ue(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 ve(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Jh(pa(102,h|0)|0)|0;i=g;return e|0}function we(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Jh(pa(102,h|0)|0)|0;i=g;return e|0}function xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=hh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){ii(e,3070);b=c[d>>2]|0}ii(e,b);f=f+1|0}g=Ng(g)|0;i=h;return g|0}function ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Ne(c[e+4>>2]|0,d)|0)!=0);return e|0}function ze(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((Jh(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ae(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Fh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Ne(a,7828)|0)if(!(Ne(a,9095)|0)){d=eh(a+4112|0,xd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Ah(3610,e)}else d=$b(a+4112|0,xd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Ne(a,7370)|0){if(re(a)|0){c=cd(a,b)|0;break}c=Ge(a,0,c)|0;if((c|0)==-1)c=0;else c=Yf(a,b,c)|0}else c=ti(b)|0;while(0);i=d;return c|0}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Tf(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)zf(5396,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ah(5422,e)}}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){Qg(c[a+4>>2]|0,e);f=Nd(16)|0;c[f+4>>2]=ji(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(9716,9743,206,9758)}function Fe(b){b=b|0;var d=0,e=0,f=0;d=c[62]|0;f=Ud(c[(xh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=lj(d)|0;else e=0;if(b|0?a[b>>0]|0:0){ef(b,Ad(b)|0,1,d)|0;pd(58,d)|0;pd(32,d)|0}ef(f,Ad(f)|0,1,d)|0;pd(10,d)|0;if(e|0)kj(d);return}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Jh(jb(5,f|0)|0)|0;i=e;return d|0}function He(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Mg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;Td(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Jh(pa(102,f|0)|0)|0;i=e;return d|0}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=qh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Vf(b,d,e)|0;a=a+16|0;b=a;b=qh(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function Ke(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 Le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=qh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=qh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;De(b,d,e);return}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ac(2,a,d)|0)<0){b=Ud(c[(xh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;kh(4982,e);a=0}else{c[b>>2]=Yi(c[d>>2]|0)|0;a=1}i=f;return a|0}function Ne(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 Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=qh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=qh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;sd(b,d,e);return}function Pe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=qh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=qh(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ic(b,1,d,e)|0}function Qe(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=oc(b,d,e)|0;i=g;return f|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((ve(a,1,20,d,8)|0)>=0)if((ve(a,1,21,d,8)|0)<0){kh(2603,e);a=-1}else a=0;else{kh(2553,f);a=-1}i=f;return a|0}function Se(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=mi(a[e>>0]|0)|0;c=c<<24>>24;b=(mi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Te(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 Ue(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;Pf(b);a=Gc(a,b)|0;if(!(b&1)){b=gg(a+16|0)|0;c[f>>2]=b;Zb(a,b,d,e,0,0);yf(f)}else Gf(a,d,e,0,0);i=g;return a|0}function Ve(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=6;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Mb(e,b,d)|0;i=g;return h|0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=oe(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Sc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ah(5604,g)}return 0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Bc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;Td(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Ze(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Jh(ib(10,b|0)|0)|0;if(b){if((c[(xh()|0)>>2]|0)==21){c[d>>2]=a;b=Jh(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function _e(b){b=b|0;var c=0,d=0,e=0;d=(Fh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Fh(b,120)|0)==0;d=e?d:d|128;b=(Fh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Ad(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Ah(5063,f)}else{Di(a,d)|0;i=g;return}}function af(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(5704)|0;d=(b|0)!=0;if(d)$e(e,100,b);qa(5704,5707,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(5704,e|0,1)|0;else ob(5704)|0;Oa();i=f;return b|0}function bf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Jh(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function cf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;mh(e,b,8);Hi(rf(1362,jj()|0)|0);if((c[e>>2]|0)!=2)Ah(828,d);gc(c[b+4>>2]|0);if((mj()|0)>1)gd();i=d;return 0}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;sd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(lj(e)|0)==0;a=Jc(a,f,e)|0;if(!g)kj(e)}else a=Jc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=qh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[31]|0)lg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;je(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=gi(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function hf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Jh(kb(142,h|0)|0)|0;i=g;return d|0}function jf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function kf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[32]|0;else{ee(2495)|0;ee(2520)|0;d=c[32]|0;wc(d,a,b)|0;pd(10,d)|0;dd(d)|0}dd(d)|0;d=c[62]|0;wc(d,a,b)|0;pd(10,d)|0;dd(d)|0}return}function lf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Sd(h)|0;a=a+136|0;lg(a,b,d+64|0,0)|0;Oe(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function mf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Yg(e)|0,(a[d>>0]|0)!=0):0){e=Ff(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function nf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=Ud(c[(xh()|0)>>2]|0)|0;c[g+4>>2]=a;Jg(f,2547,g)|0;ph(f,e);i=d;return}function pf(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?(ef(b,d,1,a)|0)!=1:0){a=Ud(og(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Ah(5176,e)}i=f;return}function qf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Td(b,c,d)|0;return b|0}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;f=g;d=c[3143]|0;if((d|0?(e=zg(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Ah(6757,f);f=vg(a)|0;i=g;return ((f|0)==0?b:f)|0}function sf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Pd(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ah(1869,e)}}function uf(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 vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Ge(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;zf(2180,d)}else{i=e;return b|0}return 0}function wf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((ug(a,511)|0)<0)if((c[(xh()|0)>>2]|0)==17)b=0;else{Fe(13128);c[d>>2]=a;Ah(7152,d)}else b=1;i=e;return b|0}function xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Ad(c[g>>2]|0)|0;e=Ad(d)|0;b=Nd(f+2+e|0)|0;Td(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;Td(f+1|0,d|0,e|0)|0;return b|0}function yf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((yg(b)|0)<0){c[d>>2]=b;zf(1904,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=Ud(c[(xh()|0)>>2]|0)|0;c[f+4>>2]=a;Jg(e,2547,f)|0;Ph(e,d)}function Af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Bf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((yg(b)|0)<0)zf(5572,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Ad(a)|0;g=g+1+(Ad(b)|0)|0;d=Nd(g)|0;c[f>>2]=a;c[f+4>>2]=b;wg(d,g,5585,f)|0;i=e;return d|0}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Jh(d)|0;i=f;return e|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Yh(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(7314,7336,352,7352)}function Ff(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Ai(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Gf(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;g=i;i=i+16|0;h=g;c[a+16>>2]=gg(h)|0;Zb(a,b,c[h>>2]|0,d,e,f);yf(h);i=g;return}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(sg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function If(b,d){b=b|0;d=d|0;a:while(1){if(!(Vb(b,d,0)|0)){b=0;break}switch(a[(Yg(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Jf(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;a=b-a*a/(+(c>>>0)+4294967296.0*+(d>>>0));if(d>>>0>0|(d|0)==0&c>>>0>1){d=qh(c|0,d|0,-1,-1)|0;a=a/(+(d>>>0)+4294967296.0*+(C>>>0))}return +a}function Kf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Hf(b)|0;b=Uc(b,8846)|0;g=Sd(f+1|0)|0;c[d>>2]=g;me(b,g,f);a[g+f>>0]=0;Zd(b)|0;if(e|0)c[e>>2]=f;return}function Lf(a){a=a|0;a:do if(!(ui(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Td(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Nf(a){a=+a;var b=0,d=0;h[k>>3]=a;d=za(c[k>>2]|0,c[k+4>>2]|0)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(+h[k>>3])}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Vf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Pf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ah(1378,c);break}default:{}}if((a&18|0)==16)Ah(1444,b);else{i=c;return}}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(lj(a)|0)==0;b=yd(a,b,d)|0;if(!e)kj(a)}else b=yd(a,b,d)|0;return b|0}function Rf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Sf(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;i=i+16|0;d=e;je(a,d,8,0);c=+h[d>>3];if(b){c=+Nf(c);h[d>>3]=c}i=e;return +c}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Jh(pb(4,f|0)|0)|0;i=e;return a|0}function Uf(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;i=i+16|0;d=e;je(a,d,4,0);c=+g[d>>2];if(b){c=+Wg(c);g[d>>2]=c}i=e;return +c}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Jh(sb(3,f|0)|0)|0;i=e;return a|0}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;xg(e,256,5712,f)|0;Hg(e)|0;b=ye(a,e)|0;i=d;return b|0}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;sd(a,d,4);a=c[d>>2]|0;if(b){a=Vh(a|0)|0;c[d>>2]=a}i=e;return a|0}function Yf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Nd(104)|0;c[f+4>>2]=th(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Nd(65537)|0;return f|0}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;je(a,d,4,0);a=c[d>>2]|0;if(b){a=Si(a)|0;c[d>>2]=a}i=e;return a|0}function _f(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;je(a,d,2,0);a=b[d>>1]|0;if(c){a=Ti(a)|0;b[d>>1]=a}i=e;return a|0}function $f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;Rg(1143,f)|0;Dg(c[32]|0,b,d);Ri(10)|0;i=e;return}function ag(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;_b(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function bg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];nh(c[a+20>>2]|0,b,1);kg(b);i=d;return c[b>>2]|0}function cg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((sg(a,b)|0)<0){c[d>>2]=a;Ah(7179,d)}else{i=e;return c[b+56>>2]|0}return 0}function dg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ob(a,b)|0;if(!b){c[d>>2]=a;Ah(9470,d)}else{i=e;return b|0}return 0}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=ed(g,b,d,e)|0;i=f;return e|0}function fg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;hf(0,0,0,0,b)|0}i=d;return}function gg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((_g(b)|0)<0)zf(1541,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function hg(b){b=b|0;var c=0,d=0;c=Ad(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Ai(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function ig(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[14]|0)>=(a|0)){a=c[3141]|0;if(!a){a=c[62]|0;c[3141]=a}wc(a,b,d)|0;dd(c[3141]|0)|0}return}function kg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=qh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return ae(b,d,e)|0}function mg(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=jf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function ng(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(Ne(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function og(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(lj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)kj(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function pg(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;a=Uc(a,7240)|0;c[f>>2]=a;pf(a,b,d);$h(f);i=e;return}function qg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=9126;c[a+4>>2]=352;Ah(9105,a);return 0}function rg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Jh(cb(57,e|0)|0)|0;i=d;return a|0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Jh(Pa(195,e|0)|0)|0;i=d;return a|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Jh(hb(38,e|0)|0)|0;i=d;return a|0}function ug(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Jh(Ia(39,e|0)|0)|0;i=d;return a|0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[3142]|0;if(!b)Ah(6725,d);else{a=rh(b,a)|0;i=d;return a|0}return 0}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Sc(a,b,d,g)|0;i=f;return e|0}function xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Xe(a,b,d,g)|0;i=f;return e|0}function yg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=Jh((a|0)==-4?-115:a)|0;i=b;return a|0}function zg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Ne(d,a)|0))break;b=b+8|0}return b|0}function Ag(a){a=a|0;var b=0;b=Nd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;oe(b,a)|0;return b|0}function Bg(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=Jh(Wa(6,d|0)|0)|0;i=b;return a|0}function Cg(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]}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;i=i+32|0;e=d;bc(e,b,c);ri(e,a)|0;i=d;return}function Eg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Gg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Nd(d+1|0)|0;c=(c|0)<(d|0)?c:d;Td(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Hg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=mi(c<<24>>24)|0;d=d+1|0}return b|0}function Ig(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=ni(c<<24>>24)|0;d=d+1|0}return b|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=ai(a,b,f)|0;i=e;return d|0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=wc(a,b,f)|0;i=e;return d|0}function Lg(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;nd(a,b,f);i=e;return}function Mg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Yh(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Ng(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(6854,6865,40,6881);else{b=c[b+4>>2]|0;Mh(a);return b|0}return 0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ve(a,b,f)|0;i=e;return d|0}function Pg(a,b){a=a|0;b=b|0;var c=0;c=Ad(a)|0;c=c-(Ad(b)|0)|0;if((c|0)<0)c=0;else c=(Ne(a+c|0,b)|0)==0&1;return c|0}function Qg(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Si(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Si(c[a>>2]|0)|0}return}function Rg(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=wc(c[32]|0,a,e)|0;i=d;return b|0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Tg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Ug(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Li(b);b=d}c[a>>2]=0;return}function Vg(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;yg(b)|0;b=b+1|0}return}function Wg(a){a=+a;var b=0;b=Vh((g[k>>2]=a,c[k>>2]|0)|0)|0;return +(c[k>>2]=b,+g[k>>2])}function Xg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Yg(b){b=b|0;if(!b)b=0;else while(1)if(!(Ai(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Zg(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;jg(a,b,f);i=e;return}function _g(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Jh(wa(42,d|0)|0)|0;i=b;return a|0}function $g(a,b,c){a=a|0;b=b|0;c=c|0;a=Id(a,c)|0;if(c>>>0>b>>>0)pe(a+b|0,0,c-b|0)|0;return a|0}function ah(){}function bh(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 (C=d,a-c>>>0|0)|0}function ch(a){a=a|0;var b=0;if(!a)a=Nd(8)|0;else{b=Nd((Ad(a)|0)+8|0)|0;Di(b+4|0,a)|0;a=b}return a|0}function dh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[14]=a;c[d>>2]=0;i=b;return}function eh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Ah(7092,d);return 0}function fh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function gh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=9126;c[a+4>>2]=360;Ah(9105,a);return 0}function hh(a){a=a|0;var b=0;b=Nd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Nd(a+1|0)|0;c[b+8>>2]=a;return b|0}function ih(a,b){a=a|0;b=b|0;a=Wf(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function jh(){var a=0,b=0;b=i;i=i+16|0;a=Cc(2,1,0)|0;if((a|0)<0)kh(2678,b);i=b;return a|0}function kh(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;ph(a,e);i=d;return}function lh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=vc(b)|0;fe(a)}return b|0}function mh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[3142]|0)){Oh(Tb(a,b,0,d,0)|0);c[3143]=d}return}function nh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;rc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function oh(a){a=a|0;if((Ne(a,7370)|0)!=0?(Ne(a,5109)|0)!=0:0)a=(Hf(a)|0)!=-1&1;else a=1;return a|0}function ph(a,b){a=a|0;b=b|0;var d=0;d=Nc()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&1](a,b);return}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function rh(a,b){a=a|0;b=b|0;a=ye(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function sh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function th(a){a=a|0;var b=0;if(!a)a=0;else{b=Ad(a)|0;a=Gg(a,b,b)|0}return a|0}function uh(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hi(a,b);return qc(a,b,c,d)|0}function wh(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function xh(){var a=0;if(!(c[3145]|0))a=12624;else a=c[(qj()|0)+64>>2]|0;return a|0}function yh(a){a=a|0;if(!a)a=0;else{a=Yg(a)|0;hg(a)}return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ug(b);Li(b);c[a>>2]=0}return}function Ah(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ph(a,d)}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Ch(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Li(c[b+4>>2]|0);Mh(a)}return}function Dh(a){a=a|0;if((c[a+76>>2]|0)>-1?lj(a)|0:0)kj(a);return c[a+60>>2]|0}function Eh(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;return +(+O(+(+Jf(a,b,c,d))))}function Fh(b,c){b=b|0;c=c|0;b=Lc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Gh(){var a=0;a=Nc()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Hh(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ih(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Bf(b+52|0);Mh(a)}return}function Jh(a){a=a|0;if(a>>>0>4294963200){c[(xh()|0)>>2]=0-a;a=-1}return a|0}function Kh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=fd(a,b,0)|0;return a|0}function Mh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)cj(b);return}function Nh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Oh(a){a=a|0;c[3142]=a;if(vg(6217)|0)dh(ne(6217,0)|0);return}function Ph(a,b){a=a|0;b=b|0;c[(Nc()|0)+4>>2]=1;ph(a,b);Gh()}function Qh(a){a=a|0;var b=0;b=Sd(a)|0;pe(b|0,0,a|0)|0;return b|0}function Rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _b(a,b,c,d,0)|0}function Sh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;a=Xd(a,b,c,0,-2147483648)|0;return a|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;a=Xd(a,b,c,-2147483648,0)|0;return a|0}function Vh(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;return ic(a,b,3834,3843,c)|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;return $g(a,b,c)|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;return Mc(a,b,Ad(b)|0,c)|0}function _h(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function $h(a){a=a|0;if(!(le(a)|0))Gh();else return}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return Sc(a,2147483647,b,c)|0}function bi(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function ci(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&1](b|0,c|0)}function di(a,b,c){a=a|0;b=b|0;c=c|0;yc(a,b,c)|0;return a|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;return Ye(a,b,c)|0}function fi(){if((ab(2528)|0)==0?(ab(2538)|0)==0:0)_a(-1);Za()}function gi(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function hi(a,b){a=a|0;b=b|0;De(a,b,Ad(b)|0);return}function ii(a,b){a=a|0;b=b|0;He(a,b,Ad(b)|0);return}function ji(a,b){a=a|0;b=b|0;return Gg(a,Ad(a)|0,b)|0}function ki(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,b,0,c)|0}function li(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function mi(a){a=a|0;var b=0;b=(Vi(a)|0)==0;return (b?a:a&95)|0}function ni(a){a=a|0;var b=0;b=(Ui(a)|0)==0;return (b?a:a|32)|0}function oi(a,b){a=a|0;b=b|0;return ig(a,b,(Ad(a)|0)+1|0)|0}function pi(a){a=a|0;if(!(c[a+68>>2]|0))kj(a);return}function qi(a){a=a|0;if(!(c[a+68>>2]|0))kj(a);return}function ri(a,b){a=a|0;b=b|0;return (ef(a,Ad(a)|0,1,b)|0)+-1|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,b,1,c)|0}function ti(a){a=a|0;return Yf(7370,a,Dh(c[91]|0)|0)|0}function ui(a){a=a|0;return ((a+-48|0)>>>0<10|(Mi(a)|0)!=0)&1|0}function vi(a,b,c){a=a|0;b=b|0;c=c|0;return Qf(a,b,c)|0}function wi(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function xi(a,b){a=a|0;b=b|0;return Qc(a,3871,b)|0}function yi(a){a=a|0;Li(c[a+4>>2]|0);Li(a);return}function zi(a,b){a=a|0;b=b|0;i=a;j=b}function Ai(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Bi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Ci(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Di(a,b){a=a|0;b=b|0;Pc(a,b)|0;return a|0}function Ei(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Fi(a){a=a|0;return jc(a,-2003829722,7144)|0}function Gi(a,b){a=a|0;b=b|0;return Rd(a,b)|0}function Hi(a){a=a|0;c[31]=th(a)|0;return}function Ii(a,b){a=a|0;b=b|0;return +(+Ld(a,b,1))}function Ji(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Ki(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Li(a){a=a|0;if(a|0)cj(a);return}function Mi(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Ni(a,b){a=+a;b=+b;return +(+nf(a,b))}function Oi(a,b){a=+a;b=b|0;return +(+wd(a,b))}function Pi(a,b){a=+a;b=b|0;return +(+Bd(a,b))}function Qi(a){a=a|0;return (vg(a)|0)!=0|0}function Ri(a){a=a|0;return pd(a,c[32]|0)|0}function Si(a){a=a|0;return Vh(a|0)|0}function Ti(a){a=a|0;return Ki(a|0)|0}function Ui(a){a=a|0;return (a+-65|0)>>>0<26|0}function Vi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Wi(a){a=a|0;return c[a+16>>2]|0}function Xi(a,b){a=+a;b=+b;return +(+dc(a,b))}function Yi(a){a=a|0;return Vh(a|0)|0}function Zi(a){a=a|0;return Vh(a|0)|0}function _i(a,b){a=a|0;b=b|0;ba(7);return 0}function $i(a){a=a|0;Hb[a&1]()}function aj(a){a=a|0;return Jb(a)|0}function bj(a){a=a|0;Pb(a);return}function cj(a){a=a|0;Pb(a);return}function dj(a){a=a|0;return 0}function ej(a,b){a=a|0;b=b|0;ba(3)}function fj(a){a=a|0;return 0}function gj(a){a=a|0;i=a}function hj(a){a=a|0;C=a}function ij(a){a=a|0;ba(5);return 0}function jj(){return c[31]|0}function kj(a){a=a|0;return}function lj(a){a=a|0;return 0}function mj(){return c[14]|0}function nj(){return C|0}function oj(){return i|0}function pj(a){a=a|0;ba(2)}function qj(){return 0}function rj(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[Ji,Qe,ze,oc,Dc,Mf,ei,Ji];var Cb=[li,Ee];var Db=[pj,qi,pi,pj];var Eb=[ej,kf];var Fb=[Nh,id,Hc,Wb,qg,Nh,Nh,Nh];var Gb=[ij,Bg,tc,ij];var Hb=[rj,fi];var Ib=[_i,ke,ie,mc,jd,gh,_i,_i];return{_llvm_bswap_i16:Ki,_i64Subtract:bh,_free:Pb,_main:cf,_htonl:Zi,_realloc:Rd,_i64Add:qh,_memmove:qf,_pthread_self:qj,_pthread_mutex_unlock:dj,_memset:pe,_malloc:Jb,_pthread_mutex_lock:fj,_memcpy:Td,_llvm_bswap_i32:Vh,_bitshift64Lshr:Xg,_htons:Ci,_bitshift64Shl:Sg,___errno_location:xh,_ntohs:Bi,runPostSets:ah,stackAlloc:Kh,stackSave:oj,stackRestore:gj,establishStackSpace:zi,setThrew:_h,setTempRet0:hj,getTempRet0:nj,dynCall_iiii:Bh,dynCall_viiiii:fh,dynCall_vi:Ei,dynCall_vii:ci,dynCall_iiiiiii:Eg,dynCall_ii:wi,dynCall_v:$i,dynCall_iii:Xh}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigWigInfo_static.js.html b/bedTools/bigWigInfo_static.js.html
new file mode 100644
index 0000000000000000000000000000000000000000..0a4ca0b154d5113f4030f688bd7ffe33ccdbb496
--- /dev/null
+++ b/bedTools/bigWigInfo_static.js.html
@@ -0,0 +1,1319 @@
+<!doctype html>
+<html lang="en-us">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Emscripten-Generated Code</title>
+    <style>
+      body {
+        font-family: arial;
+        margin: 0;
+        padding: none;
+      }
+
+      .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
+      div.emscripten { text-align: center; }      
+      div.emscripten_border { border: 1px solid black; }
+      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
+      canvas.emscripten { border: 0px none; }
+
+      #emscripten_logo {
+        display: inline-block;
+        margin: 0;
+      }
+
+      .spinner {
+        height: 30px;
+        width: 30px;
+        margin: 0;
+        margin-top: 20px;
+        margin-left: 20px;
+        display: inline-block;
+        vertical-align: top;
+
+        -webkit-animation: rotation .8s linear infinite;
+        -moz-animation: rotation .8s linear infinite;
+        -o-animation: rotation .8s linear infinite;
+        animation: rotation 0.8s linear infinite;
+
+        border-left: 5px solid rgb(235, 235, 235);
+        border-right: 5px solid rgb(235, 235, 235);
+        border-bottom: 5px solid rgb(235, 235, 235);
+        border-top: 5px solid rgb(120, 120, 120);
+        
+        border-radius: 100%;
+        background-color: rgb(189, 215, 46);
+      }
+
+      @-webkit-keyframes rotation {
+        from {-webkit-transform: rotate(0deg);}
+        to {-webkit-transform: rotate(360deg);}
+      }
+      @-moz-keyframes rotation {
+        from {-moz-transform: rotate(0deg);}
+        to {-moz-transform: rotate(360deg);}
+      }
+      @-o-keyframes rotation {
+        from {-o-transform: rotate(0deg);}
+        to {-o-transform: rotate(360deg);}
+      }
+      @keyframes rotation {
+        from {transform: rotate(0deg);}
+        to {transform: rotate(360deg);}
+      }
+
+      #status {
+        display: inline-block;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-left: 20px;
+        font-weight: bold;
+        color: rgb(120, 120, 120);
+      }
+
+      #progress {
+        height: 20px;
+        width: 30px;
+      }
+
+      #controls {
+        display: inline-block;
+        float: right;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-right: 20px;
+      }
+
+      #output {
+        width: 100%;
+        height: 200px;
+        margin: 0 auto;
+        margin-top: 10px;
+        border-left: 0px;
+        border-right: 0px;
+        padding-left: 0px;
+        padding-right: 0px;
+        display: block;
+        background-color: black;
+        color: white;
+        font-family: 'Lucida Console', Monaco, monospace;
+        outline: none;
+      }
+    </style>
+  </head>
+  <body>
+    <a href="http://emscripten.org">
+      <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="296px" 
+   height="78px" 
+   viewBox="420 120 100 170"
+   enable-background="new 0 0 900 400"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="emscripten_powered_by_logo.svg"><metadata
+   id="metadata345"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs343"><linearGradient
+     y2="247.6265"
+     x2="225.1929"
+     y1="152.499"
+     x1="225.1929"
+     gradientUnits="userSpaceOnUse"
+     id="linearGradient5104"><stop
+   id="stop5106"
+   style="stop-color:#C1D72F"
+   offset="0.3227531" /><stop
+   id="stop5108"
+   style="stop-color:#BCD631"
+   offset="0.45119295" /><stop
+   id="stop5110"
+   style="stop-color:#AFD136"
+   offset="0.64491969" /><stop
+   id="stop5112"
+   style="stop-color:#ABD037"
+   offset="1" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.0123" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.3086" /><a:midPointStop
+   style="stop-color:#ABD037"
+   offset="1" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5120"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter
+     inkscape:collect="always"
+     id="filter5126"><feGaussianBlur
+       inkscape:collect="always"
+       stdDeviation="0.56377237"
+       id="feGaussianBlur5128" /></filter><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5134"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996" /></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1440"
+   inkscape:window-height="838"
+   id="namedview341"
+   showgrid="false"
+   inkscape:zoom="0.63555556"
+   inkscape:cx="224.82424"
+   inkscape:cy="-52.085109"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_1" /><g
+   id="g5130"
+   transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path
+     transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)"
+     id="path5122"
+     style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)"
+     d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc"
+     inkscape:connector-curvature="0"
+     d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z"
+     style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none"
+     id="path5080" /></g><path
+   fill="#E2E2E2"
+   d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36  c-2.646,0-4.8-2.153-4.8-4.8V165.236z"
+   id="path3" /><path
+   d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path5"
+   inkscape:connector-curvature="0"
+   style="fill:#e2e2e2" /><path
+   fill="#F5F5F5"
+   d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36  c-2.646,0-4.8-2.153-4.8-4.8V163.236z"
+   id="path7" /><g
+   id="g9"><g
+   id="g11"><path
+   fill="#FBFDF8"
+   d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663    c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path13" /><path
+   fill="#F0F4E1"
+   d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663    c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663    c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527    C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z"
+   id="path15" /></g><defs
+   id="defs17"><filter
+   id="Adobe_OpacityMaskFilter"
+   filterUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix20" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"
+   id="SVGID_1_"><g
+   filter="url(#Adobe_OpacityMaskFilter)"
+   id="g23"><image
+   overflow="visible"
+   width="422"
+   height="480"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAg2AAAQ4QAAF1b/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAeMBqQMBIgACEQEDEQH/ xACjAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAgEBAQAAAAAAAAAAAAAAAAAAAAEQAAEDAQQKAwAC AwEAAAAAAAABAwQCMRMUBRBQEjMVJQYWNgcgESEwI5AiMkARAAEBAwsEAQIFAwUBAAAAAAABMQID EFAycqOz0wQ0RaURIXGRIEFRMGEiExRAgRKh0SMzQxUSAQAAAAAAAAAAAAAAAAAAAJD/2gAMAwEA AhEDEQAAANUJsrZYFfFgV8WBXxYEL0ki5fo6GjJuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRu aRuaMHQ5dR3ojnJ9XxYFfFgV8WD0jxf2AodbslbAD6mDhlpLvI/qkuiovZL7CGzNfRCJwQacEGnB Bp0QSdEEnRBJ0QSdEEnRBJ3BBpwQacEHidwQXzPfBA6bBqK5w2nlKVH3iJitt+gAeweP+wFDrdkr Y+vmaN02k6+e3d2Gjo6N0c2zoyaM7xozuGluGluGluGluGluGluGluGluGluGluGluGnG8c/z1YO PVIfJF80xoIGPsfBVVrl6hIrD7+B7B4/7AUOt2StnXaYyxHTJ6ZKvrqb4x9MgAAAAAAAAAAAAAAA DGR8692Dh4pbkIKJscTVNiLdVY1+weP+wFDgJ+JLJORs3XbIc3dGz6ZAAAAAAAAAAAAAAAAAAAPn R0ayMi5uLqv1S51eIT2Dx/2AofB38Ra5uIm6kOzm6o+gAAAAAAAAAAAAAAAAAAAPj7+TkjJWNIOt 2et1WfYPH/YIofH2cZcJyEnKkenn6IyAAAAAAAAAAAAAAAAAAABjODmjZONIWt2WtVWPYPH/AGCK Hx9nIXGcg5ypLfo3xkAAAAAAAAAAAAAAAAAAADGcHPGyUaQ1astaqseweP8AsEUPk6+QuM7BTtSW 7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAA AAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4Oe OkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsH j/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYK dqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAA AAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f8AYIofJ18hcZ2Cnakt2ndGQAAAAAAAAAAAAAAAAAAA MZwc8dIxxDVmzVmqx7B4/wCwRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNm rNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr 5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3Rk AAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAA AAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ 1Zs1ZqseweP+wRQ+Tr4y5TkHOVJb9G+MgAAAAAAAAAAAAAAAAAAAYzg542SjSGrVlrVVj2Dx/wBg ih8fZxlxnIKcqT6ObpjIAAAAAAAAAAAAAAAAAAAGM4OeNkY0h61Za1VY9g8f9gih8Xbwlxm4GbqW 6uLrj7AAAAAAAAAAAAAAAAAAAA+fr5OaNkI0ia1Y61Vb9g8f9gihxknCl1m65N1OdsZ3x0ZxkAAA AAAAAAAAAAAAAAAAx8fek5ozui6jazYKsRPsHj/sEUOu2Ktlqn6XZ6scjBSRLbOPpjYxkAAAAAAA AAAAAAAAAAYfJjm+uM0xXVE1xVOZr0Y9g8f9gKHW7JWz7s1W6i9SdYlasXXB9pLbI7fHY5/s3NeT 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs DyhP1cpjbLcVojtDLY3QIn1qZU+yugebJDRKaJ7CVUvtq27o9geURaLx6C19JFbI7Y1QU0/WqFQd oH6CS2TG/wAzZrZd0ewPKMqo2n4VH5FoGKBunVTifj9JJpJdBnVH+mj2B5RkqfdcOki0jFJQn5qm pPx5CTSS6TOKf6tHsDyjI0/2hIRU/GUKbNU1DyfklCWhm6f06PYHlGRf9QkIqfjKCWapWx4kkszj daPYHlGQ2wrItjImqlseJJMM43Wj2B5RkNsEjWNarUeJJMM43Oj2B5RkNsEjWNarUeJJMM43Oj2B 5RkNsGyLY1qtR6ySTDONzo9geUZDbBsi2NarUesk2TDON1o9geUZDbBsjWNarUesk2TDON1o9geU ZDbBsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDb BsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsj WNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNa rUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUe skkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskk wzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzj daPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzjdaP YHlGQ2wbI1jWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJJMM43Oj2B 5RkNsGyNY1qtR4kkwzjc6PYHlGQ2wSNY1qtR4kkwzjc6PYHlGQ2wrItjImqlseJJMM43Wj2B5RkV sJSKv4yolmqVseJJLM43Wj2B5Rkf/UJSKv4ypTZqmoeX8kqS1M43Oj2B5Rki/wC0Koi1DKlC/mqa h5SSpLUzdf6tHsDyjJ6/p2HURaxiobX81TWv4/USaiXUZy59N6PYHlGXubEiE5+RaxisaqEXVCjl Q/WSayXX+Zy59ro9geUUVbNeXPpVRFdI7gzWUVfeqK6h2skOElwmu/ST3bx/R7A8oMpk/SxHiM8M OjThTX9iLqWqr6HHB50kOkp4zSVsUVKqro9geUDLit15fLSumM+MPjTw26UuCVH2moPsWoqcK3R1 4feJD5MkIiTpKvO6fYHlGiFLViuHLSpGJAzIGnyh8peKXRHEEcQ20NtDbQ2kNpDaQ2kNpDaQ2kNp DaQ2kNpDaQ2kNpDaQ2kNpDaQ2kNpDaQ20NtDbQVxBXEFdKnit8cfHpA/IJMn6TMp+0vw9geUaYU+ pmqJNprRmUNSRuSUSSmQgkgSQI+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X4r4sgWQV SCuSOSR2SPSiRLREzDMlUVVVfh7A8o+EeW4wsTNKKxmYijcsollMspliSxJZjDGIYxDGIYxDGIYx DGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxBZYssqllUsrljksdmISsxooSVmLjyqq r8vYHlHxRVRWZ77QznNI3mzSlGZUKU5hSJmKHEUOIocRQ4jScRQ4ihxFDiKHEUOIocRQ4ihxFDiK HEUOIocRQ4ihxFDiKHEUOIocRpOIocRQ4ihxFBcxQXMEKsxpHM1aQezmhB/M3nCquqtfn7A8o/hS utC9dL50vnS/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/ eL50vnS9dLytT7X+PrDhvHuTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOT HJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY/pP/aAAgBAgIGPwBR f//aAAgBAwIGPwBRf//aAAgBAQEGPwCPk8jmv2su47DV1z9uE90V5xHl7vuKrTXWMHDNdYwcM11j BwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHD NdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11 jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMH DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z"
+   transform="matrix(0.24 0 0 0.24 174.5615 142.499)"
+   id="image25"></image></g></mask><g
+   opacity="0.09"
+   mask="url(#SVGID_1_)"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   id="g27"><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M195.361,251.626    c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527    c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path29" /><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M255.024,152.499    c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527    c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527    c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499    L255.024,144.499z"
+   id="path31" /></g></g><g
+   id="g33"><g
+   id="g35"><linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="152.499"
+   x2="225.1929"
+   y2="247.6265"><stop
+   offset="0.0123"
+   style="stop-color:#C1D72F"
+   id="stop38" /><stop
+   offset="0.1394"
+   style="stop-color:#BCD631"
+   id="stop40" /><stop
+   offset="0.5859"
+   style="stop-color:#AFD136"
+   id="stop42" /><stop
+   offset="1"
+   style="stop-color:#ABD037"
+   id="stop44" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="0.3086"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="1"
+   style="stop-color:#ABD037" /></linearGradient><path
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527    c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path46"
+   fill="url(#SVGID_2_)" /></g><defs
+   id="defs48"><filter
+   id="Adobe_OpacityMaskFilter_1_"
+   filterUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix51" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"
+   id="SVGID_3_"><g
+   filter="url(#Adobe_OpacityMaskFilter_1_)"
+   id="g54"><image
+   overflow="visible"
+   width="356"
+   height="414"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAXBAAALIQAAEOP/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAaEBawMBIgACEQEDEQH/ xACYAAEAAgMBAQAAAAAAAAAAAAAABAcBBQYDAgEBAAAAAAAAAAAAAAAAAAAAABAAAAMIAwEAAgMB AAAAAAAAAAIGATIDBBQFFjZQMwcRECKQMRMSEQABAgQEBgEBBwQDAQAAAAAAAQIxcgMEEFCRsyGC M6PTNBFBIGFxEiIyE1GB0UKhscFiEgEAAAAAAAAAAAAAAAAAAACQ/9oADAMBAAIRAxEAAADy0npz Z0Dnx0DS7Q9kr0IKcIKeICeICeICeICeICeICeICeICeICeICeICeICfggp2CElQD1aXxOgc+O1s um7kKj5vpObG6d2Q9zspRA9JmSGmCHmWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIaYIeJo1sPe 4OK5C2tCVS3OmN5clN3IVHod9EOv6zWb0zkAAAAAAAAAAAAAAAAAMRJnwcVXltVuetyU3chUfp5+ 5YexhTgAAAAAAAAAAAAAAAAABjODUVxZNbnjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwaut rJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAA AAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjy Cx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1t ZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAA AAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQ WPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautr JrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAA AAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyC x5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZ NbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAA AAAAAAABjODV1tZNbHjclN3IVH7+HqWTO1uxMgAAAAAAAAAAAAAAAAAYzg1Vb2NXB5XJTdyFRx5G jLc3XG9SS2MgAAAAAAAAAAAAAAAAD4+ohqq47GvTa3JTdyFR830nNm/7qp+gLVk8fuDcZgehLRBL RBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBKQohP0MbkT40OcG8uSm7kKj5vpObAJm45sd n98SO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3xxI7PX84JcQAN5 clN3IAAAAAAAAAAAAAAAAAAAAAAAf//aAAgBAgABBQD+G3//2gAIAQMAAQUA/ht//9oACAEBAAEF AFgq7/bL9narGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxn arGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qx narGdqsZ2qxnarCYVyhn78PQNo/MCUmJhssm48QEScNrGJGEMQgjEIIxCCMQgjEIIxCCMQgjEIIx CCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIQakYQOlI bGTCajw2R5SPLm/KK2gegbR+LVYzzDZGzFKyBaysYS3FYGSBBQkFCQUJBQkFCQUJBQkFCQUJBQkF CQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQNkCA9uK0R7WVrJ+ykMy6WI8BrW NY0IraB6BtAsdqbMHtttYxkvKFKxhCs4JpCtExKFMy5W5jWX22NgRAitoHoG0SsBsePZZFhSSkuw peFm5dhi3qRKYk1BbAjoraB6BtCcl/8ASYtUBjCkL8Lwp2fS3WCxpVDA/wA5lFbQPQNoShGNLbif CcM3+roX9VQz4ZFbQPQNoSLP0t7P04e5uql5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW 0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5F bQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnk VtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqe RW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp 5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6q nkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubq qeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5u qp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m 6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSLlvb+nD3N1UvIraB6BtCTN8Jbj /ScM3+rob9VQ36ZFbQPQNoTUx/xGtcdjSlb9ZwsRvwt1jMYVRR/+5hFbQPQNokZinmbPOsaWVjsM XhZuOwpbxOsYWcjtjzCK2gegbQLDdv8ANtuuDGsgTJTMYZjeCaZjBHmSlZcbgxjL9dGxDBFbQPQN oDGtK2z31pBJXYrWQLmVrCz5Whk8QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFa QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkDZ4gNPkYI9zKxk7dysZdr80zTGaZoRW0D0DaPzK3Oalmyy oYwEVEv8yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGV S4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXB1RL/JlUMMyauU1Mt/KK2gegbRxaK2jj/wD/ 2gAIAQICBj8AG3//2gAIAQMCBj8AG3//2gAIAQEBBj8Ar2djdfxW7G01az+Ok74VzEcvF7FWJ73Z o+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+ M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M9 7s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s 0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+Ms7O7u/5Leq5yVGfx0m/KIxzotYixTC5kpbbfsfFJir 9/0EWo74+5qHH8y/3IO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U g7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U4fmT+5803fP3Kn+D4qsVP v+n2LCd22/C5kpbbcUqVkX4+jf8AIiI34QTgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIEBe AqK1FRfuFqUE/SkWf4PhY4WE7tt+FzJS224JWqJw+f0ov/YnATgcMi4i8BeAtdifpX9yf+4WE7tt +FzJS22jKSfVeP4DUROCCcMmXgORU4KPpL/qvD8CwndtvwuZKW20dUVIcEE4Hxkyi8BHon7uC/2L Cd22/C5kpbbT5/8AoTKFG/iWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttp zKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+Fz JS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu 234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFG zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k="
+   transform="matrix(0.24 0 0 0.24 182.5615 150.499)"
+   id="image56"></image></g></mask><g
+   opacity="0.35"
+   mask="url(#SVGID_3_)"
+   a:adobe-opacity-share="1"
+   id="g58"><path
+   a:adobe-opacity-share="0"
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663    c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path60"
+   fill="#1D2915" /></g></g><linearGradient
+   id="SVGID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="226.1924"
+   y1="159.7139"
+   x2="226.1924"
+   y2="200"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop63" /><stop
+   offset="0.3788"
+   style="stop-color:#F8FBF3"
+   id="stop65" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop67" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.4383"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></linearGradient><polygon
+   fill="url(#SVGID_4_)"
+   points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61   227.655,173.61 236.978,159.714 "
+   id="polygon69" /><g
+   id="g71"><g
+   id="g73"><g
+   id="g75"><image
+   overflow="visible"
+   opacity="0.75"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="392"
+   height="242"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAD2CAYAAADF97BZAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHohJREFUeNrsnYlu40gSBZMU5Z75 /4+dbUsiFwtY2JrqvIqHSEoRACFZPtqk3BV8WVcvAAAACXouAQAAIAwAAEAYAADwWgYuwSp0XAKA wzJxCRAGIgCANf8fIxaE8RIxIBaA8yeMDokgjLkNfLfyzwOAfWTRNX49EkEY5h9N6+sIAuC8/++n mXKZjJ/5UfIYPuyPRXut9WOEAXDuxOGJYEqKZPpEebyjMOYKoTO+BmEAfIYwSjG0JJFaHm8rjncS RkYE2uutwkAgAO8liezzTPqY3jl1vIMwooa+fi0SRvQzshIBgHMKYwpez5Su3jJ1nFUYLWWlznne KpHW5AEAx5fF5Aijfi0jDy91nFocZxRGJgnUMvDkkf3arDiQCMD+YshIwxKE93xy5CGJ1HFqcZxJ GEsE4b0WHa3JA2EAHEcYU8PjlJREdESp47TiOIMwIlG0yqEPPl4iDmQBcCxpZMtOmWNs+Fy2n6M7 kzSOLIy5oogk0SsfZwWCNADeSxhZMYzGYy2I8uslIY5TpY2jCiMzsikjCO2xDz4fiaNFGggDYD9h LJGF9uh9rq8+7hxxWLI4vDiOJozsKCdPFJoc5ry2JG0gDYDzJouxOrTXLJHUsuiKz4uROurS1GHL VEcShpcqNGFoZSZLBBfla6zXO0MeGXGQMgCOkyyyopgCMfzveDifs44yRdQlLKtEdei0cRRhaLKI UkXZoFtCeH7uUn3dJfF9UV8HwgA4tzDG6nktjYfy/OF8zhJLZ0hjEns01SHTxt7C8EpQmdKTlhQu lSguxmu1TLSfNac8hTQAji+MMZEsahHUx6g8743v1aQxOudzSGnsKYyoBOUlCk0StQQGRRrW4aUO bWRVpj8DYQDsI4xaFJEwPFk8FGHcDYGUR1/Jon7uzf84bIlqL2FkS1BWP8XFSRKDIozBEclgiMPq CJ8rDSQCsI0cWmWRTRaWDO7BYy2OXhFH2SE+BudymLSxhzAsWbSkCk8S3vNBkUdGGJE06pTUIgTE AbCOKLRylCYNqxyVTRV347gYX9sr4nhUotDKVPXw292l8WphtMrCSxWeEOrjqghDE0hUlrKkYaUL ZACwj1S8lBGli1oYWpL433Eznl8qWdxFL2trfRsiev/GIaTxSmFkJ99po5+0RBHJoXy8Bt+j9WmU /743qU/E7vxGGgD7JBBrCRCvs9sqRd2NZHErRDEY4iiTxV1p72ppiPx/IqDVr7GbNF4ljBZZaKnC E0UtBu3jq5E0PGFcgpJUH8gCcQDsJworXWQTRiSMWyWM5/Oheu3ZltzFLmk/lPbhkCOoXiEMreHM 9FVYsrhWz8vjS3lNE8dglKiyHd9ewqAsBbB/KcoThjbvwhpCG6WL8vgu2pRb0XbdnGpFKY26vbCG 3u4mja2Fkemz8EpQZWOulZq+gkdNIlFZaq4wBGkAHFYWIm2d3lG6uFeiKNPFt9Ku3ESfEOyJY3TS xi7S2FIYc2ThpQpLFF/Bx6U4auFckiWpFlkgCoBjiCPb8T01Jow6WVx/JHEtZPEt+oCaaD6XRUYa b1OSapXFEJSdsodVporKUZlRUpEsEAbAcaWhpYx6WK02lPamSKOWxVBIo1UY3QJpbC6PrYTROhLK SxW1LH5VUvhlvG5JQ0sXWv/FReYNp0UaAPvKYq4wxoQwvIQRlbojYayRNDaVxhbCaFmKXJNFPcrp q5LFL0UUGWlE6UJ7Y7MT9hAGwDmFEaUMb/5F3X/hjb70hulnZVFL4/Sd3l2iLNUHsrBKUL+M48v4 2EoX0ZvqlaIEYQCcWhalNKwNkrz5GPeftuRWtCk30ed8aUsYzU0WdZoo25ZaHJsJZMuSVMs8i6iv opbEX4FAnt+jdXZnZaEtby6IAuBtUsac/oxaGoPy6A2mWZoupiJldK8uTa0pjLmlKK2DOxLFX8br WllKG5Lbsn4UO+0BII1B/uzLqG9Av+XPKQHZNsU7H22IcF2e0qRx2ISRkYU1g3sISlB/KY9/OUlD 67vIyOKSKEO1JAzEAbCfKFqF4c0CL1PGUKSNm9hr1LXchHYJWYjoy4RYZSnZQhxbz8OIRDEYwvhl SOIvQxh/KenC6+hu7eSOpIEwAM4hjCXSuBRp47lW1F1p16wtoFvShSYLa++MUV7Un7GGMFpKUV66 qPssaln8bUijFoY1u9vbOGnp8NkucX0A4LWyEGmbCT6KvnzIWMjiUcgjsyGbdQOa+V0nyW/p2r2i NLVmSWqJLLR0Ycnib6ck5U3S85JFy8KCSzq5kQfA9pJokUX52AdJo6/EkVmwdM6ci2nG0TmyWE0c S4URDaPN9ltkZPG3U5bS5l1kFhecu2w55SeAfcl0FncJgXh9G30hivqxXIE2Gl3ZO6KIymPZo0xI m/VjrFWSmjsqanBkYfVd/K2kC6uj25JFZ7yxraJAEADHF8pUvTYFjbZUd+5T0UY8hfEQfapAZnRl lCpG0eeHaB/XKcOS5CriGFZ6Qyx5aPMuhiBZ/FJkoaUMTRblMNpoFvfS3fOQBcB55DEp/3e9DuJa GE9ZWO1bpvRkNeZWp7u1Z0emNDUp579YGsOCNyBKF9HIqEFp7K1U4Q2lteZcWOu4tM6xoAQF8H7S EKN0Uz9qd/B90Xh3ku+r6IxUMTpHuWWsdvRGacrr09g9YWTnW7RM0rPKU9oyIN7CgpYs1twxD3EA HJcp+f9UuxPvFGnMFUUXpANLGJ5Qyu+t/+1Ddnp3iXKUNu/iy0gYvyQ/Qa8cGaUt+5FJFiJtI5+Q A8D50kVGIpNy0zgtkIYY/0b5PLOnuHZcqpTRK0nIK0+9TBjZLVfnzOrOJI0vQxbafAuvzyJbfmK4 LMB7JAzv/+zU8H+9lEZL2zApopgMcURHVJrqRO+72a0Pw0oX0YZIVsKIylDWkuVav0UpK2upj7mi QA4A504YnkCmoLpQfm/r3hbWarmRHJ5rV3kpwytNaalqljiGhRc+U4qKNkb6ctJFnSa0uRaaLC7J ZEEZCgCBRCOoLHFMxd19JuVEndyeMLIpo98yZcwtSWWXL5/bf/El9kioL7H3tYhmW1rpYm4pCgDe RyCt4pCigRaxZ297w2fHIFWU6aJ8HOTf61uVbd5mKWOYcVFb08Wc/bm1RQTrVFH3WViy6INUgSgA oEUcWn9HL7kFEOtS1BiIojy+5P97cdSlqUfVDnspYzZLh9Vq+3Rn5mBcE6KwtlgtReEli16YiAcA 64vDayt65XszQ2ejhFFu3FTuxfFQksYo+kitXfowOrFHSnmlqGgLVi9daEt9ZCbmibAzHgBsK46u kIFUlY3pp416CmNIlqNulShuRVtYbuB0r26aR6MsNYm/d8aqwpi7DEhm74urU36K9rTQ1p23Fg9E FgCwpjjqmeFdlTK8ctS1eNT2DP+qZPFVSOMm+grcUV/G4s7v1j6MOcuYe3MwNGl8KV8b7cFd/w4i /pR8RAEAc8QRSUOqlPH8+jpljEVJqZbGl5Iq6qPc7e9eScPry5AlKWONeRjeUNpLUI7SEsUg9sxt bwZ3L/RVAMBr04bXCT5Wpam6XF+WpK7y7z6Ka5EqynQxiL2DaC/xaKnNJ+5Fayi1jpQagtKTNXN7 SKSLaClhZAEAa6cNSxrlXX5fpYyxaNdqadyVdnBuyli187ufeaG0foJMyhgMMdSlp0wZykoXIu3b qAIAzE0b2nNtBGl2YdbBaRsHJ2W0rMg9q23sGy5My2S9PnExhsTFyG6BmHkDAQBeLRFNGpeqNOXt RJppG7Wb6i6Qxiz6hpP3RNIHCSNj0swF6WaUopAFALwyZWRvri1xXIL2sWVqQbR67qrCaEkaLUNr 6wtxCWRh7ZVryQFJAMAe0ojazWe7dWlsI6/JhKG1l6KUoma1lf3Ci2RdiGyyuIg+CspbRLA3TD7n jQQA2EIe0Y21Nw1hUB6z0sgkDC8dLRZGNlVkR0hZpSdLFpfkBVhkTgCADVJGZoM5qyLjyaN1o7hV +jH6mTHL2gcjugjWBfHKUN1WJw8AsFG6iGSRLeNn2spoFOlqbWXfeDG6IHK1ysI76cyOeaQLADhr maqfIY2L5Pt5rQ7vzYfVZspUfXC0CsLq5LbGEgMAnC1laP0Z1giqls7ubBl/k07vaOiYtp6TdjKa JKJJJ9n5FqQLADhj2vCG20Y33NlSVNfwu62SMLqkNb2E0SviyMzgXrUOBwDw4pThrY6R6QPOVmo2 7fvNTNzrgs9F9bhIHH3ihC07C+kCAE4mE00ctUCiakymhN+vfZPdz4gm2fHFXSALK0V409pFWPID AM6XNrwUklnANSpZzRlS29x+zllLqiVpZBKHNwoqE6OQBgAcXRTeIoCd0x564siW8K2RUs0MMy9E 9tBOwNv4KFtjQxwA8C5C8drOLlmlya4h5a21Fy513q948llbdo48okglQn8FAJxLCt68Ma1Bt9pD 7fW1O7q7LYQRxausLaPaGivPAsC7yyTbZnZiTznIyENk4UipfuZJtp68VXLyxJGZoEfaAIAzSaJl TtuaCWOVdrJ18UHrJCNZRFErU3ZCCgDwjglDa+u6GQkjszjr5sLIJI2oA8dLGtKYMBAHAJxVDJ4s Mmv1ZWURlaNeKgxJnmBmT9kueZFFKEEBwGdJJjui9CU7j/YrnJTX6Gcn3m1SbwMAOEnyyDT4SxNF tGrtLGF4nc3euN7MbMKsGDIlKMQCAO8kjeyNdIs0Vm0vt+jDiGQS2TVbtgIAOKMkoopMa5uaEc4q 9C+8EF4UmyMpAIB3Tx4tfcGb32T3G52sVzN7iQkBAA4ogJYbbetjbxe9zFp8s8v8/Y4XCQAAkeiN uwSJQiQ3qbn1Jn/zhNHNuDCR5RAKAHyKLDKfjxJG9t/YpdNbpH1/7ZY4BgDw6TKJSvWtW0Espt/g ROes/eQtxYtQAAAOsJFc/6KTmxPJAADAF8RL29F+5xMHAEAGfz5fvHfFFu1tf8ILCgDwbrLIrAi+ xs/+CGEAACCX/FpTm9x4IwwAgPMkka2+/jDCoJwEAPAGbSoJAwDgwxr+owuDlAEAcHJIGAAAgDAA AD6At5jpDQAAJAwAAPikdIEwAAAAYQAAAMIAAACEAQAACAMAABAGAAAgDAAAAIQBAAAIAwAAEAYA ACAMAABAGAAAgDAAAABhAAAAIAwAAEAYAACAMAAAAGEAAADCAAAAhAEAAAgDAAAAYQAAAMIAAACE AQAACAMAABAGAAAgDAAAQBgAAAAIAwAAEAYAACAMAABAGAAAgDAAAABhAAAAwgAAAEAYAACAMAAA AGEAAADCAAAAhAEAAAgDAAAQBgAAAMIAAACEAQDwMUwIAwAASBgAAHDOlIEwAADgUMKYuNQAAOdu F0kYAABwGGGQLgAA1mtHd2tTSRgAAOeThvX58vhYYZBSAOBTJDAl0sXU0EauJhESBgDA/tKoG/U1 GvnVk0a/08UhNQAArJtENqff4KQydbTpyBcFAODA0titA7xf+MtPM09YuwDT1nEKAOCEaSLqw5he 1Wb2K51c5hedErYkUQDAJ0ohalen4KZ9esXN9h4zvefIBQDgE6QxSVyJmSRXllq9xN9vdBEiM2ai FwDAp0hjMm6sWxKGN9oqandTbW+/0clnkkXr8DFkAgBnl8KcG+dJ/AFFU9DGZqUQ3uT3G1yUKGJ5 1pyEkVIA8BkCySSOKHVMiTZ2tfazn3liU/IEopPPXBhkAQDvKIu5N9JTcGx2o903xpLopDIXyJNB JIgp+XsCAJxBHNkb6czN+ZT8Ppl7Q96vcNItJxHZUoKTRBAA8K4CiYbIPp+PDW1t5qb+ZcKQwIxZ C3oJA2kAwLumi0w7OiqSGKWtI3yV9rNPntyc2KQdkRk9cQAAvIscJidZWG3mqHy89IZ804SR6Zix RDFWJzlK23Axz4zIBQDOJBCRuDQ/OqLItKOrDx5asw/DkoRmxFH5mlH8OhzDbQHg3WQRtZuZhDE6 clky9201YURlqDFIGGODGT0rAwCcVRxRKX9MtJ8tJarF7WffcIJZY3mmtKJVFK+s+AYAcBYxRJ+L Sk5jcMzp12iq2myVMFpO0CpXtdoRgQDAGSQSdW5bCePRII1R8h3tL1lLaq4kyhN/SNwhHtkaUQDA UdOFVRXxkoUmh0fQfmZK/SILy/t94mS9dUsiI3on6J209jNF4o5w5AEAZxFHNM/iURxLZbFKGT+7 ltSUSBjRCKjoRB/BBaQjHADOKAmvKqP1UTyM9jFqQz2BaL/D6sJoPenROdHoKC+EVdfLCAJ5AMCR xJGpzHg32I9EW9pSltosYXiiECNWRXW4R0PUmrOoFgDAEdOFJpEoSTyPe/U4VxpzfvdFCSNKGi1W fF6Au7T1a7SsagsAsHe6EMmVo7yb63tSFF5ZalHq6Gc2utnRUZEkshdgSpw8ogCAI6YLWUEUd+fj pQkj3W6uMXEvEkdWEnfR63abxSsAgBeki7k32Hfj0BJH3W5uMlqqbzh5TyCtUSpzEVpKU6QMADhi uvCE8VBuqj1R3IMb72iY7WLmrlabnXuRsWXGng/xZ4KTMgDgiOlCGiowLdKIOr6jzetm7ZGx1bDa TN/F87glLkhLR44IczQAYL90kZnYbI2EqtvEW4M8Mqt/L2of+4YLEfVfaOb0TvJWXIybcWE8e86Z owEAsJUsrOkGmVLUXZFG1D5mb7BXm4vRz7worQkjEsVNsanVqROtzLjYogAAM2URdXA/GtrIW0Ic L524Nyy4UJm+jEdwEerj+vM4/DxeiuN/P6P7kdz487z7ed4rF6P7ea0rfueOv3EA2KAMJZLbEygr iqjNbE0X2u/YfEM9JC9MV/3gLlGWsmpz1vH98/uUx70QRl8cXXFIJY5IGoI4AGBFWbR0cFtTDeo2 8ltpH7W+jUyHt7fH92YJY3JEkZFFfVG+fxLFd5EsbkXCGKqEEQmjThmlLOp0QdoAgLVkUYujbrSt AUC3QBLWa9mEYW0V8fKSVH1xygbbGjJWlppuijQG5Yhk0SmJoa+k4EmDtAEAS0RRPnorz1ojoer2 sD40aUQDgzJbts5KGUPDxeoco0bjiy9KuhgUWVyLz1+MhOEJoyt+v1H5Gk0SpA0AyIoiksUYVFse jizqR00ac6YeTMnzWj1haHfpVsdOb0SwoUgadbK4FsmiTBnZhNFVKUNDEwdpAwCyohCZtyzSwyhD 1cdvI2lEKcOTxSpTEJb0YZSNb1mailLGUxpRGWqoRKHJonMa+k7aO8ERBwCiiEShVVesEaLlTbM1 2Oe3IwpLGLdkyvDKaZsnDE0cXSGLTMrISKNMFhdHFpYwpkIWnZM4InEgDwBEYcnCWnVWW+LDE0Ut jUgcmc7uVdeQWiIMcS5iJmXcqpLTt/w5IqpFFlGjXs/b6BrEQeoAQBTRpLxphiwsUXji8EpSWv+F yEqd3XOFMTl34V7KuFelpUtwaGWovlEW5UXqg5SRKU1NhmQA4NyCyIpCjGShDZ3V5lV8B3L4bXzu OyhFeSOkWs5/s4RhDVEt7+QfRUNfSqNMGV6qqKXRBymjlsTFKFPV3zsVH7eUpqagzAUAxxRDNmFk k8XDSBfaCKhaCv/5OTxpRB3eXt/FquvtrdGHUd+p18t2PIqGXytNXZTk4U3Sy7zxtTiespjEHmk1 JctVmWQDAOcSibXQamYDJGvobCmL34njP+L3YWRLUasOpS25zPy+srPZKhFpX+Md3pDZqA+j5Y9k 6UXrFn4eAPZPGNnyU3borCaLm1KG+k+VLLzDG17rSWOTdLFEGCJ+B7IllEgCEryWbaCjWZlrxVlE AXA+cSyRxST6sFlNFjdHFnU5yhPGb0cW1gipTSofwwpvRl3S0dZ+19JEn0waljCiIW7Px6EqS12K z2n9IyL+pEBGTQGcUxaZ5T2iDm5v8yNtUp7VZ/FPQ7Lw9gpqWdJ8t+XNPVlIUhqZklSXSBGj2JNn roU0xh9ZjIU4ns9HRxzWo9dBjlAAjlOGmgJJiCzbz8KSxbfofRSRLH47Zaho7oXIhpvKrTUPo1N+ wbFoOLPSyAgjMw66vJClLMpjlD9HYdXikMSjJocu+SYhFYBlMmhJFa2y0EZCZWRxE33IbC2Hf6rH WhatI6M230RurZKUNcy2FkerNLw33lvw6/mmXos3tlyj6iH6aKw+WRaLZIEgAPYTSKs0rEUEvdFQ 1uZH2qQ8r5/iH4k7uVtGRmlltdVYM2FYb9RYNbgZaXiNq/amWtseatJ4iD9JcKk0WjrnAWB7aXhr QXk3oJP4o6G0mdzakh9WZ/c/Ys/DiFanrTdM8q7BoUpSUWmqbOSz0rB+flSGeiSkcRF7rw1vhrlI bhgx0gDYVxhT0GjWd+FjsmJxF31TuGg2dzSk9rdRjlpj7+7DJYxsaapMG1oDG02Es5ZR90RRvsHP pdOfW79mpZFdUh1hABxfGN5EvKws6r6Let8Kq/8imt3tLWWe2fNis1LUFgnDeyNHpeF8JGThJYxo 8kx5J3AtJHFVUoa1LIkmjH6mMJAFwPbCyHZyjzOqFlay0Pa1aJnR7Y2KinbV82SxujS2Kklpo4Qm RRwtPzsShZUqvooL/0wX9QZN1gq5njhE2kZSIQ2A7WQxNT5qZai6P3SU3G559RIgVsqwEoW1wGA0 jFacEtQpEoYnjXLOQ7bxzAyh9UYtfBXiuMq/d/UbnKShiWOuNJAFwHGkYQnj0ZAublU5yts5L1qy /DuQRVSCispzpyhJlfLwImGLLKw+DC8yluIYKnFo0uiN8hTSAHgfYYwSz+HKlqIyW61qaULbqzsq Q2X7LTaTx7DRm9gF4sjKQpKi8IRx/XkjalnUfRmeNCxhRP0ZCAPgGMLwZDGJP4imlsXdKEdF+3Pf xO+rqDu4DyWLLRNG1J8RScMaAjc69UUrXVyrhOGVpYbGlIEwAM6TLsZkwshULW4N0rgpj9oM7nr4 bKss3qIkNVcaIvl16LWRUc9SVJkwhiphWH0ZLSlj7dngANAuCi1R1M+z6WIUe85FnTK+FWnclBRR J4rspLwWWWwujuGFb3KLNDL9F1Z0/DJKUbUwWstSnjSQBcDxpRHJIprRHaWMmyEIL1FEqSLb0X36 Tu9SFFlpTOKvSZ8dVntVRKEJo+78tvYWvyQSBsIAOFZJKhKG1p6MTtXCGimlPY9E8RB9BvdDkdok L1qN9ggJo0Ua2T0vvIRxlT/7MKwSVDS8NprINzdlIA6AdUQRJYy6HOUtLGi1KZnSlCWSjChaS1C7 yGKPklQkDS1teEnjUr3JQ/H4nKh3q4RxUaRxCRJGZngtHd8Ax0oYmXJUZq+LaB0p77WHxP0UD4nX htqlz2IvYWSkMUnbHhhjII5aCjcjTXjlqOxcjEgaiAJge3FkN0NqmYORKU9ZcmhJFNYM7sPI4tXC mFue0t703hFH+ca2pIkoXWRkkU0ZHogFoK1BbNk9L+rH8OZ5ZYRgPc+Iwis/7S6LPYThSUOTxyh/ 7hNei6N+oy/y7z0v7skk4fVdZIWxRBaIAmC+OLKyyHZ+eyth3wOpRENkWzc/OoQs9hJGNmlMSmNc v+F9lTZ6+fduehdFHPXn+oQoMsIQsffKQAwA24ukRRqZlOF1hkevWf0To1IWkzPIYk9hlCffGc8l SBudkjaejXmdNHrjMRLEnHSBMAD2k4WIP2CmRRqePEbxl/Cw0kRUftp1nsWRhdFaotI6xbW00RWl qmfi0NJDS5pAGADnF4ZIbk0pSxjWx1lJjOL3URwyVRxNGFrasGRRp43668dKFmVD/0gKwtqiNdrn m/kXAPsJQyS3rPmkNN7185bDks00s/R0WFkcSRiiJAxLIJNxh1+nkzFICr3zemY01JzlzZEGwD7C kERpKtv4j4mUUm9L3ZImpqNe+OHAfwzRwoWROLoqcXTiL1MepYmlu+0hCoDXlaZapZFJHlMghslJ FJnf7dCyOKoworSREYcYAukqeWTkQKoAeO+kIQl5eK+PkptDccpUcRZhiPgjqTKd4p2TRGSGIJYI A2kAbC+LrDBE8qOpWo45SWI6y0UfTvbHEZWp6mSSafQzH4vkJ+chDIB9hRHdxWdGKUWL/0Wd2G8l irMJQ5OBKOnDk4bX6GdSw1qLCyINgNcKo0UakUhE5o1yOrUozioMcWTRkjqyKSGbJOjgBjiuSLyG u6V/YU5fxFuI4szC0N6MOaljmiGDTOkJUQAcM31MM59PC37GW4jiXYShiUMkP7JK+16SBMBnp45s w9/6McI48B9GlDrq2eNTQjgIA+D9hLH11yCME6cOCdJHy89AGADnFEbm89PCr0UYb5A6ZIFAsn8o SATguIJo+fppxX8HYZz8D6n75DcfAGE0ff3HtxEDf1ipdNDyh9LxhwVwOmkgB4Sx6h9Kxx8aAGJB GLDmHxb9FwCIAGEAf6gA8Ln0XAIAAEAYAACAMAAAAGEAAADCAACAs/JfAQYAL3iXmIlSiu4AAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 179.2061 198.1514)"
+   id="image77"></image><g
+   id="g79"><radialGradient
+   id="SVGID_5_"
+   cx="225.1929"
+   cy="226.1387"
+   r="30.8299"
+   gradientTransform="matrix(1 0 0 0.75 0 56.5347)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop82" /><stop
+   offset="0.4828"
+   style="stop-color:#FDFEFB"
+   id="stop84" /><stop
+   offset="0.7611"
+   style="stop-color:#F8FBF3"
+   id="stop86" /><stop
+   offset="0.989"
+   style="stop-color:#F2F8E8"
+   id="stop88" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop90" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.8025"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><path
+   fill="url(#SVGID_5_)"
+   d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801      v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path92" /><path
+   fill="none"
+   stroke="#EDF5E5"
+   stroke-width="5"
+   stroke-miterlimit="10"
+   d="M186.706,235.825      c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801      h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path94" /></g></g><path
+   opacity="0.74"
+   fill="#FFFFFF"
+   a:adobe-blending-mode="lighten"
+   d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107    v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324    c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z"
+   id="path96" /><linearGradient
+   id="SVGID_6_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="204.3135"
+   x2="225.1929"
+   y2="246.626"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0"
+   id="stop99" /><stop
+   offset="0.0141"
+   style="stop-color:#FDFDFC;stop-opacity:2.231669e-04"
+   id="stop101" /><stop
+   offset="0.1344"
+   style="stop-color:#BEBEAF;stop-opacity:0.0148"
+   id="stop103" /><stop
+   offset="0.2565"
+   style="stop-color:#94957C;stop-opacity:0.0297"
+   id="stop105" /><stop
+   offset="0.3796"
+   style="stop-color:#747759;stop-opacity:0.0446"
+   id="stop107" /><stop
+   offset="0.5029"
+   style="stop-color:#5D633F;stop-opacity:0.0596"
+   id="stop109" /><stop
+   offset="0.6263"
+   style="stop-color:#4D552E;stop-opacity:0.0746"
+   id="stop111" /><stop
+   offset="0.75"
+   style="stop-color:#414B23;stop-opacity:0.0896"
+   id="stop113" /><stop
+   offset="0.8742"
+   style="stop-color:#3B461E;stop-opacity:0.1047"
+   id="stop115" /><stop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12"
+   id="stop117" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="0.2901"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path
+   fill="url(#SVGID_6_)"
+   a:adobe-blending-mode="darken"
+   d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801    h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962    c0,0,10.063,0.328,10.801,10.799V221.954z"
+   id="path119" /></g><g
+   id="g121"><g
+   id="g123"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 216.5547)"
+   id="image125"></image><g
+   id="g127"><radialGradient
+   id="SVGID_7_"
+   cx="202.6289"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop130" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop132" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop134" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_7_)"
+   cx="202.629"
+   cy="219.704"
+   r="2.999"
+   id="circle136" /></g></g><g
+   id="g138"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 213.9448 216.5547)"
+   id="image140"></image><g
+   id="g142"><radialGradient
+   id="SVGID_8_"
+   cx="217.5439"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop145" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop147" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop149" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_8_)"
+   cx="217.544"
+   cy="219.704"
+   r="2.999"
+   id="circle151" /></g></g><g
+   id="g153"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 216.5547)"
+   id="image155"></image><g
+   id="g157"><radialGradient
+   id="SVGID_9_"
+   cx="232.459"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop160" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop162" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop164" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_9_)"
+   cx="232.459"
+   cy="219.704"
+   r="2.999"
+   id="circle166" /></g></g><g
+   id="g168"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 243.7749 216.5547)"
+   id="image170"></image><g
+   id="g172"><radialGradient
+   id="SVGID_10_"
+   cx="247.374"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop175" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop177" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop179" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_10_)"
+   cx="247.374"
+   cy="219.704"
+   r="2.999"
+   id="circle181" /></g></g><g
+   id="g183"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 230.2217)"
+   id="image185"></image><g
+   id="g187"><radialGradient
+   id="SVGID_11_"
+   cx="202.6289"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop190" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop192" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop194" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_11_)"
+   cx="202.629"
+   cy="233.37"
+   r="2.999"
+   id="circle196" /></g></g><g
+   id="g198"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 213.9448 230.2217)"
+   id="image200"></image><g
+   id="g202"><radialGradient
+   id="SVGID_12_"
+   cx="217.5439"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop205" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop207" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop209" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_12_)"
+   cx="217.544"
+   cy="233.37"
+   r="2.999"
+   id="circle211" /></g></g><g
+   id="g213"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 230.2217)"
+   id="image215"></image><g
+   id="g217"><radialGradient
+   id="SVGID_13_"
+   cx="232.459"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop220" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop222" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop224" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_13_)"
+   cx="232.459"
+   cy="233.37"
+   r="2.999"
+   id="circle226" /></g></g><g
+   id="g228"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 243.7749 230.2217)"
+   id="image230"></image><g
+   id="g232"><radialGradient
+   id="SVGID_14_"
+   cx="247.374"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop235" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop237" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop239" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_14_)"
+   cx="247.374"
+   cy="233.37"
+   r="2.999"
+   id="circle241" /></g></g></g></g><path
+   d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path243"
+   inkscape:connector-curvature="0"
+   style="fill:#f5f5f5" /><g
+   id="g245"
+   transform="translate(0,16)"><g
+   id="g247"><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path249"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path251"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path253"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path255"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path257"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path259"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path261"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path263"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path265"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path267"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /></g><g
+   id="g269"><linearGradient
+   id="SVGID_15_"
+   gradientUnits="userSpaceOnUse"
+   x1="324.1611"
+   y1="239.7637"
+   x2="324.1611"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop272" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop274" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path276"
+   style="fill:url(#SVGID_15_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_16_"
+   gradientUnits="userSpaceOnUse"
+   x1="377.45459"
+   y1="239.7637"
+   x2="377.45459"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop279" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop281" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path283"
+   style="fill:url(#SVGID_16_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_17_"
+   gradientUnits="userSpaceOnUse"
+   x1="435.17719"
+   y1="239.7637"
+   x2="435.17719"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop286" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop288" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path290"
+   style="fill:url(#SVGID_17_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_18_"
+   gradientUnits="userSpaceOnUse"
+   x1="474.83691"
+   y1="239.7637"
+   x2="474.83691"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop293" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop295" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path297"
+   style="fill:url(#SVGID_18_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_19_"
+   gradientUnits="userSpaceOnUse"
+   x1="512.28223"
+   y1="239.7637"
+   x2="512.28223"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop300" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop302" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path304"
+   style="fill:url(#SVGID_19_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_20_"
+   gradientUnits="userSpaceOnUse"
+   x1="546.65918"
+   y1="239.7637"
+   x2="546.65918"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop307" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop309" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path311"
+   style="fill:url(#SVGID_20_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_21_"
+   gradientUnits="userSpaceOnUse"
+   x1="580.69629"
+   y1="239.7637"
+   x2="580.69629"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop314" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop316" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path318"
+   style="fill:url(#SVGID_21_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_22_"
+   gradientUnits="userSpaceOnUse"
+   x1="622.7832"
+   y1="239.7637"
+   x2="622.7832"
+   y2="155.3268"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop321" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop323" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path325"
+   style="fill:url(#SVGID_22_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_23_"
+   gradientUnits="userSpaceOnUse"
+   x1="655.6709"
+   y1="239.7637"
+   x2="655.6709"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop328" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop330" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path332"
+   style="fill:url(#SVGID_23_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_24_"
+   gradientUnits="userSpaceOnUse"
+   x1="697.92969"
+   y1="239.7637"
+   x2="697.92969"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop335" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop337" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path339"
+   style="fill:url(#SVGID_24_)"
+   inkscape:connector-curvature="0" /></g></g><g
+   id="g4141"
+   transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g
+   id="g4143"></g><g
+   id="g4165"><linearGradient
+   y2="155.3275"
+   x2="324.1611"
+   y1="239.7637"
+   x1="324.1611"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4167"><stop
+   id="stop4169"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4171"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="377.45459"
+   y1="239.7637"
+   x1="377.45459"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4175"><stop
+   id="stop4177"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4179"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="435.17719"
+   y1="239.7637"
+   x1="435.17719"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4183"><stop
+   id="stop4185"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4187"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="474.83691"
+   y1="239.7637"
+   x1="474.83691"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4191"><stop
+   id="stop4193"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4195"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="512.28223"
+   y1="239.7637"
+   x1="512.28223"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4199"><stop
+   id="stop4201"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4203"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="546.65918"
+   y1="239.7637"
+   x1="546.65918"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4207"><stop
+   id="stop4209"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4211"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="580.69629"
+   y1="239.7637"
+   x1="580.69629"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4215"><stop
+   id="stop4217"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4219"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3268"
+   x2="622.7832"
+   y1="239.7637"
+   x1="622.7832"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4223"><stop
+   id="stop4225"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4227"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="655.6709"
+   y1="239.7637"
+   x1="655.6709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4231"><stop
+   id="stop4233"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4235"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="697.92969"
+   y1="239.7637"
+   x1="697.92969"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4239"><stop
+   id="stop4241"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4243"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient></g></g></svg>
+    </a>
+
+    <div class="spinner" id='spinner'></div>
+    <div class="emscripten" id="status">Downloading...</div>
+
+<span id='controls'>
+  <span><input type="checkbox" id="resize">Resize canvas</span>
+  <span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
+  <span><input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked, 
+                                                                            document.getElementById('resize').checked)">
+  </span>
+</span>
+
+    <div class="emscripten">
+      <progress value="0" max="100" id="progress" hidden=1></progress>
+    </div>
+
+    
+    <div class="emscripten_border">
+      <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
+    </div>
+    <textarea id="output" rows="8"></textarea>
+
+    <script type='text/javascript'>
+      var statusElement = document.getElementById('status');
+      var progressElement = document.getElementById('progress');
+      var spinnerElement = document.getElementById('spinner');
+
+      var Module = {
+        preRun: [],
+        postRun: [],
+        print: (function() {
+          var element = document.getElementById('output');
+          if (element) element.value = ''; // clear browser cache
+          return function(text) {
+            if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+            // These replacements are necessary if you render to raw HTML
+            //text = text.replace(/&/g, "&amp;");
+            //text = text.replace(/</g, "&lt;");
+            //text = text.replace(/>/g, "&gt;");
+            //text = text.replace('\n', '<br>', 'g');
+            console.log(text);
+            if (element) {
+              element.value += text + "\n";
+              element.scrollTop = element.scrollHeight; // focus on bottom
+            }
+          };
+        })(),
+        printErr: function(text) {
+          if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+          if (0) { // XXX disabled for safety typeof dump == 'function') {
+            dump(text + '\n'); // fast, straight to the real console
+          } else {
+            console.error(text);
+          }
+        },
+        canvas: (function() {
+          var canvas = document.getElementById('canvas');
+
+          // As a default initial behavior, pop up an alert when webgl context is lost. To make your
+          // application robust, you may want to override this behavior before shipping!
+          // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
+          canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
+
+          return canvas;
+        })(),
+        setStatus: function(text) {
+          if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
+          if (text === Module.setStatus.text) return;
+          var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
+          var now = Date.now();
+          if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
+          if (m) {
+            text = m[1];
+            progressElement.value = parseInt(m[2])*100;
+            progressElement.max = parseInt(m[4])*100;
+            progressElement.hidden = false;
+            spinnerElement.hidden = false;
+          } else {
+            progressElement.value = null;
+            progressElement.max = null;
+            progressElement.hidden = true;
+            if (!text) spinnerElement.style.display = 'none';
+          }
+          statusElement.innerHTML = text;
+        },
+        totalDependencies: 0,
+        monitorRunDependencies: function(left) {
+          this.totalDependencies = Math.max(this.totalDependencies, left);
+          Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
+        }
+      };
+      Module.setStatus('Downloading...');
+      window.onerror = function(event) {
+        // TODO: do not warn on ok events like simulating an infinite loop or exitStatus
+        Module.setStatus('Exception thrown, see JavaScript console');
+        spinnerElement.style.display = 'none';
+        Module.setStatus = function(text) {
+          if (text) Module.printErr('[post-exception status] ' + text);
+        };
+      };
+    </script>
+    <script>
+
+          (function() {
+            var memoryInitializer = 'bigWigInfo_static.js.html.mem';
+            if (typeof Module['locateFile'] === 'function') {
+              memoryInitializer = Module['locateFile'](memoryInitializer);
+            } else if (Module['memoryInitializerPrefixURL']) {
+              memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer;
+            }
+            var xhr = Module['memoryInitializerRequest'] = new XMLHttpRequest();
+            xhr.open('GET', memoryInitializer, true);
+            xhr.responseType = 'arraybuffer';
+            xhr.send(null);
+          })();
+
+          var script = document.createElement('script');
+          script.src = "bigWigInfo_static.js.js";
+          document.body.appendChild(script);
+
+</script>
+  </body>
+</html>
diff --git a/bedTools/bigWigInfo_static.js.html.mem b/bedTools/bigWigInfo_static.js.html.mem
new file mode 100644
index 0000000000000000000000000000000000000000..195c9b3cdbe28547ca656d2d1a6c47e1ff86bbbd
Binary files /dev/null and b/bedTools/bigWigInfo_static.js.html.mem differ
diff --git a/bedTools/bigWigInfo_static.js.js b/bedTools/bigWigInfo_static.js.js
new file mode 100644
index 0000000000000000000000000000000000000000..91c2911c8a447208929715cd21dcf9d3d555f2b9
--- /dev/null
+++ b/bedTools/bigWigInfo_static.js.js
@@ -0,0 +1,16 @@
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+15216;__ATINIT__.push();memoryInitializer="bigWigInfo_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[3158]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=12672+(b<<1<<2)|0;e=d+8|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[3162]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[3158]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[3160]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=12672+(b<<1<<2)|0;e=d+8|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[3162]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[3160]|0;break}else Za()}else{c[3158]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[3163]|0;b=l>>>3;d=12672+(b<<1<<2)|0;a=c[3158]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{m=a;n=b}}else{c[3158]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[3160]=h;c[3163]=e;N=j;i=O;return N|0}a=c[3159]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[12936+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[3162]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=12936+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[3159]=c[3159]&~(1<<a);break}}else{if(h>>>0<(c[3162]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[3162]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[3162]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[3160]|0;if(a|0){f=c[3163]|0;b=a>>>3;e=12672+(b<<1<<2)|0;a=c[3158]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{r=a;s=b}}else{c[3158]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[3160]=d;c[3163]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[3159]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[12936+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[12936+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[3160]|0)-q|0)>>>0:0){f=c[3162]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=12936+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[3159]=c[3159]&~(1<<a);break}}else{if(g>>>0<(c[3162]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[3162]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[3162]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=12672+(a<<1<<2)|0;b=c[3158]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{w=a;x=b}}else{c[3158]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=12936+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[3159]|0;b=1<<d;if(!(a&b)){c[3159]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[3162]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[3160]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[3163]|0;if(a>>>0>15){N=b+q|0;c[3163]=N;c[3160]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[3160]=0;c[3163]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[3161]|0;if(a>>>0>q>>>0){L=a-q|0;c[3161]=L;N=c[3164]|0;M=N+q|0;c[3164]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[3276]|0)){c[3278]=4096;c[3277]=4096;c[3279]=-1;c[3280]=-1;c[3281]=0;c[3269]=0;x=p&-16^1431655768;c[p>>2]=x;c[3276]=x}h=q+48|0;g=c[3278]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[3268]|0;if(a|0?(w=c[3266]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[3269]&4)){a=c[3164]|0;c:do if(a){d=13080;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[3161]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[3277]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[3266]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[3268]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[3278]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[3269]=c[3269]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[3266]|0)+f|0;c[3266]=a;if(a>>>0>(c[3267]|0)>>>0)c[3267]=a;j=c[3164]|0;do if(j){e=13080;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[3161]|0)|0;c[3164]=M;c[3161]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[3165]=c[3280];break}a=c[3162]|0;if(h>>>0<a>>>0){c[3162]=h;k=h}else k=a;d=h+f|0;a=13080;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=13080;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[3163]|0)){N=(c[3160]|0)+g|0;c[3160]=N;c[3163]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=12936+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[3162]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[3159]=c[3159]&~(1<<b);break e}while(0);e=c[3162]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[3162]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=12672+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[3158]=c[3158]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=12672+(a<<1<<2)|0;b=c[3158]|0;a=1<<a;do if(!(b&a)){c[3158]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[3162]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=12936+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[3159]|0;b=1<<d;if(!(a&b)){c[3159]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[3162]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[3161]|0)+g|0;c[3161]=N;c[3164]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=13080;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[3164]=N;c[3161]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[3165]=c[3280];e=d+4|0;c[e>>2]=27;c[a>>2]=c[3270];c[a+4>>2]=c[3271];c[a+8>>2]=c[3272];c[a+12>>2]=c[3273];c[3270]=h;c[3271]=f;c[3273]=0;c[3272]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=12672+(a<<1<<2)|0;b=c[3158]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{J=a;K=b}}else{c[3158]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=12936+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[3159]|0;b=1<<d;if(!(a&b)){c[3159]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[3162]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[3162]|0;if((N|0)==0|h>>>0<N>>>0)c[3162]=h;c[3270]=h;c[3271]=f;c[3273]=0;c[3167]=c[3276];c[3166]=-1;a=0;do{N=12672+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[3164]=M;c[3161]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[3165]=c[3280]}while(0);a=c[3161]|0;if(a>>>0>q>>>0){L=a-q|0;c[3161]=L;N=c[3164]|0;M=N+q|0;c[3164]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(xh()|0)>>2]=12;N=0;i=O;return N|0}function Kb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0}while((Ai(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Rc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[12468+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Rc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[12477+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Rc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Rc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(xh()|0)>>2]=22;Af(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Rc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Rc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;k=qh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=qh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Rc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Af(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=qh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=lc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Af(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Sg(o|0,n|0,2)|0;H=qh(H|0,C|0,-32,-1)|0;e=qh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(xh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(xh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=qh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=bh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=qh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Ni(+wd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(xh()|0)>>2]=34;g=+Oi(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Rc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=qh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=qh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Rc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=lc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Af(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=qh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(xh()|0)>>2]=22;Af(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(xh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(xh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[796+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[796+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[796+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Sg(c[p>>2]|0,0,29)|0;o=qh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Rh(o|0,n|0,1e9,0)|0;o=ag(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Ni(+wd(1.0,105-o|0),j);m=+Xi(j,+wd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Xi(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(xh()|0)>>2]=34}while(0);g=+Oi(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(xh()|0)>>2]=22;Af(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Lb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(xh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Jc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[9776+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}kc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Xg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=10256;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=10256;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=bh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=10256;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?10256:10258;L=76}else{p=1;r=10257;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=10256;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=10256;o=N;break}case 109:{o=Ud(c[(xh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:12158;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){ld(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?12166:12171}else{G=1;H=12168}else{q=-q;G=1;H=12165}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Pi(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Md(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[10240+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;ld(e,32,K,r,I);if(!(c[e>>2]&32))Jc(y,w,e)|0;ld(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Jc(ea,o,e)|0;f=ba-p|0;ld(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Jc(t,f,e)|0;ld(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Sg(c[r>>2]|0,0,t|0)|0;B=qh(B|0,C|0,o|0,0)|0;o=C;A=ag(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Rh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Md(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;ld(e,32,K,w,I);if(!(c[e>>2]&32))Jc(H,G,e)|0;ld(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Md(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;pe(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Jc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Jc(12196,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Md(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){pe(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Jc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}ld(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Md(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Jc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Jc(12196,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;pe(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Jc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}ld(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Jc(u,ba-u|0,e)|0}while(0);ld(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;ld(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Jc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Jc(s?(t?12477:12192):t?12184:12188,3,e)|0;ld(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=10256;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[10240+(o&15)>>0]|r;o=Xg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=10256;L=77}else{o=t;t=2;r=10256+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=10256;L=77}}else if((L|0)==76){f=Md(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Bc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=10256;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Lh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}ld(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Lh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Jc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;ld(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;ld(e,32,o,s,p);if(!(c[e>>2]&32))Jc(v,w,e)|0;ld(e,48,o,s,p^65536);ld(e,48,r,t,0);if(!(c[e>>2]&32))Jc(f,t,e)|0;ld(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;kc(j+(m<<3)|0,n,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=ia;return m|0}function Mb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=lj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Ai(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Af(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Rc(e)|0}while((Ai(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Af(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Rc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){pe(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;pe(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Jb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Rc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(sc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Rd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Sh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Jb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Rc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Rd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Rc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Rc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Kb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Sb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Af(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Rc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Ai(d[m>>0]|0)|0))break;else n=m}Af(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Rc(e)|0}while((Ai(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Pb(l);Pb(f)}}else k=0;while(0);if(O|0)kj(e);i=P;return k|0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=qh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[31]|0)==0?(Ne(c[a+8>>2]|0,8439)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=qh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=qh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=qh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=qh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=bh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=qh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=bh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=bh(k|0,j|0,f|0,d|0)|0;Td(b|0,B+f|0,o|0)|0;e=qh(o|0,E|0,e|0,n|0)|0;f=C;d=bh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=qh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;lg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Nd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=qh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=bh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[31]|0){y=qh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=qh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Rh(k|0,j|0,w|0,0)|0;t=qh(A|0,B|0,-1,-1)|0;t=qh(t|0,C|0,w|0,0)|0;w=Rh(t|0,C|0,w|0,0)|0;t=m+52|0;lf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((ki(u,d,s)|0)<(s|0))f=0;else{Li(u);j=B;k=A;continue}while(1){o=ki(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=si(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=mg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=mg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=qh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=bh(f|0,j|0,p|0,q|0)|0;k=C;f=Sd(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}lg(Z,c[K>>2]|0,p,0)|0;Le(Z,c[K>>2]|0,f,j);Mh(W)}Hd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;lg(P,c[t>>2]|0,da+64|0,0)|0;Le(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Li(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);lg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Oe(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ah(8451,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Zg(4,8507,$);Zg(4,8553,aa);S=0;T=0;break}else if((n|0)==36){Oe(Z,j,f,h);S=ba;S=qh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=qh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Ob(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[31]|0:d;c[I>>2]=b;c[I+4>>2]=m;Zg(4,8669,I);if(0){c[e>>2]=b;Kg(0,8690,e)|0}c[h>>2]=0;c[n>>2]=0;ad(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Li(d);u=th(8439)|0;c[h>>2]=u;Li(c[n>>2]|0);c[n>>2]=th(b)|0;j=1}else{u=d;j=0}h=u;g=Nd(16)|0;do if(!(Ne(u,8699)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=8699}else{if(!(Ne(u,8934)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=8934;break}if(Ne(u,7828)|0?Ne(u,9095)|0:0){if(!(Ne(u,9101)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=9101;break}if(!(Ne(u,8439)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=8439;break}else{c[k>>2]=u;Ah(9137,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=7828}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[31]|0?(l=(de(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){Mh(o);Li(u);Li(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=Nd(312)|0;c[d+4>>2]=th(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;Oc(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[31]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(oh(c[g>>2]|0)|0))t=29;else{Qd(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[31]|0;if(g){od(c[d+40>>2]|0);p=d+44|0;n=uc(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(oh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;Zg(4,9226,s);Ih(G);Ze(c[p>>2]|0)|0;Ze(c[K>>2]|0)|0;g=d+52|0;if(oh(c[g>>2]|0)|0)Ze(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];Zg(4,9317,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=td(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=qh(h|0,k|0,8191,0)|0;k=Xg(k|0,C|0,13)|0;De(j,A,4);De(j,x,4);De(j,I,8);De(j,v,8);De(j,w,4);De(j,y,4);De(j,z,8);De(j,z,8);De(j,z,8);De(j,z,8);g=d+136|0;h=lg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Ah(9367,D)}a[E>>0]=0;lg(g,j,((k+7|0)/8|0)+-1|0,1)|0;Le(g,j,E,1);Bf(B);c[B>>2]=td(c[d+48>>2]|0,577)|0;Bf(B);g=uc(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Ah(9434,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=bf(c[f+52>>2]|0,0,1)|0;sd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=qh(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=Xg(H|0,C|0,13)|0;H=(ki(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;lg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=td(c[d+48>>2]|0,2)|0;if(Rf(7828,u)|0){c[I>>2]=0;j=d+52|0;if(oh(c[j>>2]|0)|0)Kf(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;Ze(c[j>>2]|0)|0;break}else{if(!(ng(g,h)|0))break;K=Cf(c[j>>2]|0,9464)|0;H=c[f>>2]|0;pg(K,H,Ad(H)|0);tg(K,c[j>>2]|0)|0;Li(K);break}}else c[d+132>>2]=th(c[I>>2]|0)|0;while(0);Li(c[I>>2]|0)}}}else{if(!(oh(b)|0)){d=0;break}K=td(b,0)|0;c[d+56>>2]=K;be(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}Li(e)}while(0);i=J;return d|0}function Pb(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;if(!a)return;d=a+-8|0;h=c[3162]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[3163]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[3160]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=12672+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[3158]=c[3158]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=12936+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[3159]=c[3159]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[3162]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[3162]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[3162]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[3164]|0)){p=(c[3161]|0)+g|0;c[3161]=p;c[3164]=q;c[q+4>>2]=p|1;if((q|0)!=(c[3163]|0))return;c[3163]=0;c[3160]=0;return}if((m|0)==(c[3163]|0)){p=(c[3160]|0)+g|0;c[3160]=p;c[3163]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=12936+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[3159]=c[3159]&~(1<<a);break}}else{if(f>>>0<(c[3162]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[3162]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[3162]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=12672+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[3162]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[3158]=c[3158]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[3162]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[3163]|0)){c[3160]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=12672+(a<<1<<2)|0;b=c[3158]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[3162]|0)>>>0)Za();else{o=a;p=b}}else{c[3158]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=12936+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[3159]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[3162]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[3162]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[3159]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[3166]|0)+-1|0;c[3166]=q;if(!q)a=13088;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[3166]=-1;return}function Qb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[3162]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[3163]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[3160]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=12672+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[3158]=c[3158]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=12936+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[3159]=c[3159]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[3162]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[3162]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[3162]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[3162]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[3164]|0)){q=(c[3161]|0)+g|0;c[3161]=q;c[3164]=r;c[r+4>>2]=q|1;if((r|0)!=(c[3163]|0))return;c[3163]=0;c[3160]=0;return}if((o|0)==(c[3163]|0)){q=(c[3160]|0)+g|0;c[3160]=q;c[3163]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=12936+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[3159]=c[3159]&~(1<<d);break}}else{if(f>>>0<(c[3162]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[3162]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[3162]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=12672+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[3158]=c[3158]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[3163]|0)){c[3160]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=12672+(d<<1<<2)|0;a=c[3158]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[3162]|0)>>>0)Za();else{p=d;q=a}}else{c[3158]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=12936+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[3159]|0;a=1<<b;if(!(d&a)){c[3159]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[3162]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[3162]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Rb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Fh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(ue(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Bc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Sb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(xh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0}while((Ai(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Rc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Rc(b)|0;if((d[12203+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Af(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[12203+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Af(b,0);c[(xh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Rc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=mg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=qh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[12459+((e*23|0)>>>5&7)>>0]|0;j=a[12203+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;j=a[12203+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Xg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Sg(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;j=a[12203+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[12203+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;j=a[12203+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Rh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=mg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=qh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0;j=a[12203+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[12203+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rc(b)|0}while((d[12203+i>>0]|0)>>>0<e>>>0);c[(xh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(xh()|0)>>2]=34;g=qh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(xh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=bh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Tb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=Yd(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Ne(r,6214)|0)){j=g;h=k;N=4;break}s=Fh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Ai(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Ad(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(ui(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Zh(Q,o,(m|0)==0?6636:m)|0;else{l=zg(o,f)|0;if(!l){l=zg(o,60)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Uh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Th(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Ii(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Ii(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?6636:m;l=zg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=rh(Q,o)|0;l=ch(m)|0;if(!n){Zh(Q,o,l)|0;break}else{Tg(n,l);break}}Zh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ah(6225,z);break}case 34:{c[A>>2]=o;Ah(6251,A);break}case 36:{c[K>>2]=o;Ah(6290,K);break}case 38:{c[L>>2]=o;Ah(6326,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ah(6359,B);break}case 43:{c[C>>2]=o;Ah(6326,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ah(6401,D);break}case 48:{c[E>>2]=o;Ah(6445,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ah(6480,F);break}case 53:{c[G>>2]=o;Ah(6520,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ah(6556,H);break}case 57:{c[I>>2]=c[l>>2];Ah(6597,I);break}case 65:{Ah(6639,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Ub(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Rb(d,3058)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){te(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Vf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(xh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Rf(3865,f)|0))m=c[F>>2]|0;else{mf(F)|0;f=mf(F)|0;if(!f){O=20;break a}if((((Rf(4505,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Ne(f,4508)|0)if(Ne(f,4512)|0){if(I?(g=Ne(f,4516)|0,!((H|g|0)==0&G)):0)if(!(Ne(f,4520)|0)){f=o;break}else{O=30;break a}if(!(Ne(f,4607)|0)){O=34;break a}if(!(Ne(f,4516)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Fh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Yg(f+1|0)|0}if(!(Se(m,4659)|0)){if(o|0)c[e>>2]=th(f)|0;if(k)h=th(f)|0}}while(!(I&(Se(m,4668)|0)==0));if((Rf(4682,f)|0)!=0?(q=(Fh(f,32)|0)+1|0,r=Fh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=Zc(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=Zc(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=Ud(f)|0;c[z+4>>2]=d;kh(4316,z);f=0;break}case 10:{c[v>>2]=d;kh(4353,v);f=0;break}case 11:{c[x>>2]=d;kh(4409,x);f=0;break}case 15:{c[y>>2]=2e3;kh(4441,y);f=0;break}case 20:{c[u>>2]=d;kh(4479,u);f=0;break}case 30:{if(!g)kh(4524,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;kh(4567,E);f=0;break}case 34:{c[w>>2]=d;kh(4611,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;kh(4636,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;xg(N,256,6991,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;kh(4689,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?13128:4783;c[K+8>>2]=f?4508:4512;c[K+12>>2]=h|0?h:4799;kh(4809,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;xg(N,256,6991,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;kh(4850,M);f=0}break}}i=P;return f|0}function Vb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=bi(h)|0;c[b+16>>2]=e;f=hd(c[f>>2]|0)|0;if(!f){s=0;break}s=Ad(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Li(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}Wd(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)qf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Of(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;Wd(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Ef(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Cd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ah(7380,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Cd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Cd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Wb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((Rf(7443,b)|0)==0?(Rf(7451,b)|0)==0:0)?(Rf(7460,b)|0)==0:0){c[j>>2]=b;Ah(7523,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Zg(4,7467,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=bh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Zg(4,7758,m);Bf(x);j=h+128|0;if((c[j>>2]|0)>0)Bf(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Zg(4,7605,n);j=h+256|0;k=c[x>>2]|0;if(!(c[3144]|0)){c[3144]=Nd(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=Je(j,k,c[3144]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=bh(l|0,m|0,n|0,I|0)|0;J=C;I=qh(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;zf(7654,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=qh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Ah(7707,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=qh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=Vd(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;xg(y,2048,7809,z)|0;j=cc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(Rf(7828,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Ac(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Li(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Ah(7833,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=Je(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)zf(7862,G);else F=j;K=h+120|0;J=K;J=qh(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function Xb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[3162]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[3278]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Qb(m,d);return a|0}if((k|0)==(c[3164]|0)){d=(c[3161]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[3164]=l;c[3161]=m;return a|0}if((k|0)==(c[3163]|0)){e=(c[3160]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[3160]=d;c[3163]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=12936+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[3159]=c[3159]&~(1<<d);break}}else{if(h>>>0<(c[3162]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[3162]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[3162]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=12672+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[3158]=c[3158]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Qb(l,m);return a|0}return 0}function Yb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Kg(0,9487,b)|0}b=d+112|0;if(c[b>>2]|0)Bf(b);b=d+128|0;if(c[b>>2]|0)Bf(b);Li(c[d+4>>2]|0);Li(c[d+8>>2]|0);Mh(d+12|0);Li(c[d+40>>2]|0);Li(c[d+44>>2]|0);Li(c[d+48>>2]|0);Li(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Bf(b);Ih(d+80|0)}Mh(a);i=e;return}function Zb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(1559,1579,448,1595);h=ya()|0;c[s>>2]=h;if((h|0)<0)zf(1608,l);if(h|0)if(!(rg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;zf(2146,k)}r=Hh()|0;c[s>>2]=r;if(rg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;zf(1619,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=gg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}tf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))yf(t);if(c[k>>2]|0)yf(m);g=0;f=0;j=h;h=k}if((b|0)==14)zf(1608,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){_c(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];zf(1853,o)}_c(k,0,h,e);h=Tf(1,f,g)|0;if((h|0)<0)zf(1764,p);if((h|0)==(g|0)){yg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ah(1799,q)}}else if((b|0)==28){yg(0)|0;yg(1)|0;Vg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;tf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)zf(1926,u);else if((b|0)==35){c[v>>2]=h;Ah(1941,v)}else if((b|0)==39){v=xe(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ah(1971,w)}else if((b|0)==41)Da(2026,1579,242,2050);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[62]|0;v=xe(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Kg(h,2069,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(2116,1579,396,2136);else if((b|0)==49)_a(0)}}function _b(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=uf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((uf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=qh(m|0,l|0,-1,-1)|0;d=C;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;bh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=bh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(qe(a,b,d)|0){b=jh()|0;if((b|0)>=0){if((Fd(b,1)|0)<0){yg(b)|0;b=-1;break}b:do if((Ie(b,d,16)|0)<0){n=xh()|0;d=c[n>>2]|0;if((d|0)!=115){w=Ud(d)|0;c[e>>2]=d;c[e+4>>2]=w;kh(2994,e);yg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=hf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=Ud(d)|0;c[t>>2]=d;c[t+4>>2]=C;kh(2770,t);yg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;kh(2902,u);yg(b)|0;e=23;break}c[r>>2]=4;do if((we(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=Ud(d)|0;c[w>>2]=d;c[w+4>>2]=C;kh(2858,w);yg(b)|0;break}}else{B=c[n>>2]|0;C=Ud(B)|0;c[v>>2]=B;c[v+4>>2]=C;kh(2828,v);yg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Fd(b,0)|0)<0){yg(b)|0;b=-1;break}if((Re(b,120)|0)<0){yg(b)|0;b=-1}}}else b=-1;else{kh(2650,x+24|0);b=-1}while(0);i=x;return b|0}function ac(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,qf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){pe(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ac(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(xh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function bc(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;k=i;i=i+128|0;h=k+112|0;g=k+96|0;f=k+72|0;j=k+40|0;e=k;do if(!((d|0)>232|(d|0)==232&b>>>0>3567587327)){if((d|0)>0|(d|0)==0&b>>>0>999999999){m=Kd(b|0,d|0,1e9,0)|0;l=C;g=mg(m|0,l|0,-1e9,-1)|0;g=qh(g|0,C|0,b|0,d|0)|0;h=C;b=Kd(g|0,h|0,1e6,0)|0;d=C;e=mg(b|0,d|0,-1e6,-1)|0;h=qh(e|0,C|0,g|0,h|0)|0;g=C;e=Kd(h|0,g|0,1e3,0)|0;f=C;n=mg(e|0,f|0,-1e3,-1)|0;g=qh(n|0,C|0,h|0,g|0)|0;h=j;c[h>>2]=m;c[h+4>>2]=l;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;h=j+16|0;c[h>>2]=e;c[h+4>>2]=f;h=j+24|0;c[h>>2]=g;c[h+4>>2]=C;Jg(a,6934,j)|0;break}if((d|0)>0|(d|0)==0&b>>>0>999999){g=Kd(b|0,d|0,1e6,0)|0;h=C;n=mg(g|0,h|0,-1e6,-1)|0;n=qh(n|0,C|0,b|0,d|0)|0;m=C;j=Kd(n|0,m|0,1e3,0)|0;l=C;e=mg(j|0,l|0,-1e3,-1)|0;m=qh(e|0,C|0,n|0,m|0)|0;n=f;c[n>>2]=g;c[n+4>>2]=h;n=f+8|0;c[n>>2]=j;c[n+4>>2]=l;n=f+16|0;c[n>>2]=m;c[n+4>>2]=C;Jg(a,6960,f)|0;break}if((d|0)>0|(d|0)==0&b>>>0>999){j=Kd(b|0,d|0,1e3,0)|0;l=C;m=mg(j|0,l|0,-1e3,-1)|0;m=qh(m|0,C|0,b|0,d|0)|0;n=g;c[n>>2]=j;c[n+4>>2]=l;n=g+8|0;c[n>>2]=m;c[n+4>>2]=C;Jg(a,6979,g)|0;break}else{n=h;c[n>>2]=b;c[n+4>>2]=d;Jg(a,6991,h)|0;break}}else{p=Kd(b|0,d|0,-727379968,232)|0;o=C;n=mg(p|0,o|0,727379968,-233)|0;n=qh(n|0,C|0,b|0,d|0)|0;m=C;d=Kd(n|0,m|0,1e9,0)|0;f=C;g=mg(d|0,f|0,-1e9,-1)|0;m=qh(g|0,C|0,n|0,m|0)|0;n=C;g=Kd(m|0,n|0,1e6,0)|0;h=C;j=mg(g|0,h|0,-1e6,-1)|0;n=qh(j|0,C|0,m|0,n|0)|0;m=C;j=Kd(n|0,m|0,1e3,0)|0;l=C;b=mg(j|0,l|0,-1e3,-1)|0;m=qh(b|0,C|0,n|0,m|0)|0;n=e;c[n>>2]=p;c[n+4>>2]=o;n=e+8|0;c[n>>2]=d;c[n+4>>2]=f;n=e+16|0;c[n>>2]=g;c[n+4>>2]=h;n=e+24|0;c[n>>2]=j;c[n+4>>2]=l;n=e+32|0;c[n>>2]=m;c[n+4>>2]=C;Jg(a,6901,e)|0}while(0);i=k;return}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Rb(b,3054)|0))e=Ge(b,0,r)|0;else{if((Rf(7443,b)|0)==0?(Rf(7451,b)|0)==0:0){if(!(Rf(7460,b)|0)){c[g>>2]=b;Ah(4249,g)}fc(b,o);if(Ne(o,9101)|0){c[f>>2]=b;Ah(3912,f)}b=o+4112|0;g=$c(b,xd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(vh(g,3959,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,xg(m,256,3966,j)|0,(vh(g,m,0,0)|0)==0):0){yg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Ad(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?3978:3983;c[k+4>>2]=j;xg(m,256,3988,k)|0;hi(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Fh(j,40)|0;a[(Fh(j,41)|0)>>0]=0;if((he(s+1|0,3996,k,7)|0)!=6)Ah(3998,h);f=(xd(c[k+16>>2]|0)|0)<<8;f=$b(b,(xd(c[k+20>>2]|0)|0)+f|0)|0;Ch(l);if((f|0)<0){yg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((bd(f,1e6)|0)>0){b=26;break}if((bd(g,0)|0)>0?(qc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;kh(4034,n);yg(g)|0;yg(f)|0;e=-1;break}else if((b|0)==24){yg(g)|0;yg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}dd(c[91]|0)|0;dd(c[32]|0)|0;dd(c[62]|0)|0;b=Nd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;Td(b+20|0,o|0,10280)|0;f=b+4|0;if(_g(f)|0){c[p>>2]=Ud(c[(xh()|0)>>2]|0)|0;Ah(4099,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=Ud(b)|0;c[q>>2]=b;c[q+4>>2]=s;Ah(4203,q)}}}else{yg(g)|0;e=-1}while(0)}break}e=Wh(b,3893,0)|0}while(0);i=r;return e|0}function dc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Xg(d|0,m|0,52)|0;e=e&2047;j=Xg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Sg(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Sg(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Sg(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Sg(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Sg(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Sg(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Sg(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Sg(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=bh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Sg(d|0,f|0,1)|0;f=C;e=e+-1|0;l=bh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Sg(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=qh(d|0,f|0,0,-1048576)|0;d=C;e=Sg(e|0,0,52)|0;d=d|C;e=o|e}else{e=Xg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;fc(b,h);if(Ne(h,9101)|0){c[g>>2]=b;Ah(3178,g)}b=h+6176|0;if(Ne(b,8634)|0){p=$c(h+4112|0,xd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;xg(k,256,3336,q)|0;c[t>>2]=0;do if(vh(p,k,t,0)|0){if((he(c[(c[t>>2]|0)+4>>2]|0,3070,l,3)|0)!=2)Ah(3346,j);n=l+4|0;j=Zc(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Ch(t);c[s>>2]=b;xg(k,256,3382,s)|0;if(!(vh(p,k,t,0)|0)){yg(p)|0;f=0;break}b=he(c[(c[t>>2]|0)+4>>2]|0,3070,l,3)|0;if((b|0)!=2){c[m>>2]=b;Ah(3392,m)}j=c[n>>2]|0;if((Ad(j)|0)>>>0<14){c[o>>2]=j;Ah(3434,o)}b=s;g=3483;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,3503,q|0)|0)){c[r>>2]=s;Ah(3521,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Ah(3554,u)}else{c[e>>2]=b;Ch(t);yg(p)|0;f=1;break}}else{yg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Ad(b)|0)>>>0>4095){c[e>>2]=b;Ah(3035,e)}Di(f,b)|0;yh(f)|0;b=Rb(f,3054)|0;if(!b){a[d>>0]=a[7828]|0;a[d+1>>0]=a[7829]|0;a[d+2>>0]=a[7830]|0;a[d+3>>0]=a[7831]|0;a[d+4>>0]=a[7832]|0}else{a[b>>0]=0;Ig(f)|0;$e(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Fh(f,47)|0;if(g){te(g,b,e,1);if(!((Se(d,7828)|0)!=0?(Se(d,9095)|0)!=0:0)){e=ud(g,3070,3072)|0;$e(d+6176|0,4096,e);Li(e)}a[g>>0]=0;if(!(Se(d,9101)|0)){g=g+1|0;zd(g,d+6176|0,Ad(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Fh(f,64)|0;if(!g){if(!((Se(d,7828)|0)!=0?(Se(d,9095)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Se(d,9101)|0)){b=d+16|0;e=3076;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=3086;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Fh(f,58)|0;if(!b){e=d+16|0;$e(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;$e(e,2048,f);f=d+2064|0;$e(f,2048,b+1|0);b=f}kd(e,e,Ad(e)|0);kd(b,b,Ad(b)|0);f=g+1|0}b=Fh(f,58)|0;do if(!b){if(!(Se(d,7828)|0)){h=d+6160|0;a[h>>0]=a[3104]|0;a[h+1>>0]=a[3105]|0;a[h+2>>0]=a[3106]|0}if(!(Se(d,9095)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Se(d,9101)|0)){h=d+6160|0;a[h>>0]=a[3107]|0;a[h+1>>0]=a[3108]|0;a[h+2>>0]=a[3109]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){$e(d+6160|0,16,e);break}else{c[h>>2]=e;Ah(3110,h)}}while(0);$e(d+4112|0,2048,f);i=j;return}function gc(a){a=a|0;var b=0,d=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=i;i=i+192|0;s=t+176|0;r=t+168|0;q=t+160|0;p=t+152|0;o=t+136|0;n=t+96|0;l=t+88|0;k=t+80|0;j=t+72|0;g=t+64|0;f=t+56|0;d=t+40|0;b=t;m=Fi(a)|0;if(!(Qi(1148)|0)){c[f>>2]=e[m+24>>1];Rg(1162,f)|0;c[g>>2]=c[m+80>>2]|0?1193:1197;Rg(1175,g)|0;c[j>>2]=c[m+16>>2];Rg(1200,j)|0;b=m+48|0;d=b;a=m+40|0;a=bh(c[d>>2]|0,c[d+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;$f(1215,a,C);a=m+100|0;d=c[a>>2]|0;if(d|0){g=d+16|0;j=b;j=bh(c[g>>2]|0,c[g+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;$f(1231,j,C)}c[k>>2]=e[m+26>>1];Rg(1248,k)|0;a:do if(Qi(1264)|0)while(1){a=c[a>>2]|0;if(!a)break a;j=c[a+4>>2]|0;g=a+24|0;k=a+16|0;k=bh(c[g>>2]|0,c[g+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;c[l>>2]=j;c[l+4>>2]=k;Rg(1270,l)|0}while(0);a=bg(m)|0;c[n>>2]=uh(a)|0;Rg(1278,n)|0;b:do if(Qi(1294)|0)while(1){if(!a)break b;k=c[a+8>>2]|0;l=c[a+12>>2]|0;c[o>>2]=c[a+4>>2];c[o+4>>2]=k;c[o+8>>2]=l;Rg(1301,o)|0;a=c[a>>2]|0}while(0);nc(n,m);o=n;$f(1312,c[o>>2]|0,c[o+4>>2]|0);o=n+24|0;m=n;h[p>>3]=+h[o>>3]/(+((c[m>>2]|0)>>>0)+4294967296.0*+((c[m+4>>2]|0)>>>0));Rg(1325,p)|0;h[q>>3]=+h[n+8>>3];Rg(1335,q)|0;h[r>>3]=+h[n+16>>3];Rg(1344,r)|0;r=n;h[s>>3]=+Eh(+h[o>>3],+h[n+32>>3],c[r>>2]|0,c[r+4>>2]|0);Rg(1353,s)|0}else{nc(b,m);u=+h[b+16>>3];h[d>>3]=+h[b+8>>3];h[d+8>>3]=u;Rg(1155,d)|0}i=t;return}function hc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Jh(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Jh(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Jh(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Jh(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=Jh(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Jh(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Jh(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function ic(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=hh(512)|0;fc(b,s);h=ab(3673)|0;p=(h|0)!=0;if(p){fc(h,q);Td(r|0,q|0,10280)|0;h=Be(r,b)|0}else{Td(r|0,s|0,10280)|0;h=Be(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=th(b)|0;j=oi(b,59)|0;if((j|0)!=0?(Rf(3058,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Lg(k,3684,l);Li(b);c[m>>2]=f;Lg(k,3695,m);if((Ne(s,7828)|0)==0?(Ne(3104,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Ne(s,9095)|0)==0?(Ne(3139,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Lg(k,3723,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Lg(k,3712,n)}b=c[t>>2]|0;Td(r|0,s|0,10280)|0;_d(r,3737,b);if(p){Td(r|0,q|0,10280)|0;_d(r,3751,b);k=c[t>>2]|0}else k=b;ii(k,3771);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Lg(k,3810,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Lg(k,3785,u);break}}while(0);if(g|0)ii(c[t>>2]|0,g);v=c[t>>2]|0;ii(v,3831);De(h,c[v+4>>2]|0,c[v+12>>2]|0);Ch(t)}i=w;return h|0}function jc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=Nd(120)|0;c[l+4>>2]=th(a)|0;m=dg(a,jj()|0)|0;c[l+8>>2]=m;je(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Si(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Ah(9696,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=_f(m,n)|0;g=l+26|0;b[g>>1]=_f(m,n)|0;h=gf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=gf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=gf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=_f(m,n)|0;b[l+58>>1]=_f(m,n)|0;j=gf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=gf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Zf(m,n)|0;j=gf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=Nd(32)|0;c[j+4>>2]=Zf(m,n)|0;c[j+8>>2]=Zf(m,n)|0;p=gf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=gf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}kg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){ff(m,g,h);b[l+104>>1]=_f(m,n)|0;b[l+106>>1]=_f(m,n)|0;p=gf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;ff(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=Tc(a,m)|0;i=o;return l|0}function kc(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 lc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=mg(f|0,b|0,10,0)|0;f=C;e=qh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=qh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Rc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=bh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Zg(4,7904,p);f=b+36|0;e=0;while(1){d=Yd(0,1)|0;c[p>>2]=d;d=xi(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=ih(c[p>>2]|0,7990)|0;c[f>>2]=th(d)|0;d=Vd(a,d)|0;Dd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;kh(7937,g);n=0}else if((h|0)==7){d=ih(c[p>>2]|0,8e3)|0;do if(!d){d=ce(a)|0;e=C;if((e|0)<0){Dd(p);c[j>>2]=a;Ah(8016,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=Zc(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=ih(c[p>>2]|0,8083)|0;if(!d){d=ih(c[p>>2]|0,8098)|0;if(!d){Dd(p);c[m>>2]=a;Ah(8104,m)}else o=d}else o=d;if(!(Ua(o|0,8179,k|0)|0)){Dd(p);c[l>>2]=o;Ah(8204,l)}d=af(k)|0;if((d|0)==-1){Dd(p);c[q>>2]=o;Ah(8246,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Dd(p);n=200;break}}while(0);i=r;return n|0}function nc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0;n=c[d+8>>2]|0;o=c[d+16>>2]|0;e=d+72|0;f=c[e>>2]|0;e=c[e+4>>2]|0;a:do if((f|0)==0&(e|0)==0)if((b[d+24>>1]|0)==1){i=0;e=0;f=d+100|0;while(1){f=c[f>>2]|0;if(!f)break;d=c[f+4>>2]|0;m=d>>>0>i>>>0;i=m?d:i;e=m?f:e}if(e){i=e+16|0;ff(n,c[i>>2]|0,c[i+4>>2]|0);i=Zf(n,o)|0;f=0;d=0;m=0;l=0.0;k=0.0;j=0.0;g=0.0;while(1){if((m|0)==(i|0)){e=d;break a}Zf(n,o)|0;Zf(n,o)|0;Zf(n,o)|0;e=Zf(n,o)|0;if(!m){g=+Uf(n,o);l=+Uf(n,o);k=+Uf(n,o);d=0;j=+Uf(n,o)}else{e=qh(e|0,0,f|0,d|0)|0;d=C;p=+Uf(n,o);q=+Uf(n,o);k=k+ +Uf(n,o);l=q>l?q:l;j=j+ +Uf(n,o);g=p<g?p:g}f=e;m=m+1|0}}else{f=0;e=0;l=0.0;k=0.0;j=0.0;g=0.0}}else{f=0;e=0;l=0.0;k=0.0;j=0.0;g=0.0}else{ff(n,f,e);f=gf(n,o)|0;e=C;g=+Sf(n,o);l=+Sf(n,o);k=+Sf(n,o);j=+Sf(n,o)}while(0);o=a;c[o>>2]=f;c[o+4>>2]=e;h[a+8>>3]=g;h[a+16>>3]=l;h[a+24>>3]=k;h[a+32>>3]=j;return}function oc(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[3145]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Jh(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Jh(yb(146,m|0)|0)|0;la(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 pc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Bc(12198,f<<24>>24,4)|0){e=Jb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Fh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Fh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[3146]|0))c[e+76>>2]=-1;mb(12608);f=c[3151]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[3151]=e;eb(12608)}}else{c[(xh()|0)>>2]=22;e=0}i=o;return e|0}function qc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=hh(4096)|0;while(1){if((bd(b,1e6)|0)<=0){j=3;break}g=Vf(b,m,4096)|0;if(g){He(c[o>>2]|0,m,g);if(!(Pg(c[(c[o>>2]|0)+4>>2]|0,3262)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Ad(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Ad(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;kh(3218,n);g=0}else if((j|0)==18){g=xd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;kh(3264,p);g=0;break}if(!e)Ch(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function rc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;ff(c[n>>2]|0,d,e);je(c[n>>2]|0,p,1,0);je(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=_f(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}je(c[n>>2]|0,l,c[k>>2]|0,0);q=gf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;rc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;je(c[n>>2]|0,l,c[k>>2]|0,0);je(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function sc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?12628:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[480+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(xh()|0)>>2]=84;f=-1}i=l;return f|0}function tc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Vf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=qh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=bh(1,0,g|0,e|0)|0;b=qh(b|0,C|0,d|0,h|0)|0}r=(Tf(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=qh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=qh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)of(4147,l);if((b|0)==-1)of(4178,o);yg(c[m>>2]|0)|0;yg(c[a+12>>2]|0)|0;yg(c[n>>2]|0)|0;i=q;return 0}function uc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=Ge(a,2,h)|0;if((e|0)<0)if((c[(xh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;zf(9176,d)}else{be(e,h)|0;if((c[h+36>>2]|0)<64){yg(e)|0;b=0}else{sd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Si(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Ah(9199,j)}}else f=0;b=Nd(56)|0;c[b+4>>2]=Xf(e,f)|0;g=df(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=df(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Xf(e,f)|0;Xf(e,f)|0;df(e,f)|0;df(e,f)|0;df(e,f)|0;df(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function vc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){qd(b);break}if((yg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Ah(2304,k)}}else{if(!(c[a+20>>2]&2)){if(og(d)|0){c[f>>2]=c[a+12>>2];Ah(2273,f)}}else{dd(d)|0;if(og(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Ah(2243,e)}}if((Zd(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Ah(2304,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)zf(1926,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Ah(2334,l)}if(b|0)Da(2375,1579,435,2393);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Ah(2409,m)}i=n;return d>>>8&255|0}function wc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+120|0;r=s+80|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((Lb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=lj(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=Lb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Lb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)kj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function xc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=th(13128)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(ui(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Nd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(ui(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;xg(h,4,1373,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function yc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);pe(b|0,0,e|0)|0;return b|0}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=hh(512)|0;c[h>>2]=f;ii(f,b);ii(f,3054);d=b+16|0;if(a[d>>0]|0){d=xc(d)|0;ii(f,d);Li(d);d=b+2064|0;if(a[d>>0]|0){ii(f,3135);d=xc(d)|0;ii(f,d);Li(d)}ii(f,3137)}ii(f,b+4112|0);if(!((Ne(b,9101)|0)==0?!(Ne(3107,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Ne(b,7828)|0)==0?(Ne(3104,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Ne(b,9095)|0)==0?(Ne(3139,d)|0)==0:0)break;ii(f,3135);ii(f,d)}while(0);ii(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Lg(f,3143,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Lg(f,6991,k)}k=Ng(h)|0;i=l;return k|0}function Ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Ub(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}yg(a)|0;if((h|0)>0)Li(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Rf(7443,f)|0)==0?(Rf(7451,f)|0)==0:0){g=11;break}f=Vd(g,f)|0;c[j>>2]=f;a=cc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;kh(4898,k);g=14}else if((g|0)==11){c[l>>2]=f;kh(4952,l);g=14}else if((g|0)==13){c[m>>2]=f;kh(9470,m);g=14}if((g|0)==14)if((b|0)>0){Li(f);b=0}else b=0;i=n;return b|0}function Bc(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|0)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?b:0)|0}function Cc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Jh(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(xh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Jh(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;hc(e,2,j)|0}if(b&2048){c[h>>2]=hc(e,3,k)|0|2048;hc(e,4,h)|0}}}}while(0);i=l;return e|0}function Dc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[3145]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Jh(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Jh(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Fc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(5715,5767,388,5779);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Qh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)kg(b);d=d+1|0}Li(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Nd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=hh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){ii(e,1507);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){ii(e,3070);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}ii(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Ng(j)|0;if(!(c[a>>2]|0))Ah(1511,k);if(!(b&8))e=0;else{Tg(l,ge(48,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Tg(l,ge(d,l)|0);e=e+1|0}i=m;return l|0}function Hc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Zg(4,8939,p);fg(500);l=a+5|0;k=Uc(l,8846)|0;c[p>>2]=k;vi(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}fg(250);g=e-j|0;g=Pe(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Zg(4,8992,m);if(og(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;kh(9014,o);c[n>>2]=l;zf(8898,n)}else if((g|0)==6){$h(p);i=q;return a|0}return 0}function Ic(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=lj(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;Td(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Pd(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)kj(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)kj(f);return e|0}function Jc(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(!(Ke(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Td(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 Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Lc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Ad(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Mc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Nd(16)|0;else l=We(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=ji(d,e)|0;else{k=We(h,e+1|0)|0;c[l+4>>2]=k;Td(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Fc(b,sh(m)|0);return l|0}function Nc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=qj()|0;fj(12496)|0;if((c[3131]|0)!=0&(a|0)==(c[3132]|0)){Tf(2,2433,61)|0;_a(1)}dj(12496)|0;fj(12532)|0;fj(12496)|0;c[3132]=a;c[3131]=1;dj(12496)|0;if(!(c[3140]|0))c[3140]=Yd(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;xg(d,64,6991,b)|0;a=ye(c[3140]|0,d)|0;if(!a){a=Nd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Zh(c[3140]|0,d,a)|0}fj(12496)|0;c[3131]=0;dj(12496)|0;dj(12532)|0;i=e;return c[a+8>>2]|0}function Oc(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=hh(Ad(f)|0)|0;c[j>>2]=g;h=f;f=Fh(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;ii(g,h);ii(g,8634);m=f+1|0;h=m;f=Fh(m,47)|0}ii(g,h);f=Ng(j)|0;j=Ad(d)|0;m=Ad(e)|0;m=j+3+m+(Ad(f)|0)|0;j=Nd(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;xg(j,m,8636,k)|0;c[b+44>>2]=xf(b,8645)|0;c[b+48>>2]=xf(b,8652)|0;c[b+52>>2]=xf(b,8663)|0}i=l;return}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Wh(b,d,0)|0;if((d|0)>-1){b=Yf(b,1,d)|0;c[h>>2]=b;a:do if((((Vb(b,g,0)|0)!=0?(Rf(3865,c[g>>2]|0)|0)!=0:0)?(mf(g)|0,f=mf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=xd(f)|0;if(e)while(1){if(!(Vb(c[h>>2]|0,g,0)|0))break a;f=mf(g)|0;if(!f)break a;b=Hg(f)|0;Zh(e,b,th(Yg(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);qd(h)}else d=c[(xh()|0)>>2]|0;i=j;return d|0}function Rc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=sf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=684;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(xh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=wc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=Nd(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;je(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Si(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Ah(6175,j)}}else f=0;c[d+12>>2]=Zf(b,f)|0;c[d+16>>2]=Zf(b,f)|0;c[d+20>>2]=Zf(b,f)|0;g=gf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;je(b,h,4,0);je(b,h,4,0);b=bi(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Ne(b,7370)|0){if(!(Ne(b,5109)|0)){f=c[32]|0;break}e=Gd(b,d)|0;if(!e){a:do if(!d)e=13128;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=5137;break a}case 119:{e=5127;break a}default:{e=e<<24>>24==97?5116:13128;break a}}}while(0);d=Ud(c[(xh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ah(5146,g)}else f=e}else f=c[91]|0;while(0);i=h;return f|0}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;ad(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=Nd(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;Oc(a,b,h,d);c[e>>2]=0;b=a+44|0;j=ch(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=ch(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=ch(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;kg(e);Li(c[a+40>>2]|0);Li(c[b>>2]|0);Li(c[f>>2]|0);Li(a);Li(h);Li(d);d=c[e>>2]|0}i=g;return d|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ae(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Yi(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;bj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;kh(5023,f);b=0;break}}else{Me(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function Xc(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Nd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[9631+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[9631+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[9631+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[9631+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function Yc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[7068+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[7068+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function Zc(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Ai(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=mg(c|0,d|0,10,0)|0;b=b+1|0;c=bh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=bh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))zf(1652,k);l=Hh()|0;if(rg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Hh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;zf(1675,f)}if(b|0?(Df(b,0)|0)<0:0)zf(1702,g);if((d|0)!=1?(Df(d,1)|0)<0:0)zf(1722,h);if((e|0)!=2?(Df(e,2)|0)<0:0)zf(1743,j);Vg();i=k;return}function $c(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=$b(a,b)|0;if((a|0)<0)a=-1;else{if((bd(a,1e6)|0)>0)vh(a,13128,0,0)|0;c[g>>2]=0;c[h>>2]=d;xg(f,256,3307,h)|0;do if(vh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,xg(f,256,3317,j)|0,(vh(a,f,0,0)|0)==0):0){yg(a)|0;a=-1;break}if(!(vh(a,3327,0,0)|0)){yg(a)|0;a=-1}}else{yg(a)|0;a=-1}while(0)}i=k;return a|0}function ad(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Fh(b,58)|0;if(!h)h=0;else{m=ji(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Fh(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){$d(l,1024,b,k+1-b|0);c[g>>2]=vd(l)|0}j=Fh(b,47)|0;if(!j)j=b+(Ad(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=vd(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=hf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(xh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=Ud(a)|0;kh(3160,m)}i=n;return a|0}function cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Ge(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Nd(5)|0;c[g>>2]=f;if((Vf(e,f,4)|0)<4)Mh(g);else a[f+4>>0]=0;yg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Od(e)|0,Mh(h),(g|0)!=0):0){h=eg(re(b)|0,33,b,0)|0;e=Yf(b,d,Wi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function dd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Jd(a)|0;break}d=(lj(a)|0)==0;b=Jd(a)|0;if(!d)kj(a)}else{if(!(c[61]|0))b=0;else b=dd(c[61]|0)|0;mb(12608);a=c[3151]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=lj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Jd(a)|0|b;if(d|0)kj(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(12608)}while(0);return b|0}function ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=vf(e,0)|0;c[n>>2]=g;Pf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=vf(d,e)|0;else if(!f){e=Ge(d,0,h)|0;if((e|0)<0){c[k>>2]=d;zf(2212,k)}else j=e}else j=0;c[m>>2]=j;e=Ue(a,b,j,g)|0;yf(m);if(!l)yf(n);i=o;return e|0}function fd(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[(xh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function gd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=Hh()|0;c[g>>2]=f;xg(a,256,6996,g)|0;d=Ce(a,1)|0;c[g>>2]=d;if(!d){j=c[62]|0;c[b>>2]=a;Kg(j,7033,b)|0;a=j}else{while(1){if(!(If(d,e)|0))break;a=c[e>>2]|0;if(Rb(a,7012)|0){j=5;break}}if((j|0)==5){j=c[62]|0;c[h>>2]=f;c[h+4>>2]=a;Kg(j,7019,h)|0}qd(g);a=c[62]|0}dd(a)|0;i=k;return}function hd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Sd(k)|0;Td(j|0,d|0,e|0)|0;Li(c);d=j;e=k;c=j}k=Nb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=th(d)|0;Li(c);c=l}i=h;return c|0}function id(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Zg(4,8705,j);h=se(a)|0;n=Uc(h,8846)|0;c[j>>2]=n;vi(n,b,0)|0;a=Pe(g+256|0,f,e,n)|0;if(!(og(n)|0)){$h(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;kh(8849,k);c[l>>2]=h;zf(8898,l)}return 0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Zg(4,8324,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(ec(a,f,e)|0){a=af(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Ah(8356,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function kd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Og(f,1369,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function ld(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;pe(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){Jc(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;Jc(h,f,a)|0}while(0);i=j;return}function md(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(!(Ke(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function nd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Mg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Sc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Mg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function od(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(oh(b)|0)){c=(Ad(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Di(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Fh(b,47)|0;if(!b){wf(e)|0;b=0;continue}else{a[b>>0]=0;wf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(lj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=md(d,b)|0;kj(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=md(d,b)|0}while(0);return e|0}function qd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Dh(c[91]|0)|0):0){yg(c[d>>2]|0)|0;Li(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Yb(d)}else lh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);Li(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Dd(g);Mh(b)}return}function rd(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=bh(h^a|0,g^b|0,h|0,g|0)|0;b=C;_b(a,b,bh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=bh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function sd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Vf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;zf(5329,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ah(5354,g)}else if((d|0)==8){i=h;return}}function td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(Ne(a,7370)|0)if(Ne(a,5109)|0){c[d>>2]=436;d=Ge(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?5137:5116;else d=5127;else d=5290;else d=5266;c[f>>2]=a;c[f+4>>2]=d;zf(5301,f)}else e=d}else e=1;else e=0;i=g;return e|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ad(b)|0;h=Ad(c)|0;d=0;e=Rb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Rb(e+g|0,b)|0}f=Ad(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Nd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Rb(a,b)|0;d=f;while(1){if(!a)break;Di(d,e)|0;j=a+g|0;i=d+(a-e)|0;Di(i,c)|0;e=j;a=Rb(j,b)|0;d=i+h|0}Di(d,e)|0;return f|0}function vd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(Lf(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=Nd(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(Lf(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;Jg(g,8628,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function wd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Sg(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function xd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Ai(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function zd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Og(f,1369,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ad(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 Bd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Xg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Bd(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 Cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(ye(c[e>>2]|0,d)|0)){Zh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Kg(g,7376,h)|0}}}while(0);i=j;return}function Dd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;yi(d);d=g}e=e+1|0}}else{zh(b);b=d+8|0}while(0);Li(c[b>>2]|0);Mh(a)}return}function Ed(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=12481;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=hc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((hc(a,4,f)|0)<0){c[g>>2]=Ud(c[(xh()|0)>>2]|0)|0;kh(2739,g);d=-1}else d=0}else{c[e>>2]=Ud(c[(xh()|0)>>2]|0)|0;kh(2708,e);d=-1}i=h;return d|0}function Gd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Bc(12198,a[d>>0]|0,4)|0){h=_e(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Jh(jb(5,e|0)|0)|0;if((e|0)>=0){b=pc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(xh()|0)>>2]=22;b=0}i=g;return b|0}function Hd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[7076+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[7084+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[7084+f>>0]}while(0);return}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ah(5925,d)}d=Gi(a,b)|0;if(!d){g=c[(xh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ah(5989,e)}else{i=f;return d|0}return 0}function Jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Kd(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=bh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return bh((_b(h,g,bh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Af(h,0);e=+Kb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Md(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=ag(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Rh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Nd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ah(6061,b)}b=aj(a)|0;if(!b){f=c[(xh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ah(6114,d)}else{pe(b|0,0,a|0)|0;i=e;return b|0}return 0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Rf(7242,a)|0))if(!(Rf(7245,a)|0))if(!(Rf(7249,a)|0))if(!(Rf(7252,a)|0))a=0;else{a=7257;e=5}else{a=7261;e=5}else{a=7265;e=5}else{a=7267;e=5}if((e|0)==5){c[d>>2]=a;xg(b,20,7270,d)|0;a=th(b)|0}i=f;return a|0}function Pd(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(oh(a)|0)){d=Gd(a,7240)|0;c[b>>2]=d;if(!d){a=0;break}else{$h(b);a=1;break}}else{f=wh()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;kh(7210,d);a=0;break}}while(0);i=e;return a|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Jb(b)|0;return a|0}if(b>>>0>4294967231){c[(xh()|0)>>2]=12;a=0;return a|0}d=Xb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Jb(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;Td(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Pb(a);a=d;return a|0}function Sd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ah(5801,b)}b=aj(a)|0;if(!b){f=c[(xh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ah(5859,d)}else{i=e;return b|0}return 0}function Td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 Ud(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[10266+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=10354;e=5;break}}if((e|0)==2)if(!c)b=10354;else{b=10354;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 Vd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;fc(b,g);fc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){$e(e,2048,d);$e(f+2064|0,2048,g+2064|0)}g=zc(f)|0;i=h;return g|0}function Wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function Xd(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Af(j,0);e=Sb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Nd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(5715,5767,357,5790);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Ag((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Qh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function Zd(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(12608);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[3151]|0)==(a|0))c[3151]=b;eb(12608)}b=dd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Pb(d);if(!e)Pb(a);return b|0}function _d(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;xg(h,256,3652,j)|0;j=Xc(h,Ad(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Lg(e,3658,k);Mh(g)}i=l;return}function $d(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Ah(5655,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;di(b,e,f)|0;a[b+g>>0]=0;i=j;return}function ae(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=bf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=5531;else e=(d|0)==2?5490:5499;else e=5522;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;zf(5540,g);return 0}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Ed(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Jh(Pa(195,f|0)|0)|0}else d=Jh(d)|0;i=g;return d|0}function ce(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;xg(g,4096,3876,e)|0;a=Yd(0,1)|0;c[e>>2]=a;if(((Qc(g,3893,a)|0)==206?(b=ih(a,3897)|0,(b|0)!=0):0)?(d=Fh(b,47)|0,(d|0)!=0):0){b=Zc(d+1|0)|0;a=C}else{a=-1;b=-1}Dd(e);C=a;i=f;return b|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0;d=wh()|0;a=Vc(a,(b|0)==0?c[31]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Pg(e,8645)|0){if(!(oh(e)|0))break a;if((cg(e)|0)>>>0<b>>>0)b=cg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ee(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[32]|0;if((c[f+76>>2]|0)>-1)g=lj(f)|0;else g=0;do if((ri(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=(md(f,10)|0)<0}while(0);if(g|0)kj(f);return d<<31>>31|0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Li(e);f=f+1|0}Li(b);Li(i);i=h}Mh(g+12|0);Mh(g+28|0);Mh(a)}return}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Nd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Nd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=th(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function he(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Ec(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Kc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Zg(4,9062,d);fg(500);if((sg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Nb(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Ah(8576,g)}else{i=h;return}}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Zg(4,8906,d);if((sg(se(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function le(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[32]|0);if((b|0)==(c[91]|0)|d)if(d){dd(b)|0;b=1}else b=1;else if(!(Zd(b)|0))b=1;else{of(5590,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Ic(b,d,1,a)|0)!=1:0){b=og(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Ah(5235,f)}else{f=Ud(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Ah(5206,e)}}i=g;return}function ne(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=vg(b)|0;do if((f|0)!=0?(Ne(f,6636)|0)!=0:0){d=Uh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ah(6359,h)}else e=d;while(0);i=j;return e|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Qh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ah(6825,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function pe(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 qe(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Ci(e&65535)|0;if(d){h=Zi(Wc(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function re(a){a=a|0;var b=0;b=th(a)|0;if(!(((Rf(7443,a)|0)==0?(Rf(7451,a)|0)==0:0)?!(Rf(7460,a)|0):0))kd(a,b,Ad(a)|0);if(!(Pg(b,7282)|0))if(!(Pg(b,7286)|0))if(!(Pg(b,7289)|0)){a=(Pg(b,7294)|0)==0;a=a?0:76}else a=112;else a=100;else a=88;Li(b);return a|0}function se(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(Rf(8753,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Ah(8760,e);if(((((Rb(b,8787)|0)==0?(Fh(b,126)|0)==0:0)?(Rb(b,8790)|0)==0:0)?(Rb(b,8793)|0)==0:0)?(Pg(8797,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Ah(8800,d);return 0}function te(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=oi(b,59)|0;if((g|0?Rf(3058,g)|0:0)?(i=(Fh(g,61)|0)+1|0,h=Fh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=Zc(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=Zc(b)|0;c[e>>2]=f}}return}function ue(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 ve(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Jh(pa(102,h|0)|0)|0;i=g;return e|0}function we(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Jh(pa(102,h|0)|0)|0;i=g;return e|0}function xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=hh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){ii(e,3070);b=c[d>>2]|0}ii(e,b);f=f+1|0}g=Ng(g)|0;i=h;return g|0}function ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Ne(c[e+4>>2]|0,d)|0)!=0);return e|0}function ze(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((Jh(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ae(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Fh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Ne(a,7828)|0)if(!(Ne(a,9095)|0)){d=eh(a+4112|0,xd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Ah(3610,e)}else d=$b(a+4112|0,xd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Ne(a,7370)|0){if(re(a)|0){c=cd(a,b)|0;break}c=Ge(a,0,c)|0;if((c|0)==-1)c=0;else c=Yf(a,b,c)|0}else c=ti(b)|0;while(0);i=d;return c|0}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Tf(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)zf(5396,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ah(5422,e)}}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){Qg(c[a+4>>2]|0,e);f=Nd(16)|0;c[f+4>>2]=ji(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(9716,9743,206,9758)}function Fe(b){b=b|0;var d=0,e=0,f=0;d=c[62]|0;f=Ud(c[(xh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=lj(d)|0;else e=0;if(b|0?a[b>>0]|0:0){ef(b,Ad(b)|0,1,d)|0;pd(58,d)|0;pd(32,d)|0}ef(f,Ad(f)|0,1,d)|0;pd(10,d)|0;if(e|0)kj(d);return}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Jh(jb(5,f|0)|0)|0;i=e;return d|0}function He(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Mg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;Td(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Jh(pa(102,f|0)|0)|0;i=e;return d|0}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=qh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Vf(b,d,e)|0;a=a+16|0;b=a;b=qh(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function Ke(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 Le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=qh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=qh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;De(b,d,e);return}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ac(2,a,d)|0)<0){b=Ud(c[(xh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;kh(4982,e);a=0}else{c[b>>2]=Yi(c[d>>2]|0)|0;a=1}i=f;return a|0}function Ne(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 Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=qh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=qh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;sd(b,d,e);return}function Pe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=qh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=qh(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ic(b,1,d,e)|0}function Qe(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=oc(b,d,e)|0;i=g;return f|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((ve(a,1,20,d,8)|0)>=0)if((ve(a,1,21,d,8)|0)<0){kh(2603,e);a=-1}else a=0;else{kh(2553,f);a=-1}i=f;return a|0}function Se(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=mi(a[e>>0]|0)|0;c=c<<24>>24;b=(mi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Te(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 Ue(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;Pf(b);a=Gc(a,b)|0;if(!(b&1)){b=gg(a+16|0)|0;c[f>>2]=b;Zb(a,b,d,e,0,0);yf(f)}else Gf(a,d,e,0,0);i=g;return a|0}function Ve(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=6;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Mb(e,b,d)|0;i=g;return h|0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=oe(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Sc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ah(5604,g)}return 0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Bc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;Td(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Ze(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Jh(ib(10,b|0)|0)|0;if(b){if((c[(xh()|0)>>2]|0)==21){c[d>>2]=a;b=Jh(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function _e(b){b=b|0;var c=0,d=0,e=0;d=(Fh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Fh(b,120)|0)==0;d=e?d:d|128;b=(Fh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Ad(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Ah(5063,f)}else{Di(a,d)|0;i=g;return}}function af(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(5704)|0;d=(b|0)!=0;if(d)$e(e,100,b);qa(5704,5707,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(5704,e|0,1)|0;else ob(5704)|0;Oa();i=f;return b|0}function bf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Jh(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function cf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;mh(e,b,8);Hi(rf(1362,jj()|0)|0);if((c[e>>2]|0)!=2)Ah(828,d);gc(c[b+4>>2]|0);if((mj()|0)>1)gd();i=d;return 0}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;sd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(lj(e)|0)==0;a=Jc(a,f,e)|0;if(!g)kj(e)}else a=Jc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=qh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[31]|0)lg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;je(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=gi(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function hf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Jh(kb(142,h|0)|0)|0;i=g;return d|0}function jf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function kf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[32]|0;else{ee(2495)|0;ee(2520)|0;d=c[32]|0;wc(d,a,b)|0;pd(10,d)|0;dd(d)|0}dd(d)|0;d=c[62]|0;wc(d,a,b)|0;pd(10,d)|0;dd(d)|0}return}function lf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Sd(h)|0;a=a+136|0;lg(a,b,d+64|0,0)|0;Oe(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function mf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Yg(e)|0,(a[d>>0]|0)!=0):0){e=Ff(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function nf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=Ud(c[(xh()|0)>>2]|0)|0;c[g+4>>2]=a;Jg(f,2547,g)|0;ph(f,e);i=d;return}function pf(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?(ef(b,d,1,a)|0)!=1:0){a=Ud(og(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Ah(5176,e)}i=f;return}function qf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Td(b,c,d)|0;return b|0}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;f=g;d=c[3143]|0;if((d|0?(e=zg(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Ah(6757,f);f=vg(a)|0;i=g;return ((f|0)==0?b:f)|0}function sf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Pd(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ah(1869,e)}}function uf(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 vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Ge(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;zf(2180,d)}else{i=e;return b|0}return 0}function wf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((ug(a,511)|0)<0)if((c[(xh()|0)>>2]|0)==17)b=0;else{Fe(13128);c[d>>2]=a;Ah(7152,d)}else b=1;i=e;return b|0}function xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Ad(c[g>>2]|0)|0;e=Ad(d)|0;b=Nd(f+2+e|0)|0;Td(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;Td(f+1|0,d|0,e|0)|0;return b|0}function yf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((yg(b)|0)<0){c[d>>2]=b;zf(1904,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=Ud(c[(xh()|0)>>2]|0)|0;c[f+4>>2]=a;Jg(e,2547,f)|0;Ph(e,d)}function Af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Bf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((yg(b)|0)<0)zf(5572,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Ad(a)|0;g=g+1+(Ad(b)|0)|0;d=Nd(g)|0;c[f>>2]=a;c[f+4>>2]=b;wg(d,g,5585,f)|0;i=e;return d|0}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Jh(d)|0;i=f;return e|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Yh(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(7314,7336,352,7352)}function Ff(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Ai(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Gf(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;g=i;i=i+16|0;h=g;c[a+16>>2]=gg(h)|0;Zb(a,b,c[h>>2]|0,d,e,f);yf(h);i=g;return}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(sg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function If(b,d){b=b|0;d=d|0;a:while(1){if(!(Vb(b,d,0)|0)){b=0;break}switch(a[(Yg(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Jf(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;a=b-a*a/(+(c>>>0)+4294967296.0*+(d>>>0));if(d>>>0>0|(d|0)==0&c>>>0>1){d=qh(c|0,d|0,-1,-1)|0;a=a/(+(d>>>0)+4294967296.0*+(C>>>0))}return +a}function Kf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Hf(b)|0;b=Uc(b,8846)|0;g=Sd(f+1|0)|0;c[d>>2]=g;me(b,g,f);a[g+f>>0]=0;Zd(b)|0;if(e|0)c[e>>2]=f;return}function Lf(a){a=a|0;a:do if(!(ui(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Td(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Nf(a){a=+a;var b=0,d=0;h[k>>3]=a;d=za(c[k>>2]|0,c[k+4>>2]|0)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(+h[k>>3])}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Vf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Pf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ah(1378,c);break}default:{}}if((a&18|0)==16)Ah(1444,b);else{i=c;return}}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(lj(a)|0)==0;b=yd(a,b,d)|0;if(!e)kj(a)}else b=yd(a,b,d)|0;return b|0}function Rf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Sf(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;i=i+16|0;d=e;je(a,d,8,0);c=+h[d>>3];if(b){c=+Nf(c);h[d>>3]=c}i=e;return +c}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Jh(pb(4,f|0)|0)|0;i=e;return a|0}function Uf(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;i=i+16|0;d=e;je(a,d,4,0);c=+g[d>>2];if(b){c=+Wg(c);g[d>>2]=c}i=e;return +c}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Jh(sb(3,f|0)|0)|0;i=e;return a|0}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;xg(e,256,5712,f)|0;Hg(e)|0;b=ye(a,e)|0;i=d;return b|0}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;sd(a,d,4);a=c[d>>2]|0;if(b){a=Vh(a|0)|0;c[d>>2]=a}i=e;return a|0}function Yf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Nd(104)|0;c[f+4>>2]=th(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Nd(65537)|0;return f|0}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;je(a,d,4,0);a=c[d>>2]|0;if(b){a=Si(a)|0;c[d>>2]=a}i=e;return a|0}function _f(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;je(a,d,2,0);a=b[d>>1]|0;if(c){a=Ti(a)|0;b[d>>1]=a}i=e;return a|0}function $f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;Rg(1143,f)|0;Dg(c[32]|0,b,d);Ri(10)|0;i=e;return}function ag(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;_b(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function bg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];nh(c[a+20>>2]|0,b,1);kg(b);i=d;return c[b>>2]|0}function cg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((sg(a,b)|0)<0){c[d>>2]=a;Ah(7179,d)}else{i=e;return c[b+56>>2]|0}return 0}function dg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ob(a,b)|0;if(!b){c[d>>2]=a;Ah(9470,d)}else{i=e;return b|0}return 0}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=ed(g,b,d,e)|0;i=f;return e|0}function fg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;hf(0,0,0,0,b)|0}i=d;return}function gg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((_g(b)|0)<0)zf(1541,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function hg(b){b=b|0;var c=0,d=0;c=Ad(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Ai(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function ig(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[14]|0)>=(a|0)){a=c[3141]|0;if(!a){a=c[62]|0;c[3141]=a}wc(a,b,d)|0;dd(c[3141]|0)|0}return}function kg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=qh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return ae(b,d,e)|0}function mg(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=jf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function ng(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(Ne(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function og(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(lj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)kj(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function pg(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;a=Uc(a,7240)|0;c[f>>2]=a;pf(a,b,d);$h(f);i=e;return}function qg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=9126;c[a+4>>2]=352;Ah(9105,a);return 0}function rg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Jh(cb(57,e|0)|0)|0;i=d;return a|0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Jh(Pa(195,e|0)|0)|0;i=d;return a|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Jh(hb(38,e|0)|0)|0;i=d;return a|0}function ug(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Jh(Ia(39,e|0)|0)|0;i=d;return a|0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[3142]|0;if(!b)Ah(6725,d);else{a=rh(b,a)|0;i=d;return a|0}return 0}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Sc(a,b,d,g)|0;i=f;return e|0}function xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Xe(a,b,d,g)|0;i=f;return e|0}function yg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=Jh((a|0)==-4?-115:a)|0;i=b;return a|0}function zg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Ne(d,a)|0))break;b=b+8|0}return b|0}function Ag(a){a=a|0;var b=0;b=Nd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;oe(b,a)|0;return b|0}function Bg(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=Jh(Wa(6,d|0)|0)|0;i=b;return a|0}function Cg(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]}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;i=i+32|0;e=d;bc(e,b,c);ri(e,a)|0;i=d;return}function Eg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Gg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Nd(d+1|0)|0;c=(c|0)<(d|0)?c:d;Td(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Hg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=mi(c<<24>>24)|0;d=d+1|0}return b|0}function Ig(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=ni(c<<24>>24)|0;d=d+1|0}return b|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=ai(a,b,f)|0;i=e;return d|0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=wc(a,b,f)|0;i=e;return d|0}function Lg(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;nd(a,b,f);i=e;return}function Mg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Yh(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Ng(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(6854,6865,40,6881);else{b=c[b+4>>2]|0;Mh(a);return b|0}return 0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ve(a,b,f)|0;i=e;return d|0}function Pg(a,b){a=a|0;b=b|0;var c=0;c=Ad(a)|0;c=c-(Ad(b)|0)|0;if((c|0)<0)c=0;else c=(Ne(a+c|0,b)|0)==0&1;return c|0}function Qg(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Si(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Si(c[a>>2]|0)|0}return}function Rg(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=wc(c[32]|0,a,e)|0;i=d;return b|0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Tg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Ug(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Li(b);b=d}c[a>>2]=0;return}function Vg(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;yg(b)|0;b=b+1|0}return}function Wg(a){a=+a;var b=0;b=Vh((g[k>>2]=a,c[k>>2]|0)|0)|0;return +(c[k>>2]=b,+g[k>>2])}function Xg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Yg(b){b=b|0;if(!b)b=0;else while(1)if(!(Ai(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Zg(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;jg(a,b,f);i=e;return}function _g(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Jh(wa(42,d|0)|0)|0;i=b;return a|0}function $g(a,b,c){a=a|0;b=b|0;c=c|0;a=Id(a,c)|0;if(c>>>0>b>>>0)pe(a+b|0,0,c-b|0)|0;return a|0}function ah(){}function bh(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 (C=d,a-c>>>0|0)|0}function ch(a){a=a|0;var b=0;if(!a)a=Nd(8)|0;else{b=Nd((Ad(a)|0)+8|0)|0;Di(b+4|0,a)|0;a=b}return a|0}function dh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[14]=a;c[d>>2]=0;i=b;return}function eh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Ah(7092,d);return 0}function fh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function gh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=9126;c[a+4>>2]=360;Ah(9105,a);return 0}function hh(a){a=a|0;var b=0;b=Nd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Nd(a+1|0)|0;c[b+8>>2]=a;return b|0}function ih(a,b){a=a|0;b=b|0;a=Wf(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function jh(){var a=0,b=0;b=i;i=i+16|0;a=Cc(2,1,0)|0;if((a|0)<0)kh(2678,b);i=b;return a|0}function kh(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;ph(a,e);i=d;return}function lh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=vc(b)|0;fe(a)}return b|0}function mh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[3142]|0)){Oh(Tb(a,b,0,d,0)|0);c[3143]=d}return}function nh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;rc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function oh(a){a=a|0;if((Ne(a,7370)|0)!=0?(Ne(a,5109)|0)!=0:0)a=(Hf(a)|0)!=-1&1;else a=1;return a|0}function ph(a,b){a=a|0;b=b|0;var d=0;d=Nc()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&1](a,b);return}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function rh(a,b){a=a|0;b=b|0;a=ye(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function sh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function th(a){a=a|0;var b=0;if(!a)a=0;else{b=Ad(a)|0;a=Gg(a,b,b)|0}return a|0}function uh(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hi(a,b);return qc(a,b,c,d)|0}function wh(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function xh(){var a=0;if(!(c[3145]|0))a=12624;else a=c[(qj()|0)+64>>2]|0;return a|0}function yh(a){a=a|0;if(!a)a=0;else{a=Yg(a)|0;hg(a)}return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ug(b);Li(b);c[a>>2]=0}return}function Ah(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ph(a,d)}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Ch(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Li(c[b+4>>2]|0);Mh(a)}return}function Dh(a){a=a|0;if((c[a+76>>2]|0)>-1?lj(a)|0:0)kj(a);return c[a+60>>2]|0}function Eh(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;return +(+O(+(+Jf(a,b,c,d))))}function Fh(b,c){b=b|0;c=c|0;b=Lc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Gh(){var a=0;a=Nc()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Hh(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ih(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Bf(b+52|0);Mh(a)}return}function Jh(a){a=a|0;if(a>>>0>4294963200){c[(xh()|0)>>2]=0-a;a=-1}return a|0}function Kh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=fd(a,b,0)|0;return a|0}function Mh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)cj(b);return}function Nh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Oh(a){a=a|0;c[3142]=a;if(vg(6217)|0)dh(ne(6217,0)|0);return}function Ph(a,b){a=a|0;b=b|0;c[(Nc()|0)+4>>2]=1;ph(a,b);Gh()}function Qh(a){a=a|0;var b=0;b=Sd(a)|0;pe(b|0,0,a|0)|0;return b|0}function Rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _b(a,b,c,d,0)|0}function Sh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;a=Xd(a,b,c,0,-2147483648)|0;return a|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;a=Xd(a,b,c,-2147483648,0)|0;return a|0}function Vh(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;return ic(a,b,3834,3843,c)|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;return $g(a,b,c)|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;return Mc(a,b,Ad(b)|0,c)|0}function _h(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function $h(a){a=a|0;if(!(le(a)|0))Gh();else return}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return Sc(a,2147483647,b,c)|0}function bi(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function ci(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&1](b|0,c|0)}function di(a,b,c){a=a|0;b=b|0;c=c|0;yc(a,b,c)|0;return a|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;return Ye(a,b,c)|0}function fi(){if((ab(2528)|0)==0?(ab(2538)|0)==0:0)_a(-1);Za()}function gi(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function hi(a,b){a=a|0;b=b|0;De(a,b,Ad(b)|0);return}function ii(a,b){a=a|0;b=b|0;He(a,b,Ad(b)|0);return}function ji(a,b){a=a|0;b=b|0;return Gg(a,Ad(a)|0,b)|0}function ki(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,b,0,c)|0}function li(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function mi(a){a=a|0;var b=0;b=(Vi(a)|0)==0;return (b?a:a&95)|0}function ni(a){a=a|0;var b=0;b=(Ui(a)|0)==0;return (b?a:a|32)|0}function oi(a,b){a=a|0;b=b|0;return ig(a,b,(Ad(a)|0)+1|0)|0}function pi(a){a=a|0;if(!(c[a+68>>2]|0))kj(a);return}function qi(a){a=a|0;if(!(c[a+68>>2]|0))kj(a);return}function ri(a,b){a=a|0;b=b|0;return (ef(a,Ad(a)|0,1,b)|0)+-1|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,b,1,c)|0}function ti(a){a=a|0;return Yf(7370,a,Dh(c[91]|0)|0)|0}function ui(a){a=a|0;return ((a+-48|0)>>>0<10|(Mi(a)|0)!=0)&1|0}function vi(a,b,c){a=a|0;b=b|0;c=c|0;return Qf(a,b,c)|0}function wi(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function xi(a,b){a=a|0;b=b|0;return Qc(a,3871,b)|0}function yi(a){a=a|0;Li(c[a+4>>2]|0);Li(a);return}function zi(a,b){a=a|0;b=b|0;i=a;j=b}function Ai(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Bi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Ci(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Di(a,b){a=a|0;b=b|0;Pc(a,b)|0;return a|0}function Ei(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Fi(a){a=a|0;return jc(a,-2003829722,7144)|0}function Gi(a,b){a=a|0;b=b|0;return Rd(a,b)|0}function Hi(a){a=a|0;c[31]=th(a)|0;return}function Ii(a,b){a=a|0;b=b|0;return +(+Ld(a,b,1))}function Ji(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Ki(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Li(a){a=a|0;if(a|0)cj(a);return}function Mi(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Ni(a,b){a=+a;b=+b;return +(+nf(a,b))}function Oi(a,b){a=+a;b=b|0;return +(+wd(a,b))}function Pi(a,b){a=+a;b=b|0;return +(+Bd(a,b))}function Qi(a){a=a|0;return (vg(a)|0)!=0|0}function Ri(a){a=a|0;return pd(a,c[32]|0)|0}function Si(a){a=a|0;return Vh(a|0)|0}function Ti(a){a=a|0;return Ki(a|0)|0}function Ui(a){a=a|0;return (a+-65|0)>>>0<26|0}function Vi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Wi(a){a=a|0;return c[a+16>>2]|0}function Xi(a,b){a=+a;b=+b;return +(+dc(a,b))}function Yi(a){a=a|0;return Vh(a|0)|0}function Zi(a){a=a|0;return Vh(a|0)|0}function _i(a,b){a=a|0;b=b|0;ba(7);return 0}function $i(a){a=a|0;Hb[a&1]()}function aj(a){a=a|0;return Jb(a)|0}function bj(a){a=a|0;Pb(a);return}function cj(a){a=a|0;Pb(a);return}function dj(a){a=a|0;return 0}function ej(a,b){a=a|0;b=b|0;ba(3)}function fj(a){a=a|0;return 0}function gj(a){a=a|0;i=a}function hj(a){a=a|0;C=a}function ij(a){a=a|0;ba(5);return 0}function jj(){return c[31]|0}function kj(a){a=a|0;return}function lj(a){a=a|0;return 0}function mj(){return c[14]|0}function nj(){return C|0}function oj(){return i|0}function pj(a){a=a|0;ba(2)}function qj(){return 0}function rj(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[Ji,Qe,ze,oc,Dc,Mf,ei,Ji];var Cb=[li,Ee];var Db=[pj,qi,pi,pj];var Eb=[ej,kf];var Fb=[Nh,id,Hc,Wb,qg,Nh,Nh,Nh];var Gb=[ij,Bg,tc,ij];var Hb=[rj,fi];var Ib=[_i,ke,ie,mc,jd,gh,_i,_i];return{_llvm_bswap_i16:Ki,_i64Subtract:bh,_free:Pb,_main:cf,_htonl:Zi,_realloc:Rd,_i64Add:qh,_memmove:qf,_pthread_self:qj,_pthread_mutex_unlock:dj,_memset:pe,_malloc:Jb,_pthread_mutex_lock:fj,_memcpy:Td,_llvm_bswap_i32:Vh,_bitshift64Lshr:Xg,_htons:Ci,_bitshift64Shl:Sg,___errno_location:xh,_ntohs:Bi,runPostSets:ah,stackAlloc:Kh,stackSave:oj,stackRestore:gj,establishStackSpace:zi,setThrew:_h,setTempRet0:hj,getTempRet0:nj,dynCall_iiii:Bh,dynCall_viiiii:fh,dynCall_vi:Ei,dynCall_vii:ci,dynCall_iiiiiii:Eg,dynCall_ii:wi,dynCall_v:$i,dynCall_iii:Xh}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigWigInfo_static.js.mem b/bedTools/bigWigInfo_static.js.mem
new file mode 100644
index 0000000000000000000000000000000000000000..195c9b3cdbe28547ca656d2d1a6c47e1ff86bbbd
Binary files /dev/null and b/bedTools/bigWigInfo_static.js.mem differ
diff --git a/bedTools/bigWigSummary.c b/bedTools/bigWigSummary.c
new file mode 100644
index 0000000000000000000000000000000000000000..f29cf6032dcf735dcb7040f02aa3b9820c33bebb
--- /dev/null
+++ b/bedTools/bigWigSummary.c
@@ -0,0 +1,91 @@
+/* bigWigSummary - Extract summary information from a bigWig file.. */
+
+/* Copyright (C) 2011 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+#include "common.h"
+#include "linefile.h"
+#include "hash.h"
+#include "options.h"
+#include "sqlNum.h"
+#include "udc.h"
+#include "bigWig.h"
+#include "obscure.h"
+
+
+char *summaryType = "mean";
+
+
+void usage()
+/* Explain usage and exit. */
+{
+errAbort(
+  "bigWigSummary - Extract summary information from a bigWig file.\n"
+  "usage:\n"
+  "   bigWigSummary file.bigWig chrom start end dataPoints\n"
+  "Get summary data from bigWig for indicated region, broken into\n"
+  "dataPoints equal parts.  (Use dataPoints=1 for simple summary.)\n"
+  "\nNOTE:  start and end coordinates are in BED format (0-based)\n\n"
+  "options:\n"
+  "   -type=X where X is one of:\n"
+  "         mean - average value in region (default)\n"
+  "         min - minimum value in region\n"
+  "         max - maximum value in region\n"
+  "         std - standard deviation in region\n"
+  "         coverage - %% of region that is covered\n"
+  "   -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs\n"
+  );
+}
+
+static struct optionSpec options[] = {
+   {"type", OPTION_STRING},
+   {"udcDir", OPTION_STRING},
+   {NULL, 0},
+};
+
+void bigWigSummary(char *bigWigFile, char *chrom, int start, int end, int dataPoints)
+/* bigWigSummary - Extract summary information from a bigWig file.. */
+{
+struct bbiFile *bwf = bigWigFileOpen(bigWigFile);
+
+/* Make up values array initialized to not-a-number. */
+double nan0 = strtod("NaN", NULL);
+double summaryValues[dataPoints];
+int i;
+for (i=0; i<dataPoints; ++i)
+    summaryValues[i] = nan0;
+
+if (bigWigSummaryArray(bwf, chrom, start, end, bbiSummaryTypeFromString(summaryType), 
+      dataPoints, summaryValues))
+    {
+    for (i=0; i<dataPoints; ++i)
+	{
+	double val = summaryValues[i];
+	if (i != 0)
+	    printf("\t");
+	if (isnan(val))
+	    printf("n/a");
+	else
+	    printf("%g", val);
+	}
+    printf("\n");
+    }
+else
+    {
+    errAbort("no data in region %s:%d-%d in %s\n", chrom, start, end, bigWigFile);
+    }
+bigWigFileClose(&bwf);
+}
+
+int main(int argc, char *argv[])
+/* Process command line. */
+{
+optionInit(&argc, argv, options);
+if (argc != 6)
+    usage();
+summaryType = optionVal("type", summaryType);
+udcSetDefaultDir(optionVal("udcDir", udcDefaultDir()));
+bigWigSummary(argv[1], argv[2], sqlUnsigned(argv[3]), sqlUnsigned(argv[4]), sqlUnsigned(argv[5]));
+if (verboseLevel() > 1)
+    printVmPeak();
+return 0;
+}
diff --git a/bedTools/bigWigSummary_static.js b/bedTools/bigWigSummary_static.js
new file mode 100644
index 0000000000000000000000000000000000000000..706437150308b45826472ef2f95d3f574765ee19
--- /dev/null
+++ b/bedTools/bigWigSummary_static.js
@@ -0,0 +1,17 @@
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+27168;__ATINIT__.push();memoryInitializer="bigWigSummary_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_v;var ja=env.invoke_iii;var ka=env.invoke_iiiiii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=mc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=mc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=21160;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=21187;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=jc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=21137;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=21160;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=21207;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=mc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=vi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=21271;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=21300;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=jc(o,q,r)|0;else o=mc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=vi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=21474;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=jc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11184+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=21495;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=mc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}je(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11184+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=21336;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9008;c[H>>2]=9;c[I>>2]=11056;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=21252;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=21361;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=21361;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=21387;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=21424;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21452;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=mc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=mc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=21570;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;je(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=mc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=mc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=21548;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=mc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=21232;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=mc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=21518;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Jc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=jc(j,h,k)|0;else h=mc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6114]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=24496+(b<<1<<2)|0;e=d+8|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[6118]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6114]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6116]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=24496+(b<<1<<2)|0;e=d+8|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[6118]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6116]|0;break}else Za()}else{c[6114]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6119]|0;b=l>>>3;d=24496+(b<<1<<2)|0;a=c[6114]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{m=a;n=b}}else{c[6114]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6116]=h;c[6119]=e;N=j;i=O;return N|0}a=c[6115]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24760+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6118]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24760+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6115]=c[6115]&~(1<<a);break}}else{if(h>>>0<(c[6118]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6118]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6118]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6116]|0;if(a|0){f=c[6119]|0;b=a>>>3;e=24496+(b<<1<<2)|0;a=c[6114]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{r=a;s=b}}else{c[6114]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6116]=d;c[6119]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6115]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24760+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24760+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6116]|0)-q|0)>>>0:0){f=c[6118]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24760+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6115]=c[6115]&~(1<<a);break}}else{if(g>>>0<(c[6118]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6118]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6118]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=24496+(a<<1<<2)|0;b=c[6114]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{w=a;x=b}}else{c[6114]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24760+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6115]|0;b=1<<d;if(!(a&b)){c[6115]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6118]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6116]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6119]|0;if(a>>>0>15){N=b+q|0;c[6119]=N;c[6116]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6116]=0;c[6119]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6117]|0;if(a>>>0>q>>>0){L=a-q|0;c[6117]=L;N=c[6120]|0;M=N+q|0;c[6120]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6232]|0)){c[6234]=4096;c[6233]=4096;c[6235]=-1;c[6236]=-1;c[6237]=0;c[6225]=0;x=p&-16^1431655768;c[p>>2]=x;c[6232]=x}h=q+48|0;g=c[6234]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6224]|0;if(a|0?(w=c[6222]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6225]&4)){a=c[6120]|0;c:do if(a){d=24904;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6117]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6233]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6222]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6224]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6234]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6225]=c[6225]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6222]|0)+f|0;c[6222]=a;if(a>>>0>(c[6223]|0)>>>0)c[6223]=a;j=c[6120]|0;do if(j){e=24904;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6117]|0)|0;c[6120]=M;c[6117]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6121]=c[6236];break}a=c[6118]|0;if(h>>>0<a>>>0){c[6118]=h;k=h}else k=a;d=h+f|0;a=24904;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24904;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6119]|0)){N=(c[6116]|0)+g|0;c[6116]=N;c[6119]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24760+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6118]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6115]=c[6115]&~(1<<b);break e}while(0);e=c[6118]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6118]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=24496+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6114]=c[6114]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=24496+(a<<1<<2)|0;b=c[6114]|0;a=1<<a;do if(!(b&a)){c[6114]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6118]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24760+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6115]|0;b=1<<d;if(!(a&b)){c[6115]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6118]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6117]|0)+g|0;c[6117]=N;c[6120]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24904;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6120]=N;c[6117]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6121]=c[6236];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6226];c[a+4>>2]=c[6227];c[a+8>>2]=c[6228];c[a+12>>2]=c[6229];c[6226]=h;c[6227]=f;c[6229]=0;c[6228]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=24496+(a<<1<<2)|0;b=c[6114]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{J=a;K=b}}else{c[6114]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24760+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6115]|0;b=1<<d;if(!(a&b)){c[6115]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6118]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6118]|0;if((N|0)==0|h>>>0<N>>>0)c[6118]=h;c[6226]=h;c[6227]=f;c[6229]=0;c[6123]=c[6232];c[6122]=-1;a=0;do{N=24496+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6120]=M;c[6117]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6121]=c[6236]}while(0);a=c[6117]|0;if(a>>>0>q>>>0){L=a-q|0;c[6117]=L;N=c[6120]|0;M=N+q|0;c[6120]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(Xh()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0}while((aj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=cd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[24290+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=cd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[24299+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=cd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=cd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Xh()|0)>>2]=22;Zf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=cd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=cd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;k=Nh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Nh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=cd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Zf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Nh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=sc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Zf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=nh(o|0,n|0,2)|0;H=Nh(H|0,C|0,-32,-1)|0;e=Nh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Xh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(Xh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Nh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=yh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Nh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+nj(+Md(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Xh()|0)>>2]=34;g=+oj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=cd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Nh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Nh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=sc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Zf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Nh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Xh()|0)>>2]=22;Zf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Xh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(Xh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8976+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8976+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8976+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=nh(c[p>>2]|0,0,29)|0;o=Nh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=qi(o|0,n|0,1e9,0)|0;o=yg(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+nj(+Md(1.0,105-o|0),j);m=+xj(j,+Md(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+xj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Xh()|0)>>2]=34}while(0);g=+oj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Xh()|0)>>2]=22;Zf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Xh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Vc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[21598+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}rc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=sh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=22078;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=22078;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=yh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=22078;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?22078:22080;L=76}else{p=1;r=22079;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=22078;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=22078;o=N;break}case 109:{o=ke(c[(Xh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23980;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){zd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23988:23993}else{G=1;H=23990}else{q=-q;G=1;H=23987}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+qj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ce(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[22062+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;zd(e,32,K,r,I);if(!(c[e>>2]&32))Vc(y,w,e)|0;zd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Vc(ea,o,e)|0;f=ba-p|0;zd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Vc(t,f,e)|0;zd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=nh(c[r>>2]|0,0,t|0)|0;B=Nh(B|0,C|0,o|0,0)|0;o=C;A=yg(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=qi(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ce(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;zd(e,32,K,w,I);if(!(c[e>>2]&32))Vc(H,G,e)|0;zd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ce(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Pe(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Vc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Vc(24018,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ce(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Pe(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Vc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}zd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ce(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Vc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Vc(24018,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Pe(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Vc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}zd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Vc(u,ba-u|0,e)|0}while(0);zd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;zd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Vc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Vc(s?(t?24299:24014):t?24006:24010,3,e)|0;zd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=22078;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[22062+(o&15)>>0]|r;o=sh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=22078;L=77}else{o=t;t=2;r=22078+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=22078;L=77}}else if((L|0)==76){f=ce(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Lc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=22078;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=ki(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}zd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=ki(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Vc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;zd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;zd(e,32,o,s,p);if(!(c[e>>2]&32))Vc(v,w,e)|0;zd(e,48,o,s,p^65536);zd(e,48,r,t,0);if(!(c[e>>2]&32))Vc(f,t,e)|0;zd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;rc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Pj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(aj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Zf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=cd(e)|0}while((aj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Zf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((cd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Pe(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Pe(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=cd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(yc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=ie(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(ri(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=cd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=ie(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=cd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=cd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Zf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=cd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(aj(d[m>>0]|0)|0))break;else n=m}Zf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=cd(e)|0}while((aj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)Oj(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Nh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[28]|0)==0?(lf(c[a+8>>2]|0,19634)|0)!=0:0){ba=a+32|0;T=ba;T=Eb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Nh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Nh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Nh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Nh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=yh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Nh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=yh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=yh(k|0,j|0,f|0,d|0)|0;je(b|0,B+f|0,o|0)|0;e=Nh(o|0,E|0,e|0,n|0)|0;f=C;d=yh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Nh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Ig(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=de(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Nh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=yh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[28]|0){y=Nh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Nh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=qi(k|0,j|0,w|0,0)|0;t=Nh(A|0,B|0,-1,-1)|0;t=Nh(t|0,C|0,w|0,0)|0;w=qi(t|0,C|0,w|0,0)|0;t=m+52|0;Jf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((Ni(u,d,s)|0)<(s|0))f=0;else{lj(u);j=B;k=A;continue}while(1){o=Ni(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Vi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Jg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Jg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Nh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=yh(f|0,j|0,p|0,q|0)|0;k=C;f=he(j)|0;c[W>>2]=f;m=Eb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Ig(Z,c[K>>2]|0,p,0)|0;jf(Z,c[K>>2]|0,f,j);mi(W)}Xd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Ig(P,c[t>>2]|0,da+64|0,0)|0;jf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}lj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Ig(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}mf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;_h(19646,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;uh(4,19702,$);uh(4,19748,aa);S=0;T=0;break}else if((n|0)==36){mf(Z,j,f,h);S=ba;S=Nh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Nh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[28]|0:d;c[I>>2]=b;c[I+4>>2]=m;uh(4,19864,I);if(0){c[e>>2]=b;gh(0,19885,e)|0}c[h>>2]=0;c[n>>2]=0;nd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){lj(d);u=Sh(19634)|0;c[h>>2]=u;lj(c[n>>2]|0);c[n>>2]=Sh(b)|0;j=1}else{u=d;j=0}h=u;g=de(16)|0;do if(!(lf(u,19894)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=19894}else{if(!(lf(u,20129)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=20129;break}if(lf(u,19023)|0?lf(u,20290)|0:0){if(!(lf(u,20296)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=20296;break}if(!(lf(u,19634)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=19634;break}else{c[k>>2]=u;_h(20311,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=19023}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[28]|0?(l=(ze(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Hb[c[g+8>>2]&7](b,p)|0)){mi(o);lj(u);lj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=de(312)|0;c[d+4>>2]=Sh(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;$c(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[28]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(Lh(c[g>>2]|0)|0))t=29;else{ee(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[28]|0;if(g){Cd(c[d+40>>2]|0);p=d+44|0;n=Ac(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(Lh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;uh(4,20400,s);gi(G);yf(c[p>>2]|0)|0;yf(c[K>>2]|0)|0;g=d+52|0;if(Lh(c[g>>2]|0)|0)yf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];uh(4,20491,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Gd(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=Nh(h|0,k|0,8191,0)|0;k=sh(k|0,C|0,13)|0;af(j,A,4);af(j,x,4);af(j,I,8);af(j,v,8);af(j,w,4);af(j,y,4);af(j,z,8);af(j,z,8);af(j,z,8);af(j,z,8);g=d+136|0;h=Ig(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;_h(20541,D)}a[E>>0]=0;Ig(g,j,((k+7|0)/8|0)+-1|0,1)|0;jf(g,j,E,1);_f(B);c[B>>2]=Gd(c[d+48>>2]|0,577)|0;_f(B);g=Ac(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];_h(20608,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=Bf(c[f+52>>2]|0,0,1)|0;Hd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=Nh(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=sh(H|0,C|0,13)|0;H=(Ni(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Ig(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Gd(c[d+48>>2]|0,2)|0;if(qg(19023,u)|0){c[I>>2]=0;j=d+52|0;if(Lh(c[j>>2]|0)|0)ig(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;yf(c[j>>2]|0)|0;break}else{if(!(Kg(g,h)|0))break;K=ag(c[j>>2]|0,20638)|0;H=c[f>>2]|0;Mg(K,H,Qd(H)|0);Qg(K,c[j>>2]|0)|0;lj(K);break}}else c[d+132>>2]=Sh(c[I>>2]|0)|0;while(0);lj(c[I>>2]|0)}}}else{if(!(Lh(b)|0)){d=0;break}K=Gd(b,0)|0;c[d+56>>2]=K;xe(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}lj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6118]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6119]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6116]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=24496+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6114]=c[6114]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=24760+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6115]=c[6115]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6118]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6118]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6118]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6120]|0)){p=(c[6117]|0)+g|0;c[6117]=p;c[6120]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6119]|0))return;c[6119]=0;c[6116]=0;return}if((m|0)==(c[6119]|0)){p=(c[6116]|0)+g|0;c[6116]=p;c[6119]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=24760+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6115]=c[6115]&~(1<<a);break}}else{if(f>>>0<(c[6118]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6118]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6118]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=24496+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6118]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6114]=c[6114]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6118]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6119]|0)){c[6116]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=24496+(a<<1<<2)|0;b=c[6114]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{o=a;p=b}}else{c[6114]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24760+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6115]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6118]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6115]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6122]|0)+-1|0;c[6122]=q;if(!q)a=24912;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6122]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10772;C=256;D=10898}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11222;C=-1;D=11348}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6118]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6119]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6116]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=24496+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6114]=c[6114]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=24760+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6115]=c[6115]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6118]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6118]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6118]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6118]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6120]|0)){q=(c[6117]|0)+g|0;c[6117]=q;c[6120]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6119]|0))return;c[6119]=0;c[6116]=0;return}if((o|0)==(c[6119]|0)){q=(c[6116]|0)+g|0;c[6116]=q;c[6119]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=24760+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6115]=c[6115]&~(1<<d);break}}else{if(f>>>0<(c[6118]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6118]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6118]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=24496+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6114]=c[6114]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6119]|0)){c[6116]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=24496+(d<<1<<2)|0;a=c[6114]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6118]|0)>>>0)Za();else{p=d;q=a}}else{c[6114]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24760+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6115]|0;a=1<<b;if(!(d&a)){c[6115]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6118]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6118]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=di(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Se(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Lc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Xh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0}while((aj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=cd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=cd(b)|0;if((d[24025+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Zf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[24025+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Zf(b,0);c[(Xh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=cd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Jg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Nh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[24281+((e*23|0)>>>5&7)>>0]|0;j=a[24025+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;j=a[24025+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=sh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=nh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;j=a[24025+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[24025+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;j=a[24025+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=qi(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Jg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Nh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;j=a[24025+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[24025+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0}while((d[24025+i>>0]|0)>>>0<e>>>0);c[(Xh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Xh()|0)>>2]=34;g=Nh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Xh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=yh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=21518;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=21548;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=21570;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=pe(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(lf(r,17244)|0)){j=g;h=k;N=4;break}s=di(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(aj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Qd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Wi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)zi(Q,o,(m|0)==0?17666:m)|0;else{l=Xg(o,f)|0;if(!l){l=Xg(o,48)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}ti(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}si(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+ij(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+ij(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17666:m;l=Xg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=Ph(Q,o)|0;l=zh(m)|0;if(!n){zi(Q,o,l)|0;break}else{oh(n,l);break}}zi(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;_h(17255,z);break}case 34:{c[A>>2]=o;_h(17281,A);break}case 36:{c[K>>2]=o;_h(17320,K);break}case 38:{c[L>>2]=o;_h(17356,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;_h(17389,B);break}case 43:{c[C>>2]=o;_h(17356,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;_h(17431,D);break}case 48:{c[E>>2]=o;_h(17475,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;_h(17510,F);break}case 53:{c[G>>2]=o;_h(17550,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;_h(17586,H);break}case 57:{c[I>>2]=c[l>>2];_h(17627,I);break}case 65:{_h(17669,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,13870)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Re(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(sg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(Xh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(qg(14682,f)|0))m=c[F>>2]|0;else{Lf(F)|0;f=Lf(F)|0;if(!f){O=20;break a}if((((qg(15322,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(lf(f,15325)|0)if(lf(f,15329)|0){if(I?(g=lf(f,15333)|0,!((H|g|0)==0&G)):0)if(!(lf(f,15337)|0)){f=o;break}else{O=30;break a}if(!(lf(f,15424)|0)){O=34;break a}if(!(lf(f,15333)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=di(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=th(f+1|0)|0}if(!(qf(m,15476)|0)){if(o|0)c[e>>2]=Sh(f)|0;if(k)h=Sh(f)|0}}while(!(I&(qf(m,15485)|0)==0));if((qg(15499,f)|0)!=0?(q=(di(f,32)|0)+1|0,r=di(q,45)|0,(r|0)!=0):0){l=r+1|0;m=ld(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=ld(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=ke(f)|0;c[z+4>>2]=d;Ih(15133,z);f=0;break}case 10:{c[v>>2]=d;Ih(15170,v);f=0;break}case 11:{c[x>>2]=d;Ih(15226,x);f=0;break}case 15:{c[y>>2]=2e3;Ih(15258,y);f=0;break}case 20:{c[u>>2]=d;Ih(15296,u);f=0;break}case 30:{if(!g)Ih(15341,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Ih(15384,E);f=0;break}case 34:{c[w>>2]=d;Ih(15428,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Ih(15453,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Vg(N,256,13972,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Ih(15506,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?25080:15600;c[K+8>>2]=f?15325:15329;c[K+12>>2]=h|0?h:15616;Ih(15626,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Vg(N,256,13972,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Ih(15667,M);f=0}break}}i=P;return f|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Di(h)|0;c[b+16>>2]=e;f=vd(c[f>>2]|0)|0;if(!f){s=0;break}s=Qd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;lj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}ne(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Pf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=ng(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;ne(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;bg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Sd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;_h(18575,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Sd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Sd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Zb(a,b,d,e,f,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0.0,E=0.0,F=0.0;B=i;i=i+16|0;A=B;do if(e>>>0>d>>>0){Pe(k|0,0,j*40|0)|0;y=e-d|0;l=((y>>>0)/(j>>>0)|0|0)/2|0;l=we(c[a+100>>2]|0,(l|0)<0?0:l)|0;if(!l){x=Yg(0)|0;c[A>>2]=x;b=Ib[f&1](a,b,d,e,x)|0;a:do if(!b)b=0;else{w=((j|0)<0)<<31>>31;t=d;x=0;f=b;b=0;while(1){if((x|0)>=(j|0))break a;u=x+1|0;v=Jg(u|0,((u|0)<0)<<31>>31|0,y|0,0)|0;v=qi(v|0,C|0,j|0,w|0)|0;v=Nh(v|0,C|0,d|0,0)|0;s=(v|0)==(t|0)?t+1|0:v;while(1){if(!f){f=0;l=0;break}if((c[f+8>>2]|0)>>>0>t>>>0){z=31;break}f=c[f>>2]|0}if((z|0)==31){z=0;o=+h[f+16>>3];q=0.0;r=f;p=o;n=0.0;m=0.0;while(1){if(!r)break;a=r+4|0;l=c[a>>2]|0;if(l>>>0>=s>>>0)break;e=r+8|0;l=Qh(t,s,l,c[e>>2]|0)|0;if((l|0)>0){D=+((c[e>>2]|0)-(c[a>>2]|0)|0);D=D*(+(l|0)/D);E=+h[r+16>>3];q=q+D;p=p<E?E:p;o=o>E?E:o;n=n+E*D;m=m+E*E*D}r=c[r>>2]|0}l=~~+Z(+q)>>>0;E=+(l>>>0)/q;t=k+(x*40|0)|0;c[t>>2]=l;c[t+4>>2]=0;h[k+(x*40|0)+8>>3]=o;h[k+(x*40|0)+16>>3]=p;h[k+(x*40|0)+24>>3]=n*E;h[k+(x*40|0)+32>>3]=m*E}t=v;x=u;b=(l|0)==0?b:1}}while(0);Zh(A);break}x=c[a+20>>2]|0;if(!(Uh(x,b,Qd(b)|0,A,8)|0)){b=0;break}mh(c[a+16>>2]|0,A);b=c[A>>2]|0;if((b|0)>=0){f=gc(l,a,b,d,e)|0;c[A>>2]=f;if(!f)b=0;else{v=((j|0)<0)<<31>>31;s=d;w=0;b=0;while(1){if((w|0)>=(j|0))break;t=w+1|0;u=Jg(t|0,((t|0)<0)<<31>>31|0,y|0,0)|0;u=qi(u|0,C|0,j|0,v|0)|0;u=Nh(u|0,C|0,d|0,0)|0;while(1){if(!f){f=0;l=0;break}if((c[f+12>>2]|0)>>>0>s>>>0){z=13;break}f=c[f>>2]|0}if((z|0)==13){z=0;q=0.0;p=+g[f+24>>2];o=+g[f+20>>2];r=f;n=0.0;m=0.0;while(1){if(!r)break;a=r+8|0;l=c[a>>2]|0;if(l>>>0>=u>>>0)break;e=r+12|0;l=Qh(s,u,l,c[e>>2]|0)|0;if((l|0)>0){E=+(l|0)/+(((c[e>>2]|0)-(c[a>>2]|0)|0)>>>0);F=+g[r+24>>2];D=+g[r+20>>2];q=q+ +((c[r+16>>2]|0)>>>0)*E;p=p<F?F:p;o=o>D?D:o;n=n+ +g[r+28>>2]*E;m=m+E*+g[r+32>>2]}r=c[r>>2]|0}if(q>0.0){l=~~+Z(+q)>>>0;F=+(l>>>0)/q;x=k+(w*40|0)|0;c[x>>2]=l;c[x+4>>2]=0;h[k+(w*40|0)+8>>3]=o;h[k+(w*40|0)+16>>3]=p;h[k+(w*40|0)+24>>3]=n*F;h[k+(w*40|0)+32>>3]=m*F}else l=0}s=u;w=t;b=(l|0)==0?b:1}ph(A)}}else b=0}else b=0;while(0);i=B;return b|0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((qg(18638,b)|0)==0?(qg(18646,b)|0)==0:0)?(qg(18655,b)|0)==0:0){c[j>>2]=b;_h(18718,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;uh(4,18662,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=yh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;uh(4,18953,m);_f(x);j=h+128|0;if((c[j>>2]|0)>0)_f(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;uh(4,18800,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6100]|0)){c[6100]=de(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=gf(j,k,c[6100]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=yh(l|0,m|0,n|0,I|0)|0;J=C;I=Nh(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;Yf(18849,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=Nh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;_h(18902,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=Nh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=le(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;Vg(y,2048,19004,z)|0;j=hc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(qg(19023,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Ic(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){lj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;_h(19028,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=gf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)Yf(19057,G);else F=j;K=h+120|0;J=K;J=Nh(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6118]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6234]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6120]|0)){d=(c[6117]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6120]=l;c[6117]=m;return a|0}if((k|0)==(c[6119]|0)){e=(c[6116]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6116]=d;c[6119]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=24760+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6115]=c[6115]&~(1<<d);break}}else{if(h>>>0<(c[6118]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6118]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6118]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=24496+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6114]=c[6114]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;gh(0,20661,b)|0}b=d+112|0;if(c[b>>2]|0)_f(b);b=d+128|0;if(c[b>>2]|0)_f(b);lj(c[d+4>>2]|0);lj(c[d+8>>2]|0);mi(d+12|0);lj(c[d+40>>2]|0);lj(c[d+44>>2]|0);lj(c[d+48>>2]|0);lj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)_f(b);gi(d+80|0)}mi(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(12371,12391,448,12407);h=ya()|0;c[s>>2]=h;if((h|0)<0)Yf(12420,l);if(h|0)if(!(Og(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Yf(12958,k)}r=fi()|0;c[s>>2]=r;if(Og(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Yf(12431,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Cg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Sf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Wf(t);if(c[k>>2]|0)Wf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Yf(12420,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){kd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Yf(12665,o)}kd(k,0,h,e);h=rg(1,f,g)|0;if((h|0)<0)Yf(12576,p);if((h|0)==(g|0)){Wg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;_h(12611,q)}}else if((b|0)==28){Wg(0)|0;Wg(1)|0;qh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Sf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Yf(12738,u);else if((b|0)==35){c[v>>2]=h;_h(12753,v)}else if((b|0)==39){v=Ue(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;_h(12783,w)}else if((b|0)==41)Da(12838,12391,242,12862);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2107]|0;v=Ue(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;gh(h,12881,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12928,12391,396,12948);else if((b|0)==49)_a(0)}}function cc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+64|0;J=K+8|0;I=K+56|0;H=K+52|0;E=K+48|0;D=K+44|0;F=K+40|0;G=K+16|0;if((c[a+12>>2]|0)!=-2003829722)_h(18255,K);$f(a);c[I>>2]=0;g=Ge(a,c[a+96>>2]|0,b,d,e,0)|0;c[H>>2]=g;A=c[a+8>>2]|0;B=c[a+16>>2]|0;y=a+80|0;b=c[y>>2]|0;if(!b)z=0;else z=he(b)|0;t=(z|0)==0;u=G+20|0;v=G+4|0;w=G+16|0;x=G+12|0;b=g;a:while(1){if(!b){b=32;break}ve(b,E,D);s=b+8|0;p=c[s>>2]|0;s=c[s+4>>2]|0;q=c[E>>2]|0;o=q+8|0;q=q+16|0;r=c[q>>2]|0;q=c[q+4>>2]|0;o=yh(c[o>>2]|0,c[o+4>>2]|0,p|0,s|0)|0;q=Nh(o|0,C|0,r|0,q|0)|0;r=C;Ef(A,p,s);s=he(q)|0;He(A,s,q,r);r=s;while(1){if((b|0)==(c[D>>2]|0))break;q=b+16|0;a=c[q>>2]|0;if(t){c[F>>2]=r;p=r+a|0}else{c[F>>2]=z;p=_e(r,a,z,c[y>>2]|0)|0;p=(c[F>>2]|0)+p|0}Jd(F,G,B);n=c[u>>2]|0;o=n>>>16;b:do switch(n&255|0){case 1:{g=0;while(1){if((g|0)==(o|0))break b;k=kg(F,B)|0;a=kg(F,B)|0;j=+Be(F,B);k=k>>>0<d>>>0?d:k;a=a>>>0>e>>>0?e:a;if(k>>>0<a>>>0){n=uf(f,24)|0;c[n+4>>2]=k;c[n+8>>2]=a;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}g=g+1|0}}case 2:{a=c[w>>2]|0;k=0;while(1){if((k|0)==(o|0))break b;l=kg(F,B)|0;g=a+l|0;j=+Be(F,B);l=l>>>0<d>>>0?d:l;g=g>>>0>e>>>0?e:g;if(l>>>0<g>>>0){n=uf(f,24)|0;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}k=k+1|0}}case 3:{m=c[v>>2]|0;a=c[x>>2]|0;k=(c[w>>2]|0)+m|0;l=0;while(1){if((l|0)==(o|0))break b;j=+Be(F,B);n=m>>>0<d>>>0?d:m;g=k>>>0>e>>>0?e:k;if(n>>>0<g>>>0){L=uf(f,24)|0;c[L+4>>2]=n;c[L+8>>2]=g;h[L+16>>3]=j;c[L>>2]=c[I>>2];c[I>>2]=L}k=a+k|0;l=l+1|0;m=a+m|0}}default:{b=27;break a}}while(0);if((c[F>>2]|0)!=(p|0)){b=29;break a}b=c[b>>2]|0;r=r+(c[q>>2]|0)|0}lj(s)}if((b|0)==27){c[J>>2]=18311;c[J+4>>2]=269;_h(21110,J)}else if((b|0)==29)Da(21090,18311,272,18327);else if((b|0)==32){lj(z);ph(H);Hg(I);i=K;return c[I>>2]|0}return 0}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Tf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Tf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Nh(m|0,l|0,-1,-1)|0;d=C;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;yh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=yh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Qe(a,b,d)|0){b=Gh()|0;if((b|0)>=0){if((Vd(b,1)|0)<0){Wg(b)|0;b=-1;break}b:do if((ff(b,d,16)|0)<0){n=Xh()|0;d=c[n>>2]|0;if((d|0)!=115){w=ke(d)|0;c[e>>2]=d;c[e+4>>2]=w;Ih(13806,e);Wg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Hf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=ke(d)|0;c[t>>2]=d;c[t+4>>2]=C;Ih(13582,t);Wg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Ih(13714,u);Wg(b)|0;e=23;break}c[r>>2]=4;do if((Ve(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=ke(d)|0;c[w>>2]=d;c[w+4>>2]=C;Ih(13670,w);Wg(b)|0;break}}else{B=c[n>>2]|0;C=ke(B)|0;c[v>>2]=B;c[v+4>>2]=C;Ih(13640,v);Wg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Vd(b,0)|0)<0){Wg(b)|0;b=-1;break}if((of(b,120)|0)<0){Wg(b)|0;b=-1}}}else b=-1;else{Ih(13462,x+24|0);b=-1}while(0);i=x;return b|0}function fc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Pf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Pe(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(fc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(Xh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function gc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;B=i;i=i+32|0;A=B+16|0;z=B+12|0;y=B+8|0;x=B+4|0;w=B;c[A>>2]=0;h=b+8|0;t=c[h>>2]|0;r=a+24|0;Ef(t,c[r>>2]|0,c[r+4>>2]|0);h=Rc(c[b+4>>2]|0,c[h>>2]|0)|0;c[z>>2]=h;h=Kf(h,d,e,f)|0;c[y>>2]=h;r=b+80|0;a=c[r>>2]|0;if(!a)s=0;else s=he(a)|0;q=(s|0)==0;p=b+16|0;a=h;a:while(1){if(!a){a=24;break}ve(a,x,w);o=a+8|0;l=c[o>>2]|0;o=c[o+4>>2]|0;m=c[x>>2]|0;k=m+8|0;m=m+16|0;n=c[m>>2]|0;m=c[m+4>>2]|0;k=yh(c[k>>2]|0,c[k+4>>2]|0,l|0,o|0)|0;m=Nh(k|0,C|0,n|0,m|0)|0;n=C;Ef(t,l,o);o=he(m)|0;He(t,o,m,n);n=o;while(1){if((a|0)==(c[w>>2]|0))break;m=a+16|0;h=c[m>>2]|0;if(q){l=n+h|0;h=n}else{l=s+(_e(n,h,s,c[r>>2]|0)|0)|0;h=s}b=l-h|0;if(b&31|0){a=11;break a}k=(b|0)/32|0;j=0;while(1){if((j|0)>=(k|0))break;b=h+32|0;if(c[p>>2]|0){c[h>>2]=rj(c[h>>2]|0)|0;D=h+4|0;c[D>>2]=rj(c[D>>2]|0)|0;D=h+8|0;c[D>>2]=rj(c[D>>2]|0)|0;D=h+12|0;c[D>>2]=rj(c[D>>2]|0)|0;D=h+16|0;g[D>>2]=+rh(+g[D>>2]);D=h+20|0;g[D>>2]=+rh(+g[D>>2]);D=h+24|0;g[D>>2]=+rh(+g[D>>2]);D=h+28|0;g[D>>2]=+rh(+g[D>>2])}if((c[h>>2]|0)==(d|0)?(u=h+4|0,E=c[u>>2]|0,v=h+8|0,D=c[v>>2]|0,((E>>>0>e>>>0?E:e)|0)<((D>>>0<f>>>0?D:f)|0)):0){E=de(48)|0;c[E+4>>2]=c[h>>2];c[E+8>>2]=c[u>>2];c[E+12>>2]=c[v>>2];c[E+16>>2]=c[h+12>>2];c[E+20>>2]=c[h+16>>2];c[E+24>>2]=c[h+20>>2];c[E+28>>2]=c[h+24>>2];c[E+32>>2]=c[h+28>>2];c[E>>2]=c[A>>2];c[A>>2]=E}h=b;j=j+1|0}if((h|0)!=(l|0)){a=21;break a}a=c[a>>2]|0;n=n+(c[m>>2]|0)|0}lj(o)}if((a|0)==11)Da(21043,20939,412,21069);else if((a|0)==21)Da(21090,20939,433,21069);else if((a|0)==24){lj(s);ph(y);Bj(z);Hg(A);i=B;return c[A>>2]|0}return 0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,13866)|0))e=cf(b,0,r)|0;else{if((qg(18638,b)|0)==0?(qg(18646,b)|0)==0:0){if(!(qg(18655,b)|0)){c[g>>2]=b;_h(15066,g)}lc(b,o);if(lf(o,20296)|0){c[f>>2]=b;_h(14729,f)}b=o+4112|0;g=md(b,Nd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(Vh(g,14776,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,Vg(m,256,14783,j)|0,(Vh(g,m,0,0)|0)==0):0){Wg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Qd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14795:14800;c[k+4>>2]=j;Vg(m,256,14805,k)|0;Ki(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=di(j,40)|0;a[(di(j,41)|0)>>0]=0;if((Fe(s+1|0,14813,k,7)|0)!=6)_h(14815,h);f=(Nd(c[k+16>>2]|0)|0)<<8;f=ec(b,(Nd(c[k+20>>2]|0)|0)+f|0)|0;ai(l);if((f|0)<0){Wg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((od(f,1e6)|0)>0){b=26;break}if((od(g,0)|0)>0?(xc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Ih(14851,n);Wg(g)|0;Wg(f)|0;e=-1;break}else if((b|0)==24){Wg(g)|0;Wg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}rd(c[2136]|0)|0;rd(c[2077]|0)|0;rd(c[2107]|0)|0;b=de(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;je(b+20|0,o|0,10280)|0;f=b+4|0;if(vh(f)|0){c[p>>2]=ke(c[(Xh()|0)>>2]|0)|0;_h(14916,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=ke(b)|0;c[q>>2]=b;c[q+4>>2]=s;_h(15020,q)}}}else{Wg(g)|0;e=-1}while(0)}break}e=ui(b,14710,0)|0}while(0);i=r;return e|0}function ic(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=sh(d|0,m|0,52)|0;e=e&2047;j=sh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=nh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=nh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=nh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=nh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=nh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=nh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=nh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=nh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=yh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=nh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=yh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=nh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Nh(d|0,f|0,0,-1048576)|0;d=C;e=nh(e|0,0,52)|0;d=d|C;e=o|e}else{e=sh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;lc(b,h);if(lf(h,20296)|0){c[g>>2]=b;_h(13995,g)}b=h+6176|0;if(lf(b,19829)|0){p=md(h+4112|0,Nd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;Vg(k,256,14153,q)|0;c[t>>2]=0;do if(Vh(p,k,t,0)|0){if((Fe(c[(c[t>>2]|0)+4>>2]|0,13882,l,3)|0)!=2)_h(14163,j);n=l+4|0;j=ld(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;ai(t);c[s>>2]=b;Vg(k,256,14199,s)|0;if(!(Vh(p,k,t,0)|0)){Wg(p)|0;f=0;break}b=Fe(c[(c[t>>2]|0)+4>>2]|0,13882,l,3)|0;if((b|0)!=2){c[m>>2]=b;_h(14209,m)}j=c[n>>2]|0;if((Qd(j)|0)>>>0<14){c[o>>2]=j;_h(14251,o)}b=s;g=14300;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14320,q|0)|0)){c[r>>2]=s;_h(14338,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];_h(14371,u)}else{c[e>>2]=b;ai(t);Wg(p)|0;f=1;break}}else{Wg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Qd(b)|0)>>>0>4095){c[e>>2]=b;_h(13847,e)}dj(f,b)|0;Yh(f)|0;b=Tb(f,13866)|0;if(!b){a[d>>0]=a[19023]|0;a[d+1>>0]=a[19024]|0;a[d+2>>0]=a[19025]|0;a[d+3>>0]=a[19026]|0;a[d+4>>0]=a[19027]|0}else{a[b>>0]=0;eh(f)|0;zf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=di(f,47)|0;if(g){Re(g,b,e,1);if(!((qf(d,19023)|0)!=0?(qf(d,20290)|0)!=0:0)){e=Kd(g,13882,13884)|0;zf(d+6176|0,4096,e);lj(e)}a[g>>0]=0;if(!(qf(d,20296)|0)){g=g+1|0;Pd(g,d+6176|0,Qd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=di(f,64)|0;if(!g){if(!((qf(d,19023)|0)!=0?(qf(d,20290)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(qf(d,20296)|0)){b=d+16|0;e=13888;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13898;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=di(f,58)|0;if(!b){e=d+16|0;zf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;zf(e,2048,f);f=d+2064|0;zf(f,2048,b+1|0);b=f}yd(e,e,Qd(e)|0);yd(b,b,Qd(b)|0);f=g+1|0}b=di(f,58)|0;do if(!b){if(!(qf(d,19023)|0)){h=d+6160|0;a[h>>0]=a[13916]|0;a[h+1>>0]=a[13917]|0;a[h+2>>0]=a[13918]|0}if(!(qf(d,20290)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(qf(d,20296)|0)){h=d+6160|0;a[h>>0]=a[13919]|0;a[h+1>>0]=a[13920]|0;a[h+2>>0]=a[13921]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){zf(d+6160|0,16,e);break}else{c[h>>2]=e;_h(13922,h)}}while(0);zf(d+4112|0,2048,f);i=j;return}function mc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[116+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[116+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function nc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Ef(t,f,g);He(t,s,1,0);He(t,w+32|0,1,0);u=c[b+12>>2]|0;v=xg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;uh(3,16693,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=wg(t,u)|0;c[p+(f<<2)>>2]=wg(t,u)|0;c[q+(f<<2)>>2]=wg(t,u)|0;c[r+(f<<2)>>2]=wg(t,u)|0;g=Ff(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(df(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;nc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=wg(t,u)|0;s=wg(t,u)|0;e=wg(t,u)|0;b=wg(t,u)|0;f=Ff(t,u)|0;g=C;m=Ff(t,u)|0;n=C;if(df(h,j,k,r,s,e,b)|0){b=de(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function oc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=hi(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=hi(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=hi(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=hi(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=hi(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=hi(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=hi(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function pc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Fh(512)|0;lc(b,s);h=ab(14490)|0;p=(h|0)!=0;if(p){lc(h,q);je(r|0,q|0,10280)|0;h=We(r,b)|0}else{je(r|0,s|0,10280)|0;h=We(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=Sh(b)|0;j=Qi(b,59)|0;if((j|0)!=0?(qg(13870,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;hh(k,14501,l);lj(b);c[m>>2]=f;hh(k,14512,m);if((lf(s,19023)|0)==0?(lf(13916,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((lf(s,20290)|0)==0?(lf(13951,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;hh(k,14540,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;hh(k,14529,n)}b=c[t>>2]|0;je(r|0,s|0,10280)|0;re(r,14554,b);if(p){je(r|0,q|0,10280)|0;re(r,14568,b);k=c[t>>2]|0}else k=b;Li(k,14588);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;hh(k,14627,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;hh(k,14602,u);break}}while(0);if(g|0)Li(c[t>>2]|0,g);v=c[t>>2]|0;Li(v,14648);af(h,c[v+4>>2]|0,c[v+12>>2]|0);ai(t)}i=w;return h|0}function qc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=de(120)|0;c[l+4>>2]=Sh(a)|0;m=Ag(a,Nj()|0)|0;c[l+8>>2]=m;He(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=rj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;_h(20919,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=xg(m,n)|0;g=l+26|0;b[g>>1]=xg(m,n)|0;h=Ff(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Ff(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Ff(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=xg(m,n)|0;b[l+58>>1]=xg(m,n)|0;j=Ff(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Ff(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=wg(m,n)|0;j=Ff(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=de(32)|0;c[j+4>>2]=wg(m,n)|0;c[j+8>>2]=wg(m,n)|0;p=Ff(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Ff(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Hg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Ef(m,g,h);b[l+104>>1]=xg(m,n)|0;b[l+106>>1]=xg(m,n)|0;p=Ff(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Ef(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=ed(a,m)|0;i=o;return l|0}function rc(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 sc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Jg(f|0,b|0,10,0)|0;f=C;e=Nh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Nh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=yh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;uh(4,19099,p);f=b+36|0;e=0;while(1){d=pe(0,1)|0;c[p>>2]=d;d=Zi(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=Hh(c[p>>2]|0,19185)|0;c[f>>2]=Sh(d)|0;d=le(a,d)|0;Ud(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;Ih(19132,g);n=0}else if((h|0)==7){d=Hh(c[p>>2]|0,19195)|0;do if(!d){d=ye(a)|0;e=C;if((e|0)<0){Ud(p);c[j>>2]=a;_h(19211,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=ld(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=Hh(c[p>>2]|0,19278)|0;if(!d){d=Hh(c[p>>2]|0,19293)|0;if(!d){Ud(p);c[m>>2]=a;_h(19299,m)}else o=d}else o=d;if(!(Ua(o|0,19374,k|0)|0)){Ud(p);c[l>>2]=o;_h(19399,l)}d=wf(k)|0;if((d|0)==-1){Ud(p);c[q>>2]=o;_h(19441,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Ud(p);n=200;break}}while(0);i=r;return n|0}function uc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Ef(c[t>>2]|0,d,e);He(c[t>>2]|0,o,1,0);He(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=xg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;He(c[t>>2]|0,r,q,h);e=Ff(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=Se(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;He(c[t>>2]|0,r,q,h);e=Ff(c[t>>2]|0,p)|0;d=C;j=Se(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=Di(c[t>>2]|0)|0;m=C;uc(b,k,l,f,g);Ef(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}uc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;He(c[t>>2]|0,r,q,d);He(c[t>>2]|0,j,c[h>>2]|0,0);if(!(Se(f,r,q)|0))Oh(g,ii(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function vc(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[6101]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=hi(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=hi(yb(146,m|0)|0)|0;la(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 wc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Lc(24020,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(di(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(di(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6102]|0))c[e+76>>2]=-1;mb(24432);f=c[6107]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6107]=e;eb(24432)}}else{c[(Xh()|0)>>2]=22;e=0}i=o;return e|0}function xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Fh(4096)|0;while(1){if((od(b,1e6)|0)<=0){j=3;break}g=sg(b,m,4096)|0;if(g){ef(c[o>>2]|0,m,g);if(!(lh(c[(c[o>>2]|0)+4>>2]|0,14079)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Qd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Qd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Ih(14035,n);g=0}else if((j|0)==18){g=Nd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Ih(14081,p);g=0;break}if(!e)ai(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function yc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?24452:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8660+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Xh()|0)>>2]=84;f=-1}i=l;return f|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=sg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Nh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=yh(1,0,g|0,e|0)|0;b=Nh(b|0,C|0,d|0,h|0)|0}r=(rg(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Nh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Nh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Nf(14964,l);if((b|0)==-1)Nf(14995,o);Wg(c[m>>2]|0)|0;Wg(c[a+12>>2]|0)|0;Wg(c[n>>2]|0)|0;i=q;return 0}function Ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=cf(a,2,h)|0;if((e|0)<0)if((c[(Xh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;Yf(20350,d)}else{xe(e,h)|0;if((c[h+36>>2]|0)<64){Wg(e)|0;b=0}else{Hd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=rj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;_h(20373,j)}}else f=0;b=de(56)|0;c[b+4>>2]=ug(e,f)|0;g=Cf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Cf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=ug(e,f)|0;ug(e,f)|0;Cf(e,f)|0;Cf(e,f)|0;Cf(e,f)|0;Cf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Ed(b);break}if((Wg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];_h(13116,k)}}else{if(!(c[a+20>>2]&2)){if(Lg(d)|0){c[f>>2]=c[a+12>>2];_h(13085,f)}}else{rd(d)|0;if(Lg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];_h(13055,e)}}if((se(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];_h(13116,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Yf(12738,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;_h(13146,l)}if(b|0)Da(13187,12391,435,13205);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;_h(13221,m)}i=n;return d>>>8&255|0}function Cc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Pj(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Oj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Dc(a,b,d,e,f,g,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;p=q;o=pi(j*40|0)|0;n=Zb(a,b,d,e,f,j,o)|0;a:do if(n|0){m=+(j|0)/+((e-d|0)>>>0);f=0;b:while(1){if((f|0)>=(j|0))break a;b=o+(f*40|0)|0;a=c[b>>2]|0;b=c[b+4>>2]|0;if(!((a|0)==0&(b|0)==0)){switch(g|0){case 0:{l=+h[o+(f*40|0)+24>>3]/(+(a>>>0)+4294967296.0*+(b>>>0));break}case 1:{l=+h[o+(f*40|0)+16>>3];break}case 2:{l=+h[o+(f*40|0)+8>>3];break}case 3:{l=m*(+(a>>>0)+4294967296.0*+(b>>>0));break}case 4:{l=+ci(+h[o+(f*40|0)+24>>3],+h[o+(f*40|0)+32>>3],a,b);break}default:break b}h[k+(f<<3)>>3]=l}f=f+1|0}c[p>>2]=20939;c[p+4>>2]=695;_h(21110,p)}while(0);lj(o);i=q;return n|0}function Ec(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Ef(c[n>>2]|0,d,e);He(c[n>>2]|0,h,1,0);He(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=xg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){He(c[n>>2]|0,l,d,0);e=Ff(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;He(c[n>>2]|0,l,c[k>>2]|0,0);if((Se(f,l,c[k>>2]|0)|0)<0)break;e=Ff(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Ec(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}He(c[n>>2]|0,l,d,0);He(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(Se(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Fc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=Sh(25080)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Wi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=de(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Wi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;Vg(h,4,12185,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Pe(b|0,0,e|0)|0;return b|0}function Hc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Fh(512)|0;c[h>>2]=f;Li(f,b);Li(f,13866);d=b+16|0;if(a[d>>0]|0){d=Fc(d)|0;Li(f,d);lj(d);d=b+2064|0;if(a[d>>0]|0){Li(f,13947);d=Fc(d)|0;Li(f,d);lj(d)}Li(f,13949)}Li(f,b+4112|0);if(!((lf(b,20296)|0)==0?!(lf(13919,b+6160|0)|0):0))e=7;do if((e|0)==7){if((lf(b,19023)|0)==0?(lf(13916,b+6160|0)|0)==0:0)break;d=b+6160|0;if((lf(b,20290)|0)==0?(lf(13951,d)|0)==0:0)break;Li(f,13947);Li(f,d)}while(0);Li(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,hh(f,13955,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;hh(f,13972,k)}k=ch(h)|0;i=l;return k|0}function Ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}Wg(a)|0;if((h|0)>0)lj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((qg(18638,f)|0)==0?(qg(18646,f)|0)==0:0){g=11;break}f=le(g,f)|0;c[j>>2]=f;a=hc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Ih(15715,k);g=14}else if((g|0)==11){c[l>>2]=f;Ih(15769,l);g=14}else if((g|0)==13){c[m>>2]=f;Ih(20644,m);g=14}if((g|0)==14)if((b|0)>0){lj(f);b=0}else b=0;i=n;return b|0}function Jc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){je(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;je(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){je(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Kc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=i;i=i+48|0;m=s+16|0;r=s+8|0;q=s;o=s+32|0;j=ej(a)|0;c[o>>2]=j;g=+ij(12124,0);n=i;i=i+((1*(f<<3)|0)+15&-16)|0;l=0;while(1){if((l|0)>=(f|0))break;h[n+(l<<3)>>3]=g;l=l+1|0}if(!(Ah(j,b,d,e,Id(c[2]|0)|0,f,n)|0)){c[m>>2]=b;c[m+4>>2]=d;c[m+8>>2]=e;c[m+12>>2]=a;_h(12135,m)}else p=0;while(1){if((p|0)>=(f|0))break;g=+h[n+(p<<3)>>3];if(p|0)pj(9)|0;t=+N(+g);h[k>>3]=t;m=c[k+4>>2]|0;if(m>>>0>2146435072|(m|0)==2146435072&(c[k>>2]|0)>>>0>0)kh(12128,q)|0;else{h[r>>3]=g;kh(12132,r)|0}p=p+1|0}pj(10)|0;mg(o);i=s;return}function Lc(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|0)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?b:0)|0}function Mc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=hi(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(Xh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=hi(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;oc(e,2,j)|0}if(b&2048){c[h>>2]=oc(e,3,k)|0|2048;oc(e,4,h)|0}}}}while(0);i=l;return e|0}function Nc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6101]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=hi(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=hi(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Qc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16563,16615,388,16627);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=pi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Hg(b);d=d+1|0}lj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=de(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;He(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=rj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;_h(16649,j)}}else f=0;c[d+24>>2]=wg(b,f)|0;j=Ff(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=wg(b,f)|0;c[d+44>>2]=wg(b,f)|0;c[d+48>>2]=wg(b,f)|0;c[d+52>>2]=wg(b,f)|0;g=Ff(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=wg(b,f)|0;He(b,h,4,0);b=Di(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Sc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;uh(4,20134,p);Dg(500);l=a+5|0;k=fd(l,20041)|0;c[p>>2]=k;Xi(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Dg(250);g=e-j|0;g=nf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;uh(4,20187,m);if(Lg(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;Ih(20209,o);c[n>>2]=l;Yf(20093,n)}else if((g|0)==6){Bi(p);i=q;return a|0}return 0}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=de(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Fh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){Li(e,12319);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){Li(e,13882);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}Li(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=ch(j)|0;if(!(c[a>>2]|0))_h(12323,k);if(!(b&8))e=0;else{oh(l,De(36,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;oh(l,De(d,l)|0);e=e+1|0}i=m;return l|0}function Uc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Pj(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;je(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(fe(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Oj(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Oj(f);return e|0}function Vc(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(!(hf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);je(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 Wc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{je(l|0,b|0,d|0)|0;Pe(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;_h(17171,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Ec(a,j,k,l,g)|0;else{uc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Yc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=de(16)|0;else l=uf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=Mi(d,e)|0;else{k=uf(h,e+1|0)|0;c[l+4>>2]=k;je(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Qc(b,Rh(m)|0);return l|0}function _c(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Uj()|0;Jj(24320)|0;if((c[6087]|0)!=0&(a|0)==(c[6088]|0)){rg(2,13245,61)|0;_a(1)}Hj(24320)|0;Jj(24356)|0;Jj(24320)|0;c[6088]=a;c[6087]=1;Hj(24320)|0;if(!(c[6096]|0))c[6096]=pe(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Vg(d,64,13972,b)|0;a=Xe(c[6096]|0,d)|0;if(!a){a=de(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=zi(c[6096]|0,d,a)|0}Jj(24320)|0;c[6087]=0;Hj(24320)|0;Hj(24356)|0;i=e;return c[a+8>>2]|0}function $c(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=Fh(Qd(f)|0)|0;c[j>>2]=g;h=f;f=di(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;Li(g,h);Li(g,19829);m=f+1|0;h=m;f=di(m,47)|0}Li(g,h);f=ch(j)|0;j=Qd(d)|0;m=Qd(e)|0;m=j+3+m+(Qd(f)|0)|0;j=de(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;Vg(j,m,19831,k)|0;c[b+44>>2]=Xf(b,19840)|0;c[b+48>>2]=Xf(b,19847)|0;c[b+52>>2]=Xf(b,19858)|0}i=l;return}function ad(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=ui(b,d,0)|0;if((d|0)>-1){b=vg(b,1,d)|0;c[h>>2]=b;a:do if((((Yb(b,g,0)|0)!=0?(qg(14682,c[g>>2]|0)|0)!=0:0)?(Lf(g)|0,f=Lf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Nd(f)|0;if(e)while(1){if(!(Yb(c[h>>2]|0,g,0)|0))break a;f=Lf(g)|0;if(!f)break a;b=dh(f)|0;zi(e,b,Sh(th(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Ed(h)}else d=c[(Xh()|0)>>2]|0;i=j;return d|0}function cd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Rf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8864;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Xh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Cc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=de(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;He(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=rj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;_h(17132,j)}}else f=0;c[d+12>>2]=wg(b,f)|0;c[d+16>>2]=wg(b,f)|0;c[d+20>>2]=wg(b,f)|0;g=Ff(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;He(b,h,4,0);He(b,h,4,0);b=Di(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(lf(b,18565)|0){if(!(lf(b,15957)|0)){f=c[2077]|0;break}e=Yd(b,d)|0;if(!e){a:do if(!d)e=25080;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15985;break a}case 119:{e=15975;break a}default:{e=e<<24>>24==97?15964:25080;break a}}}while(0);d=ke(c[(Xh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;_h(15994,g)}else f=e}else f=c[2136]|0;while(0);i=h;return f|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;nd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=de(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;$c(a,b,h,d);c[e>>2]=0;b=a+44|0;j=zh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=zh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=zh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Hg(e);lj(c[a+40>>2]|0);lj(c[b>>2]|0);lj(c[f>>2]|0);lj(a);lj(h);lj(d);d=c[e>>2]|0}i=g;return d|0}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ze(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=yj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;Fj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Ih(15871,f);b=0;break}}else{kf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function id(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=de(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20805+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20805+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20805+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20805+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function jd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18171+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18171+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function kd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Yf(12464,k);l=fi()|0;if(Og(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=fi()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Yf(12487,f)}if(b|0?(cg(b,0)|0)<0:0)Yf(12514,g);if((d|0)!=1?(cg(d,1)|0)<0:0)Yf(12534,h);if((e|0)!=2?(cg(e,2)|0)<0:0)Yf(12555,j);qh();i=k;return}function ld(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(aj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Jg(c|0,d|0,10,0)|0;b=b+1|0;c=yh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=yh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=ec(a,b)|0;if((a|0)<0)a=-1;else{if((od(a,1e6)|0)>0)Vh(a,25080,0,0)|0;c[g>>2]=0;c[h>>2]=d;Vg(f,256,14124,h)|0;do if(Vh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,Vg(f,256,14134,j)|0,(Vh(a,f,0,0)|0)==0):0){Wg(a)|0;a=-1;break}if(!(Vh(a,14144,0,0)|0)){Wg(a)|0;a=-1}}else{Wg(a)|0;a=-1}while(0)}i=k;return a|0}function nd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=di(b,58)|0;if(!h)h=0;else{m=Mi(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=di(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){ue(l,1024,b,k+1-b|0);c[g>>2]=Ld(l)|0}j=di(b,47)|0;if(!j)j=b+(Qd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Ld(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Hf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(Xh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=ke(a)|0;Ih(13977,m)}i=n;return a|0}function pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=cf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=de(5)|0;c[g>>2]=f;if((sg(e,f,4)|0)<4)mi(g);else a[f+4>>0]=0;Wg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=$d(e)|0,mi(h),(g|0)!=0):0){h=Bg(Me(b)|0,33,b,0)|0;e=vg(b,d,wj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function qd(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Pc(g,21131,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=me(g)|0;i=j;return h|0}me(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function rd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=_d(a)|0;break}d=(Pj(a)|0)==0;b=_d(a)|0;if(!d)Oj(a)}else{if(!(c[2106]|0))b=0;else b=rd(c[2106]|0)|0;mb(24432);a=c[6107]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Pj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=_d(a)|0|b;if(d|0)Oj(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(24432)}while(0);return b|0}function sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Uf(e,0)|0;c[n>>2]=g;og(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Uf(d,e)|0;else if(!f){e=cf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Yf(13024,k)}else j=e}else j=0;c[m>>2]=j;e=sf(a,b,j,g)|0;Wf(m);if(!l)Wf(n);i=o;return e|0}function td(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[(Xh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function ud(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=fi()|0;c[g>>2]=f;Vg(a,256,17931,g)|0;d=$e(a,1)|0;c[g>>2]=d;if(!d){j=c[2107]|0;c[b>>2]=a;gh(j,17968,b)|0;a=j}else{while(1){if(!(gg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,17947)|0){j=5;break}}if((j|0)==5){j=c[2107]|0;c[h>>2]=f;c[h+4>>2]=a;gh(j,17954,h)|0}Ed(g);a=c[2107]|0}rd(a)|0;i=k;return}function vd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=he(k)|0;je(j|0,d|0,e|0)|0;lj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=Sh(d)|0;lj(c);c=l}i=h;return c|0}function wd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;uh(4,19900,j);h=Ne(a)|0;n=fd(h,20041)|0;c[j>>2]=n;Xi(n,b,0)|0;a=nf(g+256|0,f,e,n)|0;if(!(Lg(n)|0)){Bi(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;Ih(20044,k);c[l>>2]=h;Yf(20093,l)}return 0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;uh(4,19519,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(kc(a,f,e)|0){a=wf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];_h(19551,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function yd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((jh(f,12181,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function zd(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;Pe(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){Vc(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;Vc(h,f,a)|0}while(0);i=j;return}function Ad(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(!(hf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Bd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){ih(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=dd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;ih(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Cd(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(Lh(b)|0)){c=(Qd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;dj(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=di(b,47)|0;if(!b){Vf(e)|0;b=0;continue}else{a[b>>0]=0;Vf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Pj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Ad(d,b)|0;Oj(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Ad(d,b)|0}while(0);return e|0}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(bi(c[2136]|0)|0):0){Wg(c[d>>2]|0)|0;lj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else Jh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Cb[d&3](f);lj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Ud(g);mi(b)}return}function Fd(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=yh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,yh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=yh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(lf(a,18565)|0)if(lf(a,15957)|0){c[d>>2]=436;d=cf(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15985:15964;else d=15975;else d=16138;else d=16114;c[f>>2]=a;c[f+4>>2]=d;Yf(16149,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Hd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=sg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Yf(16177,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;_h(16202,g)}else if((d|0)==8){i=h;return}}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((qf(a,20954)|0)!=0?(qf(a,20959)|0)!=0:0)if((qf(a,20967)|0)!=0?(qf(a,20971)|0)!=0:0)if((qf(a,20979)|0)!=0?(qf(a,20983)|0)!=0:0)if((qf(a,20991)|0)!=0?(qf(a,21e3)|0)!=0:0)if(!(qf(a,21013)|0))b=4;else{c[d>>2]=a;_h(21017,d)}else b=3;else b=2;else b=1;else b=0;i=e;return b|0}function Jd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=kg(h,f)|0;c[e+4>>2]=kg(h,f)|0;c[e+8>>2]=kg(h,f)|0;c[e+12>>2]=kg(h,f)|0;c[e+16>>2]=kg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=Sg(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Qd(b)|0;h=Qd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Qd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=de((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;dj(d,e)|0;j=a+g|0;i=d+(a-e)|0;dj(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}dj(d,e)|0;return f|0}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(jg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=de(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(jg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;fh(g,19823,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Md(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=nh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Nd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(aj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Pd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((jh(f,12181,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Qd(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 Rd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=sh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Rd(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 Sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Xe(c[e>>2]|0,d)|0)){zi(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;gh(g,18571,h)|0}}}while(0);i=j;return}function Td(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+4|0;c[e>>2]=a;Kh(e,b,12);if((c[e>>2]|0)!=6)_h(11474,d);c[2]=Qf(12169,c[2]|0)|0;hj(Qf(12174,Nj()|0)|0);g=c[b+4>>2]|0;f=c[b+8>>2]|0;a=Th(c[b+12>>2]|0)|0;e=Th(c[b+16>>2]|0)|0;Kc(g,f,a,e,Th(c[b+20>>2]|0)|0);if((Qj()|0)>1)ud();i=d;return 0}function Ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;_i(d);d=g}e=e+1|0}}else{Zh(b);b=d+8|0}while(0);lj(c[b>>2]|0);mi(a)}return}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=oc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((oc(a,4,f)|0)<0){c[g>>2]=ke(c[(Xh()|0)>>2]|0)|0;Ih(13551,g);d=-1}else d=0}else{c[e>>2]=ke(c[(Xh()|0)>>2]|0)|0;Ih(13520,e);d=-1}i=h;return d|0}function Wd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=24303;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Xd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18179+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18187+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18187+f>>0]}while(0);return}function Yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Lc(24020,a[d>>0]|0,4)|0){h=Af(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=hi(jb(5,e|0)|0)|0;if((e|0)>=0){b=wc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(Xh()|0)>>2]=22;b=0}i=g;return b|0}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;_h(16882,d)}d=gj(a,b)|0;if(!d){g=c[(Xh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;_h(16946,e)}else{i=f;return d|0}return 0}function _d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function $d(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(qg(18437,a)|0))if(!(qg(18440,a)|0))if(!(qg(18444,a)|0))if(!(qg(18447,a)|0))a=0;else{a=18452;e=5}else{a=18456;e=5}else{a=18460;e=5}else{a=18462;e=5}if((e|0)==5){c[d>>2]=a;Vg(b,20,18465,d)|0;a=Sh(b)|0}i=f;return a|0}function ae(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=yh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return yh((dc(h,g,yh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Zf(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ce(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=yg(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=qi(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;_h(17018,b)}b=Dj(a)|0;if(!b){f=c[(Xh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;_h(17071,d)}else{Pe(b|0,0,a|0)|0;i=e;return b|0}return 0}function ee(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(Lh(a)|0)){d=Yd(a,18435)|0;c[b>>2]=d;if(!d){a=0;break}else{Bi(b);a=1;break}}else{f=Wh()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;Ih(18405,d);a=0;break}}while(0);i=e;return a|0}function fe(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ge(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18119;break}case 2:{a=18098;break}case -1:{a=18087;break}case -2:{a=18071;break}case -3:{a=18071;break}case -4:{a=18056;break}case -5:{a=18041;break}case -6:{a=18022;break}case 0:{a=0;break}default:{c[b>>2]=a;Vg(24952,128,18003,b)|0;a=24952}}i=d;return a|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;_h(16758,b)}b=Dj(a)|0;if(!b){f=c[(Xh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;_h(16816,d)}else{i=e;return b|0}return 0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(Xh()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;je(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 ke(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22088+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22176;e=5;break}}if((e|0)==2)if(!c)b=22176;else{b=22176;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 le(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;lc(b,g);lc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){zf(e,2048,d);zf(f+2064|0,2048,g+2064|0)}g=Hc(f)|0;i=h;return g|0}function me(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Db[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Db[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function oe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;_h(15799,k)}else{c[j>>2]=e;oi(d,j)}return 0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=de(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16563,16615,357,16638);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Yg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=pi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function qe(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Zf(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function re(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;Vg(h,256,14469,j)|0;j=id(h,Qd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;hh(e,14475,k);mi(g)}i=l;return}function se(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(24432);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6107]|0)==(a|0))c[6107]=b;eb(24432)}b=rd(a)|0;b=Fb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function te(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=Bf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16379;else e=(d|0)==2?16338:16347;else e=16370;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Yf(16388,g);return 0}function ue(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;_h(16503,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;Gi(b,e,f)|0;a[b+g>>0]=0;i=j;return}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=Nh(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f;if((b|0)<0){c[d>>2]=b;_h(20870,d)}a:do if((b|0)<2)d=0;else{e=1073741823;d=0;while(1){if(!a)break a;h=b-(c[a+4>>2]|0)|0;g=(h|0)>-1&(h|0)<(e|0);e=g?h:e;d=g?a:d;a=c[a>>2]|0}}while(0);i=f;return d|0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Wd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=hi(Pa(195,f|0)|0)|0}else d=hi(d)|0;i=g;return d|0}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;Vg(g,4096,14693,e)|0;a=pe(0,1)|0;c[e>>2]=a;if(((bd(g,14710,a)|0)==206?(b=Hh(a,14714)|0,(b|0)!=0):0)?(d=di(b,47)|0,(d|0)!=0):0){b=ld(d+1|0)|0;a=C}else{a=-1;b=-1}Ud(e);C=a;i=f;return b|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0;d=Wh()|0;a=gd(a,(b|0)==0?c[28]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(lh(e,19840)|0){if(!(Lh(e)|0))break a;if((zg(e)|0)>>>0<b>>>0)b=zg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function Ae(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2077]|0;if((c[f+76>>2]|0)>-1)g=Pj(f)|0;else g=0;do if((Ui(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=(Ad(f,10)|0)<0}while(0);if(g|0)Oj(f);return d<<31>>31|0}function Be(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=vi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function Ce(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;lj(e);f=f+1|0}lj(b);lj(i);i=h}mi(g+12|0);mi(g+28|0);mi(a)}return}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=de(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=de((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=Sh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;uh(4,20257,d);Dg(500);if((Pg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Oc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Xc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Ge(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(Uh(k,d,Qd(d)|0,h,8)|0))a=0;else{mh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Kf(b,a,e,f)|0}i=j;return a|0}function He(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;_h(19771,g)}else{i=h;return}}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;uh(4,20101,d);if((Pg(Ne(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Je(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2077]|0);if((b|0)==(c[2136]|0)|d)if(d){rd(b)|0;b=1}else b=1;else if(!(se(b)|0))b=1;else{Nf(16438,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Uc(b,d,1,a)|0)!=1:0){b=Lg(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;_h(16083,f)}else{f=ke(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;_h(16054,e)}}i=g;return}function Le(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Tg(b)|0;do if((f|0)!=0?(lf(f,17666)|0)!=0:0){d=ti(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;_h(17389,h)}else e=d;while(0);i=j;return e|0}function Me(a){a=a|0;var b=0;b=Sh(a)|0;if(!(((qg(18638,a)|0)==0?(qg(18646,a)|0)==0:0)?!(qg(18655,a)|0):0))yd(a,b,Qd(a)|0);if(!(lh(b,18477)|0))if(!(lh(b,18481)|0))if(!(lh(b,18484)|0)){a=(lh(b,18489)|0)==0;a=a?0:64}else a=100;else a=88;else a=76;lj(b);return a|0}function Ne(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(qg(19948,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)_h(19955,e);if(((((Tb(b,19982)|0)==0?(di(b,126)|0)==0:0)?(Tb(b,19985)|0)==0:0)?(Tb(b,19988)|0)==0:0)?(lh(19992,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;_h(19995,d);return 0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=pi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;_h(17855,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Pe(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 Qe(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=cj(e&65535)|0;if(d){h=zj(hd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Re(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Qi(b,59)|0;if((g|0?qg(13870,g)|0:0)?(i=(di(g,61)|0)+1|0,h=di(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=ld(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=ld(b)|0;c[e>>2]=f}}return}function Se(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 Te(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=hi(pa(102,h|0)|0)|0;i=g;return e|0}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Fh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){Li(e,13882);b=c[d>>2]|0}Li(e,b);f=f+1|0}g=ch(g)|0;i=h;return g|0}function Ve(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=hi(pa(102,h|0)|0)|0;i=g;return e|0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(lf(a,19023)|0)if(!(lf(a,20290)|0)){d=Dh(a+4112|0,Nd(a+6160|0)|0)|0;break}else{c[e>>2]=b;_h(14427,e)}else d=ec(a+4112|0,Nd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((lf(c[e+4>>2]|0,d)|0)!=0);return e|0}function Ye(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((hi(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ze(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=di(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function _e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=qd(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=ge(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;_h(18135,g)}return 0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(lf(a,18565)|0){if(Me(a)|0){c=pd(a,b)|0;break}c=cf(a,0,c)|0;if((c|0)==-1)c=0;else c=vg(a,b,c)|0}else c=Ri(b)|0;while(0);i=d;return c|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=rg(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Yf(16244,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;_h(16270,e)}}function bf(b){b=b|0;var d=0,e=0,f=0;d=c[2107]|0;f=ke(c[(Xh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=Pj(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Df(b,Qd(b)|0,1,d)|0;Dd(58,d)|0;Dd(32,d)|0}Df(f,Qd(f)|0,1,d)|0;Dd(10,d)|0;if(e|0)Oj(d);return}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=hi(jb(5,f|0)|0)|0;i=e;return d|0}function df(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);ih(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;je(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=hi(pa(102,f|0)|0)|0;i=e;return d|0}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Nh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=sg(b,d,e)|0;a=a+16|0;b=a;b=Nh(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function hf(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 jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Nh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Nh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;af(b,d,e);return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((fc(2,a,d)|0)<0){b=ke(c[(Xh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Ih(15830,e);a=0}else{c[b>>2]=yj(c[d>>2]|0)|0;a=1}i=f;return a|0}function lf(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 mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Nh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Nh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Hd(b,d,e);return}function nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Nh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Nh(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Uc(b,1,d,e)|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Te(a,1,20,d,8)|0)>=0)if((Te(a,1,21,d,8)|0)<0){Ih(13415,e);a=-1}else a=0;else{Ih(13365,f);a=-1}i=f;return a|0}function pf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=vc(b,d,e)|0;i=g;return f|0}function qf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Oi(a[e>>0]|0)|0;c=c<<24>>24;b=(Oi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function rf(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 sf(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;og(b);a=Tc(a,b)|0;if(!(b&1)){b=Cg(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);Wf(f)}else eg(a,d,e,0,0);i=g;return a|0}function tf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Oe(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function vf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=dd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;_h(16452,g)}return 0}function wf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16552)|0;d=(b|0)!=0;if(d)zf(e,100,b);qa(16552,16555,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16552,e|0,1)|0;else ob(16552)|0;Oa();i=f;return b|0}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Lc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;je(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function yf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=hi(ib(10,b|0)|0)|0;if(b){if((c[(Xh()|0)>>2]|0)==21){c[d>>2]=a;b=hi(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Qd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;_h(15911,f)}else{dj(a,d)|0;i=g;return}}function Af(b){b=b|0;var c=0,d=0,e=0;d=(di(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(di(b,120)|0)==0;d=e?d:d|128;b=(di(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Bf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(hi(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Hd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Df(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=(Pj(e)|0)==0;a=Vc(a,f,e)|0;if(!g)Oj(e)}else a=Vc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=Nh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[28]|0)Ig(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;He(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=Ji(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Gf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2077]|0;else{Ae(13307)|0;Ae(13332)|0;d=c[2077]|0;Cc(d,a,b)|0;Dd(10,d)|0;rd(d)|0}rd(d)|0;d=c[2107]|0;Cc(d,a,b)|0;Dd(10,d)|0;rd(d)|0}return}function Hf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=hi(kb(142,h|0)|0)|0;i=g;return d|0}function If(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Jf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=he(h)|0;a=a+136|0;Ig(a,b,d+64|0,0)|0;mf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;nc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Hg(f);i=g;return c[f>>2]|0}function Lf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=th(e)|0,(a[d>>0]|0)!=0):0){e=dg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function Mf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=ke(c[(Xh()|0)>>2]|0)|0;c[g+4>>2]=a;fh(f,13359,g)|0;Mh(f,e);i=d;return}function Of(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?(Df(b,d,1,a)|0)!=1:0){a=ke(Lg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;_h(16024,e)}i=f;return}function Pf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else je(b,c,d)|0;return b|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[6099]|0;if((d|0?(e=Xg(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)_h(17787,f);f=Tg(a)|0;i=g;return ((f|0)==0?b:f)|0}function Rf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(fe(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;_h(12681,e)}}function Tf(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 Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=cf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Yf(12992,d)}else{i=e;return b|0}return 0}function Vf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Rg(a,511)|0)<0)if((c[(Xh()|0)>>2]|0)==17)b=0;else{bf(25080);c[d>>2]=a;_h(18347,d)}else b=1;i=e;return b|0}function Wf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Wg(b)|0)<0){c[d>>2]=b;Yf(12716,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Qd(c[g>>2]|0)|0;e=Qd(d)|0;b=de(f+2+e|0)|0;je(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;je(f+1|0,d|0,e|0)|0;return b|0}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=ke(c[(Xh()|0)>>2]|0)|0;c[f+4>>2]=a;fh(e,13359,f)|0;oi(e,d)}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function _f(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((Wg(b)|0)<0)Yf(16420,d);else{c[a>>2]=-1;break}while(0);i=e;return}function $f(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Ef(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Rc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Qd(a)|0;g=g+1+(Qd(b)|0)|0;d=de(g)|0;c[f>>2]=a;c[f+4>>2]=b;Ug(d,g,16433,f)|0;i=e;return d|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=xi(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18509,18531,352,18547)}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=hi(d)|0;i=f;return e|0}function dg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(aj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function eg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Cg(h)|0;bc(a,b,c[h>>2]|0,d,e,f);Wf(h);i=g;return}function fg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(Pg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function gg(b,d){b=b|0;d=d|0;a:while(1){if(!(Yb(b,d,0)|0)){b=0;break}switch(a[(th(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function hg(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;a=b-a*a/(+(c>>>0)+4294967296.0*+(d>>>0));if(d>>>0>0|(d|0)==0&c>>>0>1){d=Nh(c|0,d|0,-1,-1)|0;a=a/(+(d>>>0)+4294967296.0*+(C>>>0))}return +a}function ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=fg(b)|0;b=fd(b,20041)|0;g=he(f+1|0)|0;c[d>>2]=g;Ke(b,g,f);a[g+f>>0]=0;se(b)|0;if(e|0)c[e>>2]=f;return}function jg(a){a=a|0;a:do if(!(Wi(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function kg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=vi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;je(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function mg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){Bj(b+96|0);d=b+100|0;ph(d);ph(d);Ej(b+20|0);ac(b+8|0);lj(c[b+4>>2]|0);mi(a)}return}function ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=sg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function og(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{_h(12190,c);break}default:{}}if((a&18|0)==16)_h(12256,b);else{i=c;return}}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Pj(a)|0)==0;b=Od(a,b,d)|0;if(!e)Oj(a)}else b=Od(a,b,d)|0;return b|0}function qg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=hi(pb(4,f|0)|0)|0;i=e;return a|0}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=hi(sb(3,f|0)|0)|0;i=e;return a|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;Vg(e,256,16560,f)|0;dh(e)|0;b=Xe(a,e)|0;i=d;return b|0}function ug(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Hd(a,d,4);a=c[d>>2]|0;if(b){a=vi(a|0)|0;c[d>>2]=a}i=e;return a|0}function vg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=de(104)|0;c[f+4>>2]=Sh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=de(65537)|0;return f|0}function wg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;He(a,d,4,0);a=c[d>>2]|0;if(b){a=rj(a)|0;c[d>>2]=a}i=e;return a|0}function xg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;He(a,d,2,0);a=b[d>>1]|0;if(c){a=sj(a)|0;b[d>>1]=a}i=e;return a|0}function yg(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function zg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((Pg(a,b)|0)<0){c[d>>2]=a;_h(18374,d)}else{i=e;return c[b+56>>2]|0}return 0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;_h(20644,d)}else{i=e;return b|0}return 0}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=sd(g,b,d,e)|0;i=f;return e|0}function Cg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((vh(b)|0)<0)Yf(12353,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Dg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Hf(0,0,0,0,b)|0}i=d;return}function Eg(b){b=b|0;var c=0,d=0;c=Qd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(aj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[11]|0)>=(a|0)){a=c[6097]|0;if(!a){a=c[2107]|0;c[6097]=a}Cc(a,b,d)|0;rd(c[6097]|0)|0}return}function Gg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Hg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Nh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return te(b,d,e)|0}function Jg(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=If(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Kg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(lf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Lg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Pj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Oj(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Mg(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;a=fd(a,18435)|0;c[f>>2]=a;Of(a,b,d);Bi(f);i=e;return}function Ng(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=20300;c[a+4>>2]=352;_h(21110,a);return 0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=hi(cb(57,e|0)|0)|0;i=d;return a|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=hi(Pa(195,e|0)|0)|0;i=d;return a|0}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=hi(hb(38,e|0)|0)|0;i=d;return a|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=hi(Ia(39,e|0)|0)|0;i=d;return a|0}function Sg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=kj(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function Tg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6098]|0;if(!b)_h(17755,d);else{a=Ph(b,a)|0;i=d;return a|0}return 0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=dd(a,b,d,g)|0;i=f;return e|0}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=vf(a,b,d,g)|0;i=f;return e|0}function Wg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=hi((a|0)==-4?-115:a)|0;i=b;return a|0}function Xg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(lf(d,a)|0))break;b=b+8|0}return b|0}function Yg(a){a=a|0;var b=0;b=de(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Oe(b,a)|0;return b|0}function Zg(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=hi(Wa(6,d|0)|0)|0;i=b;return a|0}function _g(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]}function $g(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Eb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=de(d+1|0)|0;c=(c|0)<(d|0)?c:d;je(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function ch(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(17884,17895,40,17911);else{b=c[b+4>>2]|0;mi(a);return b|0}return 0}function dh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Oi(c<<24>>24)|0;d=d+1|0}return b|0}function eh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Pi(c<<24>>24)|0;d=d+1|0}return b|0}function fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ci(a,b,f)|0;i=e;return d|0}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Cc(a,b,f)|0;i=e;return d|0}function hh(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;Bd(a,b,f);i=e;return}function ih(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=xi(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=tf(a,b,f)|0;i=e;return d|0}function kh(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=Cc(c[2077]|0,a,e)|0;i=d;return b|0}function lh(a,b){a=a|0;b=b|0;var c=0;c=Qd(a)|0;c=c-(Qd(b)|0)|0;if((c|0)<0)c=0;else c=(lf(a+c|0,b)|0)==0&1;return c|0}function mh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=rj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=rj(c[a>>2]|0)|0}return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function oh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function ph(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;lj(b);b=d}c[a>>2]=0;return}function qh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Wg(b)|0;b=b+1|0}return}function rh(a){a=+a;var b=0;b=vi((g[k>>2]=a,c[k>>2]|0)|0)|0;return +(c[k>>2]=b,+g[k>>2])}function sh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function th(b){b=b|0;if(!b)b=0;else while(1)if(!(aj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function uh(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;Fg(a,b,f);i=e;return}function vh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(wa(42,d|0)|0)|0;i=b;return a|0}function wh(a,b,c){a=a|0;b=b|0;c=c|0;a=Zd(a,c)|0;if(c>>>0>b>>>0)Pe(a+b|0,0,c-b|0)|0;return a|0}function xh(){}function yh(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 (C=d,a-c>>>0|0)|0}function zh(a){a=a|0;var b=0;if(!a)a=de(8)|0;else{b=de((Qd(a)|0)+8|0)|0;dj(b+4|0,a)|0;a=b}return a|0}function Ah(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Dc(a,b,c,d,1,e,f,g)|0}function Bh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ib[a&1](b|0,c|0,d|0,e|0,f|0)|0}function Ch(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[11]=a;c[d>>2]=0;i=b;return}function Dh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;_h(18195,d);return 0}function Eh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=20300;c[a+4>>2]=360;_h(21110,a);return 0}function Fh(a){a=a|0;var b=0;b=de(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=de(a+1|0)|0;c[b+8>>2]=a;return b|0}function Gh(){var a=0,b=0;b=i;i=i+16|0;a=Mc(2,1,0)|0;if((a|0)<0)Ih(13490,b);i=b;return a|0}function Hh(a,b){a=a|0;b=b|0;a=tg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Ih(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;Mh(a,e);i=d;return}function Jh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Bc(b)|0;Ce(a)}return b|0}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6098]|0)){li(Wb(a,b,0,d,0)|0);c[6099]=d}return}function Lh(a){a=a|0;if((lf(a,18565)|0)!=0?(lf(a,15957)|0)!=0:0)a=(fg(a)|0)!=-1&1;else a=1;return a|0}function Mh(a,b){a=a|0;b=b|0;var d=0;d=_c()|0;Db[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Oh(a,b){a=a|0;b=b|0;var d=0;d=de(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function Ph(a,b){a=a|0;b=b|0;a=Xe(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function Rh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function Sh(a){a=a|0;var b=0;if(!a)a=0;else{b=Qd(a)|0;a=bh(a,b,b)|0}return a|0}function Th(a){a=a|0;var b=0;b=i;i=i+16|0;a=oe(a,0,b)|0;i=b;return a|0}function Uh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wc(a,b,c,e,0,d,0)|0}function Vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ki(a,b);return xc(a,b,c,d)|0}function Wh(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function Xh(){var a=0;if(!(c[6101]|0))a=24448;else a=c[(Uj()|0)+64>>2]|0;return a|0}function Yh(a){a=a|0;if(!a)a=0;else{a=th(a)|0;Eg(a)}return a|0}function Zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ph(b);lj(b);c[a>>2]=0}return}function _h(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;oi(a,d)}function $h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}
+function ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){lj(c[b+4>>2]|0);mi(a)}return}function bi(a){a=a|0;if((c[a+76>>2]|0)>-1?Pj(a)|0:0)Oj(a);return c[a+60>>2]|0}function ci(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;return +(+O(+(+hg(a,b,c,d))))}function di(b,c){b=b|0;c=c|0;b=Yc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ei(){var a=0;a=_c()|0;Gb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function fi(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function gi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){_f(b+52|0);mi(a)}return}function hi(a){a=a|0;if(a>>>0>4294963200){c[(Xh()|0)>>2]=0-a;a=-1}return a|0}function ii(a,b){a=a|0;b=b|0;var c=0;c=he(b)|0;je(c|0,a|0,b|0)|0;return c|0}function ji(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ki(a,b){a=a|0;b=b|0;if(!a)a=0;else a=td(a,b,0)|0;return a|0}function li(a){a=a|0;c[6098]=a;if(Tg(17247)|0)Ch(Le(17247,0)|0);return}function mi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)Gj(b);return}function ni(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function oi(a,b){a=a|0;b=b|0;c[(_c()|0)+4>>2]=1;Mh(a,b);ei()}function pi(a){a=a|0;var b=0;b=he(a)|0;Pe(b|0,0,a|0)|0;return b|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function ri(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;a=qe(a,b,c,0,-2147483648)|0;return a|0}function ti(a,b,c){a=a|0;b=b|0;c=c|0;a=qe(a,b,c,-2147483648,0)|0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;return pc(a,b,14651,14660,c)|0}function vi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function wi(a,b,c){a=a|0;b=b|0;c=c|0;return Hb[a&7](b|0,c|0)|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;return wh(a,b,c)|0}function yi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(7);return 0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;return Zc(a,b,Qd(b)|0,c)|0}function Ai(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Bi(a){a=a|0;if(!(Je(a)|0))ei();else return}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;return dd(a,2147483647,b,c)|0}function Di(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;Db[a&3](b|0,c|0)}function Fi(){if((ab(13340)|0)==0?(ab(13350)|0)==0:0)_a(-1);Za()}function Gi(a,b,c){a=a|0;b=b|0;c=c|0;Gc(a,b,c)|0;return a|0}function Hi(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;return xf(a,b,c)|0}function Ji(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function Ki(a,b){a=a|0;b=b|0;af(a,b,Qd(b)|0);return}function Li(a,b){a=a|0;b=b|0;ef(a,b,Qd(b)|0);return}function Mi(a,b){a=a|0;b=b|0;return bh(a,Qd(a)|0,b)|0}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return jd(a,b,0,c)|0}function Oi(a){a=a|0;var b=0;b=(uj(a)|0)==0;return (b?a:a&95)|0}function Pi(a){a=a|0;var b=0;b=(tj(a)|0)==0;return (b?a:a|32)|0}function Qi(a,b){a=a|0;b=b|0;return Gg(a,b,(Qd(a)|0)+1|0)|0}function Ri(a){a=a|0;return vg(18565,a,bi(c[2136]|0)|0)|0}function Si(a){a=a|0;if(!(c[a+68>>2]|0))Oj(a);return}function Ti(a){a=a|0;if(!(c[a+68>>2]|0))Oj(a);return}function Ui(a,b){a=a|0;b=b|0;return (Df(a,Qd(a)|0,1,b)|0)+-1|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;return jd(a,b,1,c)|0}function Wi(a){a=a|0;return ((a+-48|0)>>>0<10|(mj(a)|0)!=0)&1|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;return pg(a,b,c)|0}function Yi(a,b){a=a|0;b=b|0;return Fb[a&3](b|0)|0}function Zi(a,b){a=a|0;b=b|0;return bd(a,14688,b)|0}function _i(a){a=a|0;lj(c[a+4>>2]|0);lj(a);return}function $i(a,b){a=a|0;b=b|0;i=a;j=b}function aj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function cj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function dj(a,b){a=a|0;b=b|0;ad(a,b)|0;return a|0}function ej(a){a=a|0;return qc(a,-2003829722,18247)|0}function fj(a,b){a=a|0;b=b|0;Cb[a&3](b|0)}function gj(a,b){a=a|0;b=b|0;return ie(a,b)|0}function hj(a){a=a|0;c[28]=Sh(a)|0;return}function ij(a,b){a=a|0;b=b|0;return +(+be(a,b,1))}function jj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function kj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function lj(a){a=a|0;if(a|0)Gj(a);return}function mj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function nj(a,b){a=+a;b=+b;return +(+Mf(a,b))}function oj(a,b){a=+a;b=b|0;return +(+Md(a,b))}function pj(a){a=a|0;return Dd(a,c[2077]|0)|0}function qj(a,b){a=+a;b=b|0;return +(+Rd(a,b))}function rj(a){a=a|0;return vi(a|0)|0}function sj(a){a=a|0;return kj(a|0)|0}function tj(a){a=a|0;return (a+-65|0)>>>0<26|0}function uj(a){a=a|0;return (a+-97|0)>>>0<26|0}function vj(a,b){a=a|0;b=b|0;Qb(b);return}function wj(a){a=a|0;return c[a+16>>2]|0}function xj(a,b){a=+a;b=+b;return +(+ic(a,b))}function yj(a){a=a|0;return vi(a|0)|0}function zj(a){a=a|0;return vi(a|0)|0}function Aj(a,b){a=a|0;b=b|0;ba(6);return 0}function Bj(a){a=a|0;mi(a);return}function Cj(a){a=a|0;Gb[a&1]()}function Dj(a){a=a|0;return Kb(a)|0}function Ej(a){a=a|0;mi(a);return}function Fj(a){a=a|0;Qb(a);return}function Gj(a){a=a|0;Qb(a);return}function Hj(a){a=a|0;return 0}function Ij(a,b){a=a|0;b=b|0;ba(2)}function Jj(a){a=a|0;return 0}function Kj(a){a=a|0;i=a}function Lj(a){a=a|0;C=a}function Mj(a){a=a|0;ba(4);return 0}function Nj(){return c[28]|0}function Oj(a){a=a|0;return}function Pj(a){a=a|0;return 0}function Qj(){return c[11]|0}function Rj(){return C|0}function Sj(){return i|0}function Tj(a){a=a|0;ba(1)}function Uj(){return 0}function Vj(){ba(5)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[jj,pf,Ye,vc,Nc,lg,Hi,Ii];var Cb=[Tj,Ti,Si,Tj];var Db=[Ij,Gf,vj,Ij];var Eb=[ni,wd,Sc,_b,Ng,ni,ni,ni];var Fb=[Mj,Zg,zc,Mj];var Gb=[Vj,Fi];var Hb=[Aj,Ie,Ee,tc,xd,Eh,Aj,Aj];var Ib=[yi,cc];return{_llvm_bswap_i16:kj,_i64Subtract:yh,_free:Qb,_main:Td,_htonl:zj,_realloc:ie,_i64Add:Nh,_memmove:Pf,_pthread_self:Uj,_pthread_mutex_unlock:Hj,_memset:Pe,_malloc:Kb,_pthread_mutex_lock:Jj,_memcpy:je,_llvm_bswap_i32:vi,_bitshift64Lshr:sh,_htons:cj,_bitshift64Shl:nh,___errno_location:Xh,_ntohs:bj,runPostSets:xh,stackAlloc:ji,stackSave:Sj,stackRestore:Kj,establishStackSpace:$i,setThrew:Ai,setTempRet0:Lj,getTempRet0:Rj,dynCall_iiii:$h,dynCall_vi:fj,dynCall_vii:Ei,dynCall_iiiiiii:$g,dynCall_ii:Yi,dynCall_v:Cj,dynCall_iii:wi,dynCall_iiiiii:Bh}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigWigSummary_static.js.html b/bedTools/bigWigSummary_static.js.html
new file mode 100644
index 0000000000000000000000000000000000000000..084ef933573d0e8cee6b64d287a3baaf1535b157
--- /dev/null
+++ b/bedTools/bigWigSummary_static.js.html
@@ -0,0 +1,1319 @@
+<!doctype html>
+<html lang="en-us">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Emscripten-Generated Code</title>
+    <style>
+      body {
+        font-family: arial;
+        margin: 0;
+        padding: none;
+      }
+
+      .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
+      div.emscripten { text-align: center; }      
+      div.emscripten_border { border: 1px solid black; }
+      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
+      canvas.emscripten { border: 0px none; }
+
+      #emscripten_logo {
+        display: inline-block;
+        margin: 0;
+      }
+
+      .spinner {
+        height: 30px;
+        width: 30px;
+        margin: 0;
+        margin-top: 20px;
+        margin-left: 20px;
+        display: inline-block;
+        vertical-align: top;
+
+        -webkit-animation: rotation .8s linear infinite;
+        -moz-animation: rotation .8s linear infinite;
+        -o-animation: rotation .8s linear infinite;
+        animation: rotation 0.8s linear infinite;
+
+        border-left: 5px solid rgb(235, 235, 235);
+        border-right: 5px solid rgb(235, 235, 235);
+        border-bottom: 5px solid rgb(235, 235, 235);
+        border-top: 5px solid rgb(120, 120, 120);
+        
+        border-radius: 100%;
+        background-color: rgb(189, 215, 46);
+      }
+
+      @-webkit-keyframes rotation {
+        from {-webkit-transform: rotate(0deg);}
+        to {-webkit-transform: rotate(360deg);}
+      }
+      @-moz-keyframes rotation {
+        from {-moz-transform: rotate(0deg);}
+        to {-moz-transform: rotate(360deg);}
+      }
+      @-o-keyframes rotation {
+        from {-o-transform: rotate(0deg);}
+        to {-o-transform: rotate(360deg);}
+      }
+      @keyframes rotation {
+        from {transform: rotate(0deg);}
+        to {transform: rotate(360deg);}
+      }
+
+      #status {
+        display: inline-block;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-left: 20px;
+        font-weight: bold;
+        color: rgb(120, 120, 120);
+      }
+
+      #progress {
+        height: 20px;
+        width: 30px;
+      }
+
+      #controls {
+        display: inline-block;
+        float: right;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-right: 20px;
+      }
+
+      #output {
+        width: 100%;
+        height: 200px;
+        margin: 0 auto;
+        margin-top: 10px;
+        border-left: 0px;
+        border-right: 0px;
+        padding-left: 0px;
+        padding-right: 0px;
+        display: block;
+        background-color: black;
+        color: white;
+        font-family: 'Lucida Console', Monaco, monospace;
+        outline: none;
+      }
+    </style>
+  </head>
+  <body>
+    <a href="http://emscripten.org">
+      <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="296px" 
+   height="78px" 
+   viewBox="420 120 100 170"
+   enable-background="new 0 0 900 400"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="emscripten_powered_by_logo.svg"><metadata
+   id="metadata345"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs343"><linearGradient
+     y2="247.6265"
+     x2="225.1929"
+     y1="152.499"
+     x1="225.1929"
+     gradientUnits="userSpaceOnUse"
+     id="linearGradient5104"><stop
+   id="stop5106"
+   style="stop-color:#C1D72F"
+   offset="0.3227531" /><stop
+   id="stop5108"
+   style="stop-color:#BCD631"
+   offset="0.45119295" /><stop
+   id="stop5110"
+   style="stop-color:#AFD136"
+   offset="0.64491969" /><stop
+   id="stop5112"
+   style="stop-color:#ABD037"
+   offset="1" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.0123" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.3086" /><a:midPointStop
+   style="stop-color:#ABD037"
+   offset="1" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5120"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter
+     inkscape:collect="always"
+     id="filter5126"><feGaussianBlur
+       inkscape:collect="always"
+       stdDeviation="0.56377237"
+       id="feGaussianBlur5128" /></filter><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5134"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996" /></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1440"
+   inkscape:window-height="838"
+   id="namedview341"
+   showgrid="false"
+   inkscape:zoom="0.63555556"
+   inkscape:cx="224.82424"
+   inkscape:cy="-52.085109"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_1" /><g
+   id="g5130"
+   transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path
+     transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)"
+     id="path5122"
+     style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)"
+     d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc"
+     inkscape:connector-curvature="0"
+     d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z"
+     style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none"
+     id="path5080" /></g><path
+   fill="#E2E2E2"
+   d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36  c-2.646,0-4.8-2.153-4.8-4.8V165.236z"
+   id="path3" /><path
+   d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path5"
+   inkscape:connector-curvature="0"
+   style="fill:#e2e2e2" /><path
+   fill="#F5F5F5"
+   d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36  c-2.646,0-4.8-2.153-4.8-4.8V163.236z"
+   id="path7" /><g
+   id="g9"><g
+   id="g11"><path
+   fill="#FBFDF8"
+   d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663    c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path13" /><path
+   fill="#F0F4E1"
+   d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663    c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663    c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527    C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z"
+   id="path15" /></g><defs
+   id="defs17"><filter
+   id="Adobe_OpacityMaskFilter"
+   filterUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix20" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"
+   id="SVGID_1_"><g
+   filter="url(#Adobe_OpacityMaskFilter)"
+   id="g23"><image
+   overflow="visible"
+   width="422"
+   height="480"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAg2AAAQ4QAAF1b/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAeMBqQMBIgACEQEDEQH/ xACjAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAgEBAQAAAAAAAAAAAAAAAAAAAAEQAAEDAQQKAwAC AwEAAAAAAAABAwQCMRMUBRBQEjMVJQYWNgcgESEwI5AiMkARAAEBAwsEAQIFAwUBAAAAAAABMQID EFAycqOz0wQ0RaURIXGRIEFRMGEiExRAgRKh0SMzQxUSAQAAAAAAAAAAAAAAAAAAAJD/2gAMAwEA AhEDEQAAANUJsrZYFfFgV8WBXxYEL0ki5fo6GjJuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRu aRuaMHQ5dR3ojnJ9XxYFfFgV8WD0jxf2AodbslbAD6mDhlpLvI/qkuiovZL7CGzNfRCJwQacEGnB Bp0QSdEEnRBJ0QSdEEnRBJ3BBpwQacEHidwQXzPfBA6bBqK5w2nlKVH3iJitt+gAeweP+wFDrdkr Y+vmaN02k6+e3d2Gjo6N0c2zoyaM7xozuGluGluGluGluGluGluGluGluGluGluGluGnG8c/z1YO PVIfJF80xoIGPsfBVVrl6hIrD7+B7B4/7AUOt2StnXaYyxHTJ6ZKvrqb4x9MgAAAAAAAAAAAAAAA DGR8692Dh4pbkIKJscTVNiLdVY1+weP+wFDgJ+JLJORs3XbIc3dGz6ZAAAAAAAAAAAAAAAAAAAPn R0ayMi5uLqv1S51eIT2Dx/2AofB38Ra5uIm6kOzm6o+gAAAAAAAAAAAAAAAAAAAPj7+TkjJWNIOt 2et1WfYPH/YIofH2cZcJyEnKkenn6IyAAAAAAAAAAAAAAAAAAABjODmjZONIWt2WtVWPYPH/AGCK Hx9nIXGcg5ypLfo3xkAAAAAAAAAAAAAAAAAAADGcHPGyUaQ1astaqseweP8AsEUPk6+QuM7BTtSW 7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAA AAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4Oe OkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsH j/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYK dqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAA AAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f8AYIofJ18hcZ2Cnakt2ndGQAAAAAAAAAAAAAAAAAAA MZwc8dIxxDVmzVmqx7B4/wCwRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNm rNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr 5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3Rk AAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAA AAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ 1Zs1ZqseweP+wRQ+Tr4y5TkHOVJb9G+MgAAAAAAAAAAAAAAAAAAAYzg542SjSGrVlrVVj2Dx/wBg ih8fZxlxnIKcqT6ObpjIAAAAAAAAAAAAAAAAAAAGM4OeNkY0h61Za1VY9g8f9gih8Xbwlxm4GbqW 6uLrj7AAAAAAAAAAAAAAAAAAAA+fr5OaNkI0ia1Y61Vb9g8f9gihxknCl1m65N1OdsZ3x0ZxkAAA AAAAAAAAAAAAAAAAx8fek5ozui6jazYKsRPsHj/sEUOu2Ktlqn6XZ6scjBSRLbOPpjYxkAAAAAAA AAAAAAAAAAYfJjm+uM0xXVE1xVOZr0Y9g8f9gKHW7JWz7s1W6i9SdYlasXXB9pLbI7fHY5/s3NeT 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs DyhP1cpjbLcVojtDLY3QIn1qZU+yugebJDRKaJ7CVUvtq27o9geURaLx6C19JFbI7Y1QU0/WqFQd oH6CS2TG/wAzZrZd0ewPKMqo2n4VH5FoGKBunVTifj9JJpJdBnVH+mj2B5RkqfdcOki0jFJQn5qm pPx5CTSS6TOKf6tHsDyjI0/2hIRU/GUKbNU1DyfklCWhm6f06PYHlGRf9QkIqfjKCWapWx4kkszj daPYHlGQ2wrItjImqlseJJMM43Wj2B5RkNsEjWNarUeJJMM43Oj2B5RkNsEjWNarUeJJMM43Oj2B 5RkNsGyLY1qtR6ySTDONzo9geUZDbBsi2NarUesk2TDON1o9geUZDbBsjWNarUesk2TDON1o9geU ZDbBsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDb BsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsj WNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNa rUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUe skkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskk wzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzj daPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzjdaP YHlGQ2wbI1jWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJJMM43Oj2B 5RkNsGyNY1qtR4kkwzjc6PYHlGQ2wSNY1qtR4kkwzjc6PYHlGQ2wrItjImqlseJJMM43Wj2B5RkV sJSKv4yolmqVseJJLM43Wj2B5Rkf/UJSKv4ypTZqmoeX8kqS1M43Oj2B5Rki/wC0Koi1DKlC/mqa h5SSpLUzdf6tHsDyjJ6/p2HURaxiobX81TWv4/USaiXUZy59N6PYHlGXubEiE5+RaxisaqEXVCjl Q/WSayXX+Zy59ro9geUUVbNeXPpVRFdI7gzWUVfeqK6h2skOElwmu/ST3bx/R7A8oMpk/SxHiM8M OjThTX9iLqWqr6HHB50kOkp4zSVsUVKqro9geUDLit15fLSumM+MPjTw26UuCVH2moPsWoqcK3R1 4feJD5MkIiTpKvO6fYHlGiFLViuHLSpGJAzIGnyh8peKXRHEEcQ20NtDbQ2kNpDaQ2kNpDaQ2kNp DaQ2kNpDaQ2kNpDaQ2kNpDaQ2kNpDaQ20NtDbQVxBXEFdKnit8cfHpA/IJMn6TMp+0vw9geUaYU+ pmqJNprRmUNSRuSUSSmQgkgSQI+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X4r4sgWQV SCuSOSR2SPSiRLREzDMlUVVVfh7A8o+EeW4wsTNKKxmYijcsollMspliSxJZjDGIYxDGIYxDGIYx DGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxBZYssqllUsrljksdmISsxooSVmLjyqq r8vYHlHxRVRWZ77QznNI3mzSlGZUKU5hSJmKHEUOIocRQ4jScRQ4ihxFDiKHEUOIocRQ4ihxFDiK HEUOIocRQ4ihxFDiKHEUOIocRpOIocRQ4ihxFBcxQXMEKsxpHM1aQezmhB/M3nCquqtfn7A8o/hS utC9dL50vnS/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/ eL50vnS9dLytT7X+PrDhvHuTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOT HJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY/pP/aAAgBAgIGPwBR f//aAAgBAwIGPwBRf//aAAgBAQEGPwCPk8jmv2su47DV1z9uE90V5xHl7vuKrTXWMHDNdYwcM11j BwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHD NdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11 jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMH DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z"
+   transform="matrix(0.24 0 0 0.24 174.5615 142.499)"
+   id="image25"></image></g></mask><g
+   opacity="0.09"
+   mask="url(#SVGID_1_)"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   id="g27"><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M195.361,251.626    c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527    c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path29" /><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M255.024,152.499    c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527    c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527    c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499    L255.024,144.499z"
+   id="path31" /></g></g><g
+   id="g33"><g
+   id="g35"><linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="152.499"
+   x2="225.1929"
+   y2="247.6265"><stop
+   offset="0.0123"
+   style="stop-color:#C1D72F"
+   id="stop38" /><stop
+   offset="0.1394"
+   style="stop-color:#BCD631"
+   id="stop40" /><stop
+   offset="0.5859"
+   style="stop-color:#AFD136"
+   id="stop42" /><stop
+   offset="1"
+   style="stop-color:#ABD037"
+   id="stop44" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="0.3086"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="1"
+   style="stop-color:#ABD037" /></linearGradient><path
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527    c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path46"
+   fill="url(#SVGID_2_)" /></g><defs
+   id="defs48"><filter
+   id="Adobe_OpacityMaskFilter_1_"
+   filterUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix51" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"
+   id="SVGID_3_"><g
+   filter="url(#Adobe_OpacityMaskFilter_1_)"
+   id="g54"><image
+   overflow="visible"
+   width="356"
+   height="414"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAXBAAALIQAAEOP/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAaEBawMBIgACEQEDEQH/ xACYAAEAAgMBAQAAAAAAAAAAAAAABAcBBQYDAgEBAAAAAAAAAAAAAAAAAAAAABAAAAMIAwEAAgMB AAAAAAAAAAIGATIDBBQFFjZQMwcRECKQMRMSEQABAgQEBgEBBwQDAQAAAAAAAQIxcgMEEFCRsyGC M6PTNBFBIGFxEiIyE1GB0UKhscFiEgEAAAAAAAAAAAAAAAAAAACQ/9oADAMBAAIRAxEAAADy0npz Z0Dnx0DS7Q9kr0IKcIKeICeICeICeICeICeICeICeICeICeICeICeICfggp2CElQD1aXxOgc+O1s um7kKj5vpObG6d2Q9zspRA9JmSGmCHmWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIaYIeJo1sPe 4OK5C2tCVS3OmN5clN3IVHod9EOv6zWb0zkAAAAAAAAAAAAAAAAAMRJnwcVXltVuetyU3chUfp5+ 5YexhTgAAAAAAAAAAAAAAAAABjODUVxZNbnjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwaut rJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAA AAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjy Cx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1t ZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAA AAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQ WPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautr JrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAA AAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyC x5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZ NbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAA AAAAAAABjODV1tZNbHjclN3IVH7+HqWTO1uxMgAAAAAAAAAAAAAAAAAYzg1Vb2NXB5XJTdyFRx5G jLc3XG9SS2MgAAAAAAAAAAAAAAAAD4+ohqq47GvTa3JTdyFR830nNm/7qp+gLVk8fuDcZgehLRBL RBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBKQohP0MbkT40OcG8uSm7kKj5vpObAJm45sd n98SO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3xxI7PX84JcQAN5 clN3IAAAAAAAAAAAAAAAAAAAAAAAf//aAAgBAgABBQD+G3//2gAIAQMAAQUA/ht//9oACAEBAAEF AFgq7/bL9narGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxn arGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qx narGdqsZ2qxnarCYVyhn78PQNo/MCUmJhssm48QEScNrGJGEMQgjEIIxCCMQgjEIIxCCMQgjEIIx CCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIQakYQOlI bGTCajw2R5SPLm/KK2gegbR+LVYzzDZGzFKyBaysYS3FYGSBBQkFCQUJBQkFCQUJBQkFCQUJBQkF CQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQNkCA9uK0R7WVrJ+ykMy6WI8BrW NY0IraB6BtAsdqbMHtttYxkvKFKxhCs4JpCtExKFMy5W5jWX22NgRAitoHoG0SsBsePZZFhSSkuw peFm5dhi3qRKYk1BbAjoraB6BtCcl/8ASYtUBjCkL8Lwp2fS3WCxpVDA/wA5lFbQPQNoShGNLbif CcM3+roX9VQz4ZFbQPQNoSLP0t7P04e5uql5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW 0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5F bQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnk VtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqe RW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp 5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6q nkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubq qeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5u qp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m 6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSLlvb+nD3N1UvIraB6BtCTN8Jbj /ScM3+rob9VQ36ZFbQPQNoTUx/xGtcdjSlb9ZwsRvwt1jMYVRR/+5hFbQPQNokZinmbPOsaWVjsM XhZuOwpbxOsYWcjtjzCK2gegbQLDdv8ANtuuDGsgTJTMYZjeCaZjBHmSlZcbgxjL9dGxDBFbQPQN oDGtK2z31pBJXYrWQLmVrCz5Whk8QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFa QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkDZ4gNPkYI9zKxk7dysZdr80zTGaZoRW0D0DaPzK3Oalmyy oYwEVEv8yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGV S4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXB1RL/JlUMMyauU1Mt/KK2gegbRxaK2jj/wD/ 2gAIAQICBj8AG3//2gAIAQMCBj8AG3//2gAIAQEBBj8Ar2djdfxW7G01az+Ok74VzEcvF7FWJ73Z o+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+ M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M9 7s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s 0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+Ms7O7u/5Leq5yVGfx0m/KIxzotYixTC5kpbbfsfFJir 9/0EWo74+5qHH8y/3IO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U g7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U4fmT+5803fP3Kn+D4qsVP v+n2LCd22/C5kpbbcUqVkX4+jf8AIiI34QTgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIEBe AqK1FRfuFqUE/SkWf4PhY4WE7tt+FzJS224JWqJw+f0ov/YnATgcMi4i8BeAtdifpX9yf+4WE7tt +FzJS22jKSfVeP4DUROCCcMmXgORU4KPpL/qvD8CwndtvwuZKW20dUVIcEE4Hxkyi8BHon7uC/2L Cd22/C5kpbbT5/8AoTKFG/iWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttp zKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+Fz JS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu 234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFG zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k="
+   transform="matrix(0.24 0 0 0.24 182.5615 150.499)"
+   id="image56"></image></g></mask><g
+   opacity="0.35"
+   mask="url(#SVGID_3_)"
+   a:adobe-opacity-share="1"
+   id="g58"><path
+   a:adobe-opacity-share="0"
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663    c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path60"
+   fill="#1D2915" /></g></g><linearGradient
+   id="SVGID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="226.1924"
+   y1="159.7139"
+   x2="226.1924"
+   y2="200"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop63" /><stop
+   offset="0.3788"
+   style="stop-color:#F8FBF3"
+   id="stop65" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop67" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.4383"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></linearGradient><polygon
+   fill="url(#SVGID_4_)"
+   points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61   227.655,173.61 236.978,159.714 "
+   id="polygon69" /><g
+   id="g71"><g
+   id="g73"><g
+   id="g75"><image
+   overflow="visible"
+   opacity="0.75"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="392"
+   height="242"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAD2CAYAAADF97BZAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHohJREFUeNrsnYlu40gSBZMU5Z75 /4+dbUsiFwtY2JrqvIqHSEoRACFZPtqk3BV8WVcvAAAACXouAQAAIAwAAEAYAADwWgYuwSp0XAKA wzJxCRAGIgCANf8fIxaE8RIxIBaA8yeMDokgjLkNfLfyzwOAfWTRNX49EkEY5h9N6+sIAuC8/++n mXKZjJ/5UfIYPuyPRXut9WOEAXDuxOGJYEqKZPpEebyjMOYKoTO+BmEAfIYwSjG0JJFaHm8rjncS RkYE2uutwkAgAO8liezzTPqY3jl1vIMwooa+fi0SRvQzshIBgHMKYwpez5Su3jJ1nFUYLWWlznne KpHW5AEAx5fF5Aijfi0jDy91nFocZxRGJgnUMvDkkf3arDiQCMD+YshIwxKE93xy5CGJ1HFqcZxJ GEsE4b0WHa3JA2EAHEcYU8PjlJREdESp47TiOIMwIlG0yqEPPl4iDmQBcCxpZMtOmWNs+Fy2n6M7 kzSOLIy5oogk0SsfZwWCNADeSxhZMYzGYy2I8uslIY5TpY2jCiMzsikjCO2xDz4fiaNFGggDYD9h LJGF9uh9rq8+7hxxWLI4vDiOJozsKCdPFJoc5ry2JG0gDYDzJouxOrTXLJHUsuiKz4uROurS1GHL VEcShpcqNGFoZSZLBBfla6zXO0MeGXGQMgCOkyyyopgCMfzveDifs44yRdQlLKtEdei0cRRhaLKI UkXZoFtCeH7uUn3dJfF9UV8HwgA4tzDG6nktjYfy/OF8zhJLZ0hjEns01SHTxt7C8EpQmdKTlhQu lSguxmu1TLSfNac8hTQAji+MMZEsahHUx6g8743v1aQxOudzSGnsKYyoBOUlCk0StQQGRRrW4aUO bWRVpj8DYQDsI4xaFJEwPFk8FGHcDYGUR1/Jon7uzf84bIlqL2FkS1BWP8XFSRKDIozBEclgiMPq CJ8rDSQCsI0cWmWRTRaWDO7BYy2OXhFH2SE+BudymLSxhzAsWbSkCk8S3vNBkUdGGJE06pTUIgTE AbCOKLRylCYNqxyVTRV347gYX9sr4nhUotDKVPXw292l8WphtMrCSxWeEOrjqghDE0hUlrKkYaUL ZACwj1S8lBGli1oYWpL433Eznl8qWdxFL2trfRsiev/GIaTxSmFkJ99po5+0RBHJoXy8Bt+j9WmU /743qU/E7vxGGgD7JBBrCRCvs9sqRd2NZHErRDEY4iiTxV1p72ppiPx/IqDVr7GbNF4ljBZZaKnC E0UtBu3jq5E0PGFcgpJUH8gCcQDsJworXWQTRiSMWyWM5/Oheu3ZltzFLmk/lPbhkCOoXiEMreHM 9FVYsrhWz8vjS3lNE8dglKiyHd9ewqAsBbB/KcoThjbvwhpCG6WL8vgu2pRb0XbdnGpFKY26vbCG 3u4mja2Fkemz8EpQZWOulZq+gkdNIlFZaq4wBGkAHFYWIm2d3lG6uFeiKNPFt9Ku3ESfEOyJY3TS xi7S2FIYc2ThpQpLFF/Bx6U4auFckiWpFlkgCoBjiCPb8T01Jow6WVx/JHEtZPEt+oCaaD6XRUYa b1OSapXFEJSdsodVporKUZlRUpEsEAbAcaWhpYx6WK02lPamSKOWxVBIo1UY3QJpbC6PrYTROhLK SxW1LH5VUvhlvG5JQ0sXWv/FReYNp0UaAPvKYq4wxoQwvIQRlbojYayRNDaVxhbCaFmKXJNFPcrp q5LFL0UUGWlE6UJ7Y7MT9hAGwDmFEaUMb/5F3X/hjb70hulnZVFL4/Sd3l2iLNUHsrBKUL+M48v4 2EoX0ZvqlaIEYQCcWhalNKwNkrz5GPeftuRWtCk30ed8aUsYzU0WdZoo25ZaHJsJZMuSVMs8i6iv opbEX4FAnt+jdXZnZaEtby6IAuBtUsac/oxaGoPy6A2mWZoupiJldK8uTa0pjLmlKK2DOxLFX8br WllKG5Lbsn4UO+0BII1B/uzLqG9Av+XPKQHZNsU7H22IcF2e0qRx2ISRkYU1g3sISlB/KY9/OUlD 67vIyOKSKEO1JAzEAbCfKFqF4c0CL1PGUKSNm9hr1LXchHYJWYjoy4RYZSnZQhxbz8OIRDEYwvhl SOIvQxh/KenC6+hu7eSOpIEwAM4hjCXSuBRp47lW1F1p16wtoFvShSYLa++MUV7Un7GGMFpKUV66 qPssaln8bUijFoY1u9vbOGnp8NkucX0A4LWyEGmbCT6KvnzIWMjiUcgjsyGbdQOa+V0nyW/p2r2i NLVmSWqJLLR0Ycnib6ck5U3S85JFy8KCSzq5kQfA9pJokUX52AdJo6/EkVmwdM6ci2nG0TmyWE0c S4URDaPN9ltkZPG3U5bS5l1kFhecu2w55SeAfcl0FncJgXh9G30hivqxXIE2Gl3ZO6KIymPZo0xI m/VjrFWSmjsqanBkYfVd/K2kC6uj25JFZ7yxraJAEADHF8pUvTYFjbZUd+5T0UY8hfEQfapAZnRl lCpG0eeHaB/XKcOS5CriGFZ6Qyx5aPMuhiBZ/FJkoaUMTRblMNpoFvfS3fOQBcB55DEp/3e9DuJa GE9ZWO1bpvRkNeZWp7u1Z0emNDUp579YGsOCNyBKF9HIqEFp7K1U4Q2lteZcWOu4tM6xoAQF8H7S EKN0Uz9qd/B90Xh3ku+r6IxUMTpHuWWsdvRGacrr09g9YWTnW7RM0rPKU9oyIN7CgpYs1twxD3EA HJcp+f9UuxPvFGnMFUUXpANLGJ5Qyu+t/+1Ddnp3iXKUNu/iy0gYvyQ/Qa8cGaUt+5FJFiJtI5+Q A8D50kVGIpNy0zgtkIYY/0b5PLOnuHZcqpTRK0nIK0+9TBjZLVfnzOrOJI0vQxbafAuvzyJbfmK4 LMB7JAzv/+zU8H+9lEZL2zApopgMcURHVJrqRO+72a0Pw0oX0YZIVsKIylDWkuVav0UpK2upj7mi QA4A504YnkCmoLpQfm/r3hbWarmRHJ5rV3kpwytNaalqljiGhRc+U4qKNkb6ctJFnSa0uRaaLC7J ZEEZCgCBRCOoLHFMxd19JuVEndyeMLIpo98yZcwtSWWXL5/bf/El9kioL7H3tYhmW1rpYm4pCgDe RyCt4pCigRaxZ297w2fHIFWU6aJ8HOTf61uVbd5mKWOYcVFb08Wc/bm1RQTrVFH3WViy6INUgSgA oEUcWn9HL7kFEOtS1BiIojy+5P97cdSlqUfVDnspYzZLh9Vq+3Rn5mBcE6KwtlgtReEli16YiAcA 64vDayt65XszQ2ejhFFu3FTuxfFQksYo+kitXfowOrFHSnmlqGgLVi9daEt9ZCbmibAzHgBsK46u kIFUlY3pp416CmNIlqNulShuRVtYbuB0r26aR6MsNYm/d8aqwpi7DEhm74urU36K9rTQ1p23Fg9E FgCwpjjqmeFdlTK8ctS1eNT2DP+qZPFVSOMm+grcUV/G4s7v1j6MOcuYe3MwNGl8KV8b7cFd/w4i /pR8RAEAc8QRSUOqlPH8+jpljEVJqZbGl5Iq6qPc7e9eScPry5AlKWONeRjeUNpLUI7SEsUg9sxt bwZ3L/RVAMBr04bXCT5Wpam6XF+WpK7y7z6Ka5EqynQxiL2DaC/xaKnNJ+5Fayi1jpQagtKTNXN7 SKSLaClhZAEAa6cNSxrlXX5fpYyxaNdqadyVdnBuyli187ufeaG0foJMyhgMMdSlp0wZykoXIu3b qAIAzE0b2nNtBGl2YdbBaRsHJ2W0rMg9q23sGy5My2S9PnExhsTFyG6BmHkDAQBeLRFNGpeqNOXt RJppG7Wb6i6Qxiz6hpP3RNIHCSNj0swF6WaUopAFALwyZWRvri1xXIL2sWVqQbR67qrCaEkaLUNr 6wtxCWRh7ZVryQFJAMAe0ojazWe7dWlsI6/JhKG1l6KUoma1lf3Ci2RdiGyyuIg+CspbRLA3TD7n jQQA2EIe0Y21Nw1hUB6z0sgkDC8dLRZGNlVkR0hZpSdLFpfkBVhkTgCADVJGZoM5qyLjyaN1o7hV +jH6mTHL2gcjugjWBfHKUN1WJw8AsFG6iGSRLeNn2spoFOlqbWXfeDG6IHK1ysI76cyOeaQLADhr maqfIY2L5Pt5rQ7vzYfVZspUfXC0CsLq5LbGEgMAnC1laP0Z1giqls7ubBl/k07vaOiYtp6TdjKa JKJJJ9n5FqQLADhj2vCG20Y33NlSVNfwu62SMLqkNb2E0SviyMzgXrUOBwDw4pThrY6R6QPOVmo2 7fvNTNzrgs9F9bhIHH3ihC07C+kCAE4mE00ctUCiakymhN+vfZPdz4gm2fHFXSALK0V409pFWPID AM6XNrwUklnANSpZzRlS29x+zllLqiVpZBKHNwoqE6OQBgAcXRTeIoCd0x564siW8K2RUs0MMy9E 9tBOwNv4KFtjQxwA8C5C8drOLlmlya4h5a21Fy513q948llbdo48okglQn8FAJxLCt68Ma1Bt9pD 7fW1O7q7LYQRxausLaPaGivPAsC7yyTbZnZiTznIyENk4UipfuZJtp68VXLyxJGZoEfaAIAzSaJl TtuaCWOVdrJ18UHrJCNZRFErU3ZCCgDwjglDa+u6GQkjszjr5sLIJI2oA8dLGtKYMBAHAJxVDJ4s Mmv1ZWURlaNeKgxJnmBmT9kueZFFKEEBwGdJJjui9CU7j/YrnJTX6Gcn3m1SbwMAOEnyyDT4SxNF tGrtLGF4nc3euN7MbMKsGDIlKMQCAO8kjeyNdIs0Vm0vt+jDiGQS2TVbtgIAOKMkoopMa5uaEc4q 9C+8EF4UmyMpAIB3Tx4tfcGb32T3G52sVzN7iQkBAA4ogJYbbetjbxe9zFp8s8v8/Y4XCQAAkeiN uwSJQiQ3qbn1Jn/zhNHNuDCR5RAKAHyKLDKfjxJG9t/YpdNbpH1/7ZY4BgDw6TKJSvWtW0Espt/g ROes/eQtxYtQAAAOsJFc/6KTmxPJAADAF8RL29F+5xMHAEAGfz5fvHfFFu1tf8ILCgDwbrLIrAi+ xs/+CGEAACCX/FpTm9x4IwwAgPMkka2+/jDCoJwEAPAGbSoJAwDgwxr+owuDlAEAcHJIGAAAgDAA AD6At5jpDQAAJAwAAPikdIEwAAAAYQAAAMIAAACEAQAACAMAABAGAAAgDAAAAIQBAAAIAwAAEAYA ACAMAABAGAAAgDAAAABhAAAAIAwAAEAYAACAMAAAAGEAAADCAAAAhAEAAAgDAAAAYQAAAMIAAACE AQAACAMAABAGAAAgDAAAQBgAAAAIAwAAEAYAACAMAABAGAAAgDAAAABhAAAAwgAAAEAYAACAMAAA AGEAAADCAAAAhAEAAAgDAAAQBgAAAMIAAACEAQDwMUwIAwAASBgAAHDOlIEwAADgUMKYuNQAAOdu F0kYAABwGGGQLgAA1mtHd2tTSRgAAOeThvX58vhYYZBSAOBTJDAl0sXU0EauJhESBgDA/tKoG/U1 GvnVk0a/08UhNQAArJtENqff4KQydbTpyBcFAODA0titA7xf+MtPM09YuwDT1nEKAOCEaSLqw5he 1Wb2K51c5hedErYkUQDAJ0ohalen4KZ9esXN9h4zvefIBQDgE6QxSVyJmSRXllq9xN9vdBEiM2ai FwDAp0hjMm6sWxKGN9oqandTbW+/0clnkkXr8DFkAgBnl8KcG+dJ/AFFU9DGZqUQ3uT3G1yUKGJ5 1pyEkVIA8BkCySSOKHVMiTZ2tfazn3liU/IEopPPXBhkAQDvKIu5N9JTcGx2o903xpLopDIXyJNB JIgp+XsCAJxBHNkb6czN+ZT8Ppl7Q96vcNItJxHZUoKTRBAA8K4CiYbIPp+PDW1t5qb+ZcKQwIxZ C3oJA2kAwLumi0w7OiqSGKWtI3yV9rNPntyc2KQdkRk9cQAAvIscJidZWG3mqHy89IZ804SR6Zix RDFWJzlK23Axz4zIBQDOJBCRuDQ/OqLItKOrDx5asw/DkoRmxFH5mlH8OhzDbQHg3WQRtZuZhDE6 clky9201YURlqDFIGGODGT0rAwCcVRxRKX9MtJ8tJarF7WffcIJZY3mmtKJVFK+s+AYAcBYxRJ+L Sk5jcMzp12iq2myVMFpO0CpXtdoRgQDAGSQSdW5bCePRII1R8h3tL1lLaq4kyhN/SNwhHtkaUQDA UdOFVRXxkoUmh0fQfmZK/SILy/t94mS9dUsiI3on6J209jNF4o5w5AEAZxFHNM/iURxLZbFKGT+7 ltSUSBjRCKjoRB/BBaQjHADOKAmvKqP1UTyM9jFqQz2BaL/D6sJoPenROdHoKC+EVdfLCAJ5AMCR xJGpzHg32I9EW9pSltosYXiiECNWRXW4R0PUmrOoFgDAEdOFJpEoSTyPe/U4VxpzfvdFCSNKGi1W fF6Au7T1a7SsagsAsHe6EMmVo7yb63tSFF5ZalHq6Gc2utnRUZEkshdgSpw8ogCAI6YLWUEUd+fj pQkj3W6uMXEvEkdWEnfR63abxSsAgBeki7k32Hfj0BJH3W5uMlqqbzh5TyCtUSpzEVpKU6QMADhi uvCE8VBuqj1R3IMb72iY7WLmrlabnXuRsWXGng/xZ4KTMgDgiOlCGiowLdKIOr6jzetm7ZGx1bDa TN/F87glLkhLR44IczQAYL90kZnYbI2EqtvEW4M8Mqt/L2of+4YLEfVfaOb0TvJWXIybcWE8e86Z owEAsJUsrOkGmVLUXZFG1D5mb7BXm4vRz7worQkjEsVNsanVqROtzLjYogAAM2URdXA/GtrIW0Ic L524Nyy4UJm+jEdwEerj+vM4/DxeiuN/P6P7kdz487z7ed4rF6P7ea0rfueOv3EA2KAMJZLbEygr iqjNbE0X2u/YfEM9JC9MV/3gLlGWsmpz1vH98/uUx70QRl8cXXFIJY5IGoI4AGBFWbR0cFtTDeo2 8ltpH7W+jUyHt7fH92YJY3JEkZFFfVG+fxLFd5EsbkXCGKqEEQmjThmlLOp0QdoAgLVkUYujbrSt AUC3QBLWa9mEYW0V8fKSVH1xygbbGjJWlppuijQG5Yhk0SmJoa+k4EmDtAEAS0RRPnorz1ojoer2 sD40aUQDgzJbts5KGUPDxeoco0bjiy9KuhgUWVyLz1+MhOEJoyt+v1H5Gk0SpA0AyIoiksUYVFse jizqR00ac6YeTMnzWj1haHfpVsdOb0SwoUgadbK4FsmiTBnZhNFVKUNDEwdpAwCyohCZtyzSwyhD 1cdvI2lEKcOTxSpTEJb0YZSNb1mailLGUxpRGWqoRKHJonMa+k7aO8ERBwCiiEShVVesEaLlTbM1 2Oe3IwpLGLdkyvDKaZsnDE0cXSGLTMrISKNMFhdHFpYwpkIWnZM4InEgDwBEYcnCWnVWW+LDE0Ut jUgcmc7uVdeQWiIMcS5iJmXcqpLTt/w5IqpFFlGjXs/b6BrEQeoAQBTRpLxphiwsUXji8EpSWv+F yEqd3XOFMTl34V7KuFelpUtwaGWovlEW5UXqg5SRKU1NhmQA4NyCyIpCjGShDZ3V5lV8B3L4bXzu OyhFeSOkWs5/s4RhDVEt7+QfRUNfSqNMGV6qqKXRBymjlsTFKFPV3zsVH7eUpqagzAUAxxRDNmFk k8XDSBfaCKhaCv/5OTxpRB3eXt/FquvtrdGHUd+p18t2PIqGXytNXZTk4U3Sy7zxtTiespjEHmk1 JctVmWQDAOcSibXQamYDJGvobCmL34njP+L3YWRLUasOpS25zPy+srPZKhFpX+Md3pDZqA+j5Y9k 6UXrFn4eAPZPGNnyU3borCaLm1KG+k+VLLzDG17rSWOTdLFEGCJ+B7IllEgCEryWbaCjWZlrxVlE AXA+cSyRxST6sFlNFjdHFnU5yhPGb0cW1gipTSofwwpvRl3S0dZ+19JEn0waljCiIW7Px6EqS12K z2n9IyL+pEBGTQGcUxaZ5T2iDm5v8yNtUp7VZ/FPQ7Lw9gpqWdJ8t+XNPVlIUhqZklSXSBGj2JNn roU0xh9ZjIU4ns9HRxzWo9dBjlAAjlOGmgJJiCzbz8KSxbfofRSRLH47Zaho7oXIhpvKrTUPo1N+ wbFoOLPSyAgjMw66vJClLMpjlD9HYdXikMSjJocu+SYhFYBlMmhJFa2y0EZCZWRxE33IbC2Hf6rH WhatI6M230RurZKUNcy2FkerNLw33lvw6/mmXos3tlyj6iH6aKw+WRaLZIEgAPYTSKs0rEUEvdFQ 1uZH2qQ8r5/iH4k7uVtGRmlltdVYM2FYb9RYNbgZaXiNq/amWtseatJ4iD9JcKk0WjrnAWB7aXhr QXk3oJP4o6G0mdzakh9WZ/c/Ys/DiFanrTdM8q7BoUpSUWmqbOSz0rB+flSGeiSkcRF7rw1vhrlI bhgx0gDYVxhT0GjWd+FjsmJxF31TuGg2dzSk9rdRjlpj7+7DJYxsaapMG1oDG02Es5ZR90RRvsHP pdOfW79mpZFdUh1hABxfGN5EvKws6r6Let8Kq/8imt3tLWWe2fNis1LUFgnDeyNHpeF8JGThJYxo 8kx5J3AtJHFVUoa1LIkmjH6mMJAFwPbCyHZyjzOqFlay0Pa1aJnR7Y2KinbV82SxujS2Kklpo4Qm RRwtPzsShZUqvooL/0wX9QZN1gq5njhE2kZSIQ2A7WQxNT5qZai6P3SU3G559RIgVsqwEoW1wGA0 jFacEtQpEoYnjXLOQ7bxzAyh9UYtfBXiuMq/d/UbnKShiWOuNJAFwHGkYQnj0ZAublU5yts5L1qy /DuQRVSCispzpyhJlfLwImGLLKw+DC8yluIYKnFo0uiN8hTSAHgfYYwSz+HKlqIyW61qaULbqzsq Q2X7LTaTx7DRm9gF4sjKQpKi8IRx/XkjalnUfRmeNCxhRP0ZCAPgGMLwZDGJP4imlsXdKEdF+3Pf xO+rqDu4DyWLLRNG1J8RScMaAjc69UUrXVyrhOGVpYbGlIEwAM6TLsZkwshULW4N0rgpj9oM7nr4 bKss3qIkNVcaIvl16LWRUc9SVJkwhiphWH0ZLSlj7dngANAuCi1R1M+z6WIUe85FnTK+FWnclBRR J4rspLwWWWwujuGFb3KLNDL9F1Z0/DJKUbUwWstSnjSQBcDxpRHJIprRHaWMmyEIL1FEqSLb0X36 Tu9SFFlpTOKvSZ8dVntVRKEJo+78tvYWvyQSBsIAOFZJKhKG1p6MTtXCGimlPY9E8RB9BvdDkdok L1qN9ggJo0Ua2T0vvIRxlT/7MKwSVDS8NprINzdlIA6AdUQRJYy6HOUtLGi1KZnSlCWSjChaS1C7 yGKPklQkDS1teEnjUr3JQ/H4nKh3q4RxUaRxCRJGZngtHd8Ax0oYmXJUZq+LaB0p77WHxP0UD4nX htqlz2IvYWSkMUnbHhhjII5aCjcjTXjlqOxcjEgaiAJge3FkN0NqmYORKU9ZcmhJFNYM7sPI4tXC mFue0t703hFH+ca2pIkoXWRkkU0ZHogFoK1BbNk9L+rH8OZ5ZYRgPc+Iwis/7S6LPYThSUOTxyh/ 7hNei6N+oy/y7z0v7skk4fVdZIWxRBaIAmC+OLKyyHZ+eyth3wOpRENkWzc/OoQs9hJGNmlMSmNc v+F9lTZ6+fduehdFHPXn+oQoMsIQsffKQAwA24ukRRqZlOF1hkevWf0To1IWkzPIYk9hlCffGc8l SBudkjaejXmdNHrjMRLEnHSBMAD2k4WIP2CmRRqePEbxl/Cw0kRUftp1nsWRhdFaotI6xbW00RWl qmfi0NJDS5pAGADnF4ZIbk0pSxjWx1lJjOL3URwyVRxNGFrasGRRp43668dKFmVD/0gKwtqiNdrn m/kXAPsJQyS3rPmkNN7185bDks00s/R0WFkcSRiiJAxLIJNxh1+nkzFICr3zemY01JzlzZEGwD7C kERpKtv4j4mUUm9L3ZImpqNe+OHAfwzRwoWROLoqcXTiL1MepYmlu+0hCoDXlaZapZFJHlMghslJ FJnf7dCyOKoworSREYcYAukqeWTkQKoAeO+kIQl5eK+PkptDccpUcRZhiPgjqTKd4p2TRGSGIJYI A2kAbC+LrDBE8qOpWo45SWI6y0UfTvbHEZWp6mSSafQzH4vkJ+chDIB9hRHdxWdGKUWL/0Wd2G8l irMJQ5OBKOnDk4bX6GdSw1qLCyINgNcKo0UakUhE5o1yOrUozioMcWTRkjqyKSGbJOjgBjiuSLyG u6V/YU5fxFuI4szC0N6MOaljmiGDTOkJUQAcM31MM59PC37GW4jiXYShiUMkP7JK+16SBMBnp45s w9/6McI48B9GlDrq2eNTQjgIA+D9hLH11yCME6cOCdJHy89AGADnFEbm89PCr0UYb5A6ZIFAsn8o SATguIJo+fppxX8HYZz8D6n75DcfAGE0ff3HtxEDf1ipdNDyh9LxhwVwOmkgB4Sx6h9Kxx8aAGJB GLDmHxb9FwCIAGEAf6gA8Ln0XAIAAEAYAACAMAAAAGEAAADCAACAs/JfAQYAL3iXmIlSiu4AAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 179.2061 198.1514)"
+   id="image77"></image><g
+   id="g79"><radialGradient
+   id="SVGID_5_"
+   cx="225.1929"
+   cy="226.1387"
+   r="30.8299"
+   gradientTransform="matrix(1 0 0 0.75 0 56.5347)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop82" /><stop
+   offset="0.4828"
+   style="stop-color:#FDFEFB"
+   id="stop84" /><stop
+   offset="0.7611"
+   style="stop-color:#F8FBF3"
+   id="stop86" /><stop
+   offset="0.989"
+   style="stop-color:#F2F8E8"
+   id="stop88" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop90" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.8025"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><path
+   fill="url(#SVGID_5_)"
+   d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801      v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path92" /><path
+   fill="none"
+   stroke="#EDF5E5"
+   stroke-width="5"
+   stroke-miterlimit="10"
+   d="M186.706,235.825      c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801      h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path94" /></g></g><path
+   opacity="0.74"
+   fill="#FFFFFF"
+   a:adobe-blending-mode="lighten"
+   d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107    v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324    c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z"
+   id="path96" /><linearGradient
+   id="SVGID_6_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="204.3135"
+   x2="225.1929"
+   y2="246.626"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0"
+   id="stop99" /><stop
+   offset="0.0141"
+   style="stop-color:#FDFDFC;stop-opacity:2.231669e-04"
+   id="stop101" /><stop
+   offset="0.1344"
+   style="stop-color:#BEBEAF;stop-opacity:0.0148"
+   id="stop103" /><stop
+   offset="0.2565"
+   style="stop-color:#94957C;stop-opacity:0.0297"
+   id="stop105" /><stop
+   offset="0.3796"
+   style="stop-color:#747759;stop-opacity:0.0446"
+   id="stop107" /><stop
+   offset="0.5029"
+   style="stop-color:#5D633F;stop-opacity:0.0596"
+   id="stop109" /><stop
+   offset="0.6263"
+   style="stop-color:#4D552E;stop-opacity:0.0746"
+   id="stop111" /><stop
+   offset="0.75"
+   style="stop-color:#414B23;stop-opacity:0.0896"
+   id="stop113" /><stop
+   offset="0.8742"
+   style="stop-color:#3B461E;stop-opacity:0.1047"
+   id="stop115" /><stop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12"
+   id="stop117" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="0.2901"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path
+   fill="url(#SVGID_6_)"
+   a:adobe-blending-mode="darken"
+   d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801    h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962    c0,0,10.063,0.328,10.801,10.799V221.954z"
+   id="path119" /></g><g
+   id="g121"><g
+   id="g123"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 216.5547)"
+   id="image125"></image><g
+   id="g127"><radialGradient
+   id="SVGID_7_"
+   cx="202.6289"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop130" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop132" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop134" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_7_)"
+   cx="202.629"
+   cy="219.704"
+   r="2.999"
+   id="circle136" /></g></g><g
+   id="g138"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 213.9448 216.5547)"
+   id="image140"></image><g
+   id="g142"><radialGradient
+   id="SVGID_8_"
+   cx="217.5439"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop145" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop147" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop149" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_8_)"
+   cx="217.544"
+   cy="219.704"
+   r="2.999"
+   id="circle151" /></g></g><g
+   id="g153"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 216.5547)"
+   id="image155"></image><g
+   id="g157"><radialGradient
+   id="SVGID_9_"
+   cx="232.459"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop160" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop162" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop164" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_9_)"
+   cx="232.459"
+   cy="219.704"
+   r="2.999"
+   id="circle166" /></g></g><g
+   id="g168"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 243.7749 216.5547)"
+   id="image170"></image><g
+   id="g172"><radialGradient
+   id="SVGID_10_"
+   cx="247.374"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop175" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop177" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop179" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_10_)"
+   cx="247.374"
+   cy="219.704"
+   r="2.999"
+   id="circle181" /></g></g><g
+   id="g183"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 230.2217)"
+   id="image185"></image><g
+   id="g187"><radialGradient
+   id="SVGID_11_"
+   cx="202.6289"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop190" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop192" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop194" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_11_)"
+   cx="202.629"
+   cy="233.37"
+   r="2.999"
+   id="circle196" /></g></g><g
+   id="g198"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 213.9448 230.2217)"
+   id="image200"></image><g
+   id="g202"><radialGradient
+   id="SVGID_12_"
+   cx="217.5439"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop205" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop207" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop209" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_12_)"
+   cx="217.544"
+   cy="233.37"
+   r="2.999"
+   id="circle211" /></g></g><g
+   id="g213"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 230.2217)"
+   id="image215"></image><g
+   id="g217"><radialGradient
+   id="SVGID_13_"
+   cx="232.459"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop220" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop222" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop224" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_13_)"
+   cx="232.459"
+   cy="233.37"
+   r="2.999"
+   id="circle226" /></g></g><g
+   id="g228"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 243.7749 230.2217)"
+   id="image230"></image><g
+   id="g232"><radialGradient
+   id="SVGID_14_"
+   cx="247.374"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop235" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop237" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop239" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_14_)"
+   cx="247.374"
+   cy="233.37"
+   r="2.999"
+   id="circle241" /></g></g></g></g><path
+   d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path243"
+   inkscape:connector-curvature="0"
+   style="fill:#f5f5f5" /><g
+   id="g245"
+   transform="translate(0,16)"><g
+   id="g247"><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path249"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path251"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path253"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path255"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path257"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path259"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path261"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path263"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path265"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path267"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /></g><g
+   id="g269"><linearGradient
+   id="SVGID_15_"
+   gradientUnits="userSpaceOnUse"
+   x1="324.1611"
+   y1="239.7637"
+   x2="324.1611"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop272" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop274" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path276"
+   style="fill:url(#SVGID_15_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_16_"
+   gradientUnits="userSpaceOnUse"
+   x1="377.45459"
+   y1="239.7637"
+   x2="377.45459"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop279" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop281" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path283"
+   style="fill:url(#SVGID_16_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_17_"
+   gradientUnits="userSpaceOnUse"
+   x1="435.17719"
+   y1="239.7637"
+   x2="435.17719"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop286" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop288" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path290"
+   style="fill:url(#SVGID_17_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_18_"
+   gradientUnits="userSpaceOnUse"
+   x1="474.83691"
+   y1="239.7637"
+   x2="474.83691"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop293" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop295" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path297"
+   style="fill:url(#SVGID_18_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_19_"
+   gradientUnits="userSpaceOnUse"
+   x1="512.28223"
+   y1="239.7637"
+   x2="512.28223"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop300" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop302" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path304"
+   style="fill:url(#SVGID_19_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_20_"
+   gradientUnits="userSpaceOnUse"
+   x1="546.65918"
+   y1="239.7637"
+   x2="546.65918"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop307" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop309" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path311"
+   style="fill:url(#SVGID_20_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_21_"
+   gradientUnits="userSpaceOnUse"
+   x1="580.69629"
+   y1="239.7637"
+   x2="580.69629"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop314" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop316" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path318"
+   style="fill:url(#SVGID_21_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_22_"
+   gradientUnits="userSpaceOnUse"
+   x1="622.7832"
+   y1="239.7637"
+   x2="622.7832"
+   y2="155.3268"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop321" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop323" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path325"
+   style="fill:url(#SVGID_22_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_23_"
+   gradientUnits="userSpaceOnUse"
+   x1="655.6709"
+   y1="239.7637"
+   x2="655.6709"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop328" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop330" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path332"
+   style="fill:url(#SVGID_23_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_24_"
+   gradientUnits="userSpaceOnUse"
+   x1="697.92969"
+   y1="239.7637"
+   x2="697.92969"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop335" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop337" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path339"
+   style="fill:url(#SVGID_24_)"
+   inkscape:connector-curvature="0" /></g></g><g
+   id="g4141"
+   transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g
+   id="g4143"></g><g
+   id="g4165"><linearGradient
+   y2="155.3275"
+   x2="324.1611"
+   y1="239.7637"
+   x1="324.1611"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4167"><stop
+   id="stop4169"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4171"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="377.45459"
+   y1="239.7637"
+   x1="377.45459"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4175"><stop
+   id="stop4177"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4179"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="435.17719"
+   y1="239.7637"
+   x1="435.17719"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4183"><stop
+   id="stop4185"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4187"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="474.83691"
+   y1="239.7637"
+   x1="474.83691"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4191"><stop
+   id="stop4193"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4195"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="512.28223"
+   y1="239.7637"
+   x1="512.28223"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4199"><stop
+   id="stop4201"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4203"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="546.65918"
+   y1="239.7637"
+   x1="546.65918"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4207"><stop
+   id="stop4209"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4211"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="580.69629"
+   y1="239.7637"
+   x1="580.69629"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4215"><stop
+   id="stop4217"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4219"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3268"
+   x2="622.7832"
+   y1="239.7637"
+   x1="622.7832"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4223"><stop
+   id="stop4225"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4227"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="655.6709"
+   y1="239.7637"
+   x1="655.6709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4231"><stop
+   id="stop4233"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4235"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="697.92969"
+   y1="239.7637"
+   x1="697.92969"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4239"><stop
+   id="stop4241"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4243"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient></g></g></svg>
+    </a>
+
+    <div class="spinner" id='spinner'></div>
+    <div class="emscripten" id="status">Downloading...</div>
+
+<span id='controls'>
+  <span><input type="checkbox" id="resize">Resize canvas</span>
+  <span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
+  <span><input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked, 
+                                                                            document.getElementById('resize').checked)">
+  </span>
+</span>
+
+    <div class="emscripten">
+      <progress value="0" max="100" id="progress" hidden=1></progress>
+    </div>
+
+    
+    <div class="emscripten_border">
+      <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
+    </div>
+    <textarea id="output" rows="8"></textarea>
+
+    <script type='text/javascript'>
+      var statusElement = document.getElementById('status');
+      var progressElement = document.getElementById('progress');
+      var spinnerElement = document.getElementById('spinner');
+
+      var Module = {
+        preRun: [],
+        postRun: [],
+        print: (function() {
+          var element = document.getElementById('output');
+          if (element) element.value = ''; // clear browser cache
+          return function(text) {
+            if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+            // These replacements are necessary if you render to raw HTML
+            //text = text.replace(/&/g, "&amp;");
+            //text = text.replace(/</g, "&lt;");
+            //text = text.replace(/>/g, "&gt;");
+            //text = text.replace('\n', '<br>', 'g');
+            console.log(text);
+            if (element) {
+              element.value += text + "\n";
+              element.scrollTop = element.scrollHeight; // focus on bottom
+            }
+          };
+        })(),
+        printErr: function(text) {
+          if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+          if (0) { // XXX disabled for safety typeof dump == 'function') {
+            dump(text + '\n'); // fast, straight to the real console
+          } else {
+            console.error(text);
+          }
+        },
+        canvas: (function() {
+          var canvas = document.getElementById('canvas');
+
+          // As a default initial behavior, pop up an alert when webgl context is lost. To make your
+          // application robust, you may want to override this behavior before shipping!
+          // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
+          canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
+
+          return canvas;
+        })(),
+        setStatus: function(text) {
+          if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
+          if (text === Module.setStatus.text) return;
+          var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
+          var now = Date.now();
+          if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
+          if (m) {
+            text = m[1];
+            progressElement.value = parseInt(m[2])*100;
+            progressElement.max = parseInt(m[4])*100;
+            progressElement.hidden = false;
+            spinnerElement.hidden = false;
+          } else {
+            progressElement.value = null;
+            progressElement.max = null;
+            progressElement.hidden = true;
+            if (!text) spinnerElement.style.display = 'none';
+          }
+          statusElement.innerHTML = text;
+        },
+        totalDependencies: 0,
+        monitorRunDependencies: function(left) {
+          this.totalDependencies = Math.max(this.totalDependencies, left);
+          Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
+        }
+      };
+      Module.setStatus('Downloading...');
+      window.onerror = function(event) {
+        // TODO: do not warn on ok events like simulating an infinite loop or exitStatus
+        Module.setStatus('Exception thrown, see JavaScript console');
+        spinnerElement.style.display = 'none';
+        Module.setStatus = function(text) {
+          if (text) Module.printErr('[post-exception status] ' + text);
+        };
+      };
+    </script>
+    <script>
+
+          (function() {
+            var memoryInitializer = 'bigWigSummary_static.js.html.mem';
+            if (typeof Module['locateFile'] === 'function') {
+              memoryInitializer = Module['locateFile'](memoryInitializer);
+            } else if (Module['memoryInitializerPrefixURL']) {
+              memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer;
+            }
+            var xhr = Module['memoryInitializerRequest'] = new XMLHttpRequest();
+            xhr.open('GET', memoryInitializer, true);
+            xhr.responseType = 'arraybuffer';
+            xhr.send(null);
+          })();
+
+          var script = document.createElement('script');
+          script.src = "bigWigSummary_static.js.js";
+          document.body.appendChild(script);
+
+</script>
+  </body>
+</html>
diff --git a/bedTools/bigWigSummary_static.js.html.mem b/bedTools/bigWigSummary_static.js.html.mem
new file mode 100644
index 0000000000000000000000000000000000000000..8cb3d1126ffe43c87676ed80a990507bfb44019e
Binary files /dev/null and b/bedTools/bigWigSummary_static.js.html.mem differ
diff --git a/bedTools/bigWigSummary_static.js.js b/bedTools/bigWigSummary_static.js.js
new file mode 100644
index 0000000000000000000000000000000000000000..b877d0652d19bd9527df07cdee5f6ae432a0fd60
--- /dev/null
+++ b/bedTools/bigWigSummary_static.js.js
@@ -0,0 +1,17 @@
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+27168;__ATINIT__.push();memoryInitializer="bigWigSummary_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_v;var ja=env.invoke_iii;var ka=env.invoke_iiiiii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=mc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=mc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=21160;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=21187;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=jc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=21137;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=21160;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=21207;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=mc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=vi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=21271;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=21300;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=jc(o,q,r)|0;else o=mc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=vi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=21474;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=jc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11184+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=21495;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=mc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}je(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11184+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=21336;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9008;c[H>>2]=9;c[I>>2]=11056;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=21252;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=21361;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=21361;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=21387;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=21424;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21452;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=mc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=mc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=21570;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;je(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=mc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=mc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=21548;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=mc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=21232;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=mc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=21518;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Jc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=jc(j,h,k)|0;else h=mc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6114]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=24496+(b<<1<<2)|0;e=d+8|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[6118]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6114]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6116]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=24496+(b<<1<<2)|0;e=d+8|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[6118]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6116]|0;break}else Za()}else{c[6114]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6119]|0;b=l>>>3;d=24496+(b<<1<<2)|0;a=c[6114]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{m=a;n=b}}else{c[6114]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6116]=h;c[6119]=e;N=j;i=O;return N|0}a=c[6115]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24760+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6118]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24760+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6115]=c[6115]&~(1<<a);break}}else{if(h>>>0<(c[6118]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6118]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6118]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6116]|0;if(a|0){f=c[6119]|0;b=a>>>3;e=24496+(b<<1<<2)|0;a=c[6114]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{r=a;s=b}}else{c[6114]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6116]=d;c[6119]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6115]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24760+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24760+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6116]|0)-q|0)>>>0:0){f=c[6118]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24760+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6115]=c[6115]&~(1<<a);break}}else{if(g>>>0<(c[6118]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6118]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6118]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=24496+(a<<1<<2)|0;b=c[6114]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{w=a;x=b}}else{c[6114]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24760+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6115]|0;b=1<<d;if(!(a&b)){c[6115]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6118]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6116]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6119]|0;if(a>>>0>15){N=b+q|0;c[6119]=N;c[6116]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6116]=0;c[6119]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6117]|0;if(a>>>0>q>>>0){L=a-q|0;c[6117]=L;N=c[6120]|0;M=N+q|0;c[6120]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6232]|0)){c[6234]=4096;c[6233]=4096;c[6235]=-1;c[6236]=-1;c[6237]=0;c[6225]=0;x=p&-16^1431655768;c[p>>2]=x;c[6232]=x}h=q+48|0;g=c[6234]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6224]|0;if(a|0?(w=c[6222]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6225]&4)){a=c[6120]|0;c:do if(a){d=24904;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6117]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6233]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6222]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6224]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6234]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6225]=c[6225]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6222]|0)+f|0;c[6222]=a;if(a>>>0>(c[6223]|0)>>>0)c[6223]=a;j=c[6120]|0;do if(j){e=24904;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6117]|0)|0;c[6120]=M;c[6117]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6121]=c[6236];break}a=c[6118]|0;if(h>>>0<a>>>0){c[6118]=h;k=h}else k=a;d=h+f|0;a=24904;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24904;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6119]|0)){N=(c[6116]|0)+g|0;c[6116]=N;c[6119]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24760+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6118]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6115]=c[6115]&~(1<<b);break e}while(0);e=c[6118]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6118]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=24496+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6114]=c[6114]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=24496+(a<<1<<2)|0;b=c[6114]|0;a=1<<a;do if(!(b&a)){c[6114]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6118]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24760+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6115]|0;b=1<<d;if(!(a&b)){c[6115]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6118]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6117]|0)+g|0;c[6117]=N;c[6120]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24904;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6120]=N;c[6117]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6121]=c[6236];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6226];c[a+4>>2]=c[6227];c[a+8>>2]=c[6228];c[a+12>>2]=c[6229];c[6226]=h;c[6227]=f;c[6229]=0;c[6228]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=24496+(a<<1<<2)|0;b=c[6114]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{J=a;K=b}}else{c[6114]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24760+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6115]|0;b=1<<d;if(!(a&b)){c[6115]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6118]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6118]|0;if((N|0)==0|h>>>0<N>>>0)c[6118]=h;c[6226]=h;c[6227]=f;c[6229]=0;c[6123]=c[6232];c[6122]=-1;a=0;do{N=24496+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6120]=M;c[6117]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6121]=c[6236]}while(0);a=c[6117]|0;if(a>>>0>q>>>0){L=a-q|0;c[6117]=L;N=c[6120]|0;M=N+q|0;c[6120]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(Xh()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0}while((aj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=cd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[24290+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=cd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[24299+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=cd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=cd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Xh()|0)>>2]=22;Zf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=cd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=cd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;k=Nh(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Nh(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=cd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Zf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Nh(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=sc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Zf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=nh(o|0,n|0,2)|0;H=Nh(H|0,C|0,-32,-1)|0;e=Nh(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Xh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(Xh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Nh(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=yh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Nh(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+nj(+Md(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Xh()|0)>>2]=34;g=+oj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=cd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Nh(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Nh(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=cd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=sc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Zf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Nh(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Xh()|0)>>2]=22;Zf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Xh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(Xh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8976+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8976+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8976+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=nh(c[p>>2]|0,0,29)|0;o=Nh(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=qi(o|0,n|0,1e9,0)|0;o=yg(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+nj(+Md(1.0,105-o|0),j);m=+xj(j,+Md(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+xj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Xh()|0)>>2]=34}while(0);g=+oj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Xh()|0)>>2]=22;Zf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Xh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Vc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[21598+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}rc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=sh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=22078;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=22078;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=yh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=22078;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?22078:22080;L=76}else{p=1;r=22079;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=22078;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=22078;o=N;break}case 109:{o=ke(c[(Xh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23980;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){zd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23988:23993}else{G=1;H=23990}else{q=-q;G=1;H=23987}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+qj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ce(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[22062+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;zd(e,32,K,r,I);if(!(c[e>>2]&32))Vc(y,w,e)|0;zd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Vc(ea,o,e)|0;f=ba-p|0;zd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Vc(t,f,e)|0;zd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=nh(c[r>>2]|0,0,t|0)|0;B=Nh(B|0,C|0,o|0,0)|0;o=C;A=yg(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=qi(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ce(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;zd(e,32,K,w,I);if(!(c[e>>2]&32))Vc(H,G,e)|0;zd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ce(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Pe(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Vc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Vc(24018,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ce(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Pe(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Vc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}zd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ce(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Vc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Vc(24018,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Pe(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Vc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}zd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Vc(u,ba-u|0,e)|0}while(0);zd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;zd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Vc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Vc(s?(t?24299:24014):t?24006:24010,3,e)|0;zd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=22078;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[22062+(o&15)>>0]|r;o=sh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=22078;L=77}else{o=t;t=2;r=22078+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=22078;L=77}}else if((L|0)==76){f=ce(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Lc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=22078;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=ki(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}zd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=ki(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Vc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;zd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;zd(e,32,o,s,p);if(!(c[e>>2]&32))Vc(v,w,e)|0;zd(e,48,o,s,p^65536);zd(e,48,r,t,0);if(!(c[e>>2]&32))Vc(f,t,e)|0;zd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;rc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Pj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(aj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Zf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=cd(e)|0}while((aj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Zf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((cd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Pe(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Pe(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=cd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(yc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=ie(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(ri(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=cd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=ie(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=cd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=cd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Zf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=cd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(aj(d[m>>0]|0)|0))break;else n=m}Zf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=cd(e)|0}while((aj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)Oj(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Nh(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[28]|0)==0?(lf(c[a+8>>2]|0,19634)|0)!=0:0){ba=a+32|0;T=ba;T=Eb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Nh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Nh(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Nh(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Nh(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=yh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Nh(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=yh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=yh(k|0,j|0,f|0,d|0)|0;je(b|0,B+f|0,o|0)|0;e=Nh(o|0,E|0,e|0,n|0)|0;f=C;d=yh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Nh(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Ig(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=de(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Nh(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=yh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[28]|0){y=Nh(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Nh(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=qi(k|0,j|0,w|0,0)|0;t=Nh(A|0,B|0,-1,-1)|0;t=Nh(t|0,C|0,w|0,0)|0;w=qi(t|0,C|0,w|0,0)|0;t=m+52|0;Jf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((Ni(u,d,s)|0)<(s|0))f=0;else{lj(u);j=B;k=A;continue}while(1){o=Ni(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Vi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Jg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Jg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Nh(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=yh(f|0,j|0,p|0,q|0)|0;k=C;f=he(j)|0;c[W>>2]=f;m=Eb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Ig(Z,c[K>>2]|0,p,0)|0;jf(Z,c[K>>2]|0,f,j);mi(W)}Xd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Ig(P,c[t>>2]|0,da+64|0,0)|0;jf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}lj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Ig(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}mf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;_h(19646,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;uh(4,19702,$);uh(4,19748,aa);S=0;T=0;break}else if((n|0)==36){mf(Z,j,f,h);S=ba;S=Nh(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Nh(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[28]|0:d;c[I>>2]=b;c[I+4>>2]=m;uh(4,19864,I);if(0){c[e>>2]=b;gh(0,19885,e)|0}c[h>>2]=0;c[n>>2]=0;nd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){lj(d);u=Sh(19634)|0;c[h>>2]=u;lj(c[n>>2]|0);c[n>>2]=Sh(b)|0;j=1}else{u=d;j=0}h=u;g=de(16)|0;do if(!(lf(u,19894)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=19894}else{if(!(lf(u,20129)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=20129;break}if(lf(u,19023)|0?lf(u,20290)|0:0){if(!(lf(u,20296)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=20296;break}if(!(lf(u,19634)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=19634;break}else{c[k>>2]=u;_h(20311,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=19023}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[28]|0?(l=(ze(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Hb[c[g+8>>2]&7](b,p)|0)){mi(o);lj(u);lj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=de(312)|0;c[d+4>>2]=Sh(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;$c(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[28]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(Lh(c[g>>2]|0)|0))t=29;else{ee(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[28]|0;if(g){Cd(c[d+40>>2]|0);p=d+44|0;n=Ac(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(Lh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;uh(4,20400,s);gi(G);yf(c[p>>2]|0)|0;yf(c[K>>2]|0)|0;g=d+52|0;if(Lh(c[g>>2]|0)|0)yf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];uh(4,20491,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Gd(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=Nh(h|0,k|0,8191,0)|0;k=sh(k|0,C|0,13)|0;af(j,A,4);af(j,x,4);af(j,I,8);af(j,v,8);af(j,w,4);af(j,y,4);af(j,z,8);af(j,z,8);af(j,z,8);af(j,z,8);g=d+136|0;h=Ig(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;_h(20541,D)}a[E>>0]=0;Ig(g,j,((k+7|0)/8|0)+-1|0,1)|0;jf(g,j,E,1);_f(B);c[B>>2]=Gd(c[d+48>>2]|0,577)|0;_f(B);g=Ac(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];_h(20608,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=Bf(c[f+52>>2]|0,0,1)|0;Hd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=Nh(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=sh(H|0,C|0,13)|0;H=(Ni(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Ig(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Gd(c[d+48>>2]|0,2)|0;if(qg(19023,u)|0){c[I>>2]=0;j=d+52|0;if(Lh(c[j>>2]|0)|0)ig(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;yf(c[j>>2]|0)|0;break}else{if(!(Kg(g,h)|0))break;K=ag(c[j>>2]|0,20638)|0;H=c[f>>2]|0;Mg(K,H,Qd(H)|0);Qg(K,c[j>>2]|0)|0;lj(K);break}}else c[d+132>>2]=Sh(c[I>>2]|0)|0;while(0);lj(c[I>>2]|0)}}}else{if(!(Lh(b)|0)){d=0;break}K=Gd(b,0)|0;c[d+56>>2]=K;xe(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}lj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6118]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6119]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6116]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=24496+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6114]=c[6114]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=24760+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6115]=c[6115]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6118]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6118]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6118]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6120]|0)){p=(c[6117]|0)+g|0;c[6117]=p;c[6120]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6119]|0))return;c[6119]=0;c[6116]=0;return}if((m|0)==(c[6119]|0)){p=(c[6116]|0)+g|0;c[6116]=p;c[6119]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=24760+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6115]=c[6115]&~(1<<a);break}}else{if(f>>>0<(c[6118]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6118]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6118]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=24496+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6118]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6114]=c[6114]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6118]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6119]|0)){c[6116]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=24496+(a<<1<<2)|0;b=c[6114]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6118]|0)>>>0)Za();else{o=a;p=b}}else{c[6114]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24760+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6115]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6118]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6118]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6115]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6122]|0)+-1|0;c[6122]=q;if(!q)a=24912;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6122]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10772;C=256;D=10898}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11222;C=-1;D=11348}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6118]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6119]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6116]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=24496+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6114]=c[6114]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=24760+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6115]=c[6115]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6118]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6118]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6118]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6118]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6120]|0)){q=(c[6117]|0)+g|0;c[6117]=q;c[6120]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6119]|0))return;c[6119]=0;c[6116]=0;return}if((o|0)==(c[6119]|0)){q=(c[6116]|0)+g|0;c[6116]=q;c[6119]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=24760+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6115]=c[6115]&~(1<<d);break}}else{if(f>>>0<(c[6118]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6118]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6118]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=24496+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6114]=c[6114]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6119]|0)){c[6116]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=24496+(d<<1<<2)|0;a=c[6114]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6118]|0)>>>0)Za();else{p=d;q=a}}else{c[6114]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24760+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6115]|0;a=1<<b;if(!(d&a)){c[6115]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6118]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6118]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=di(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Se(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Lc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Xh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0}while((aj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=cd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=cd(b)|0;if((d[24025+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Zf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[24025+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Zf(b,0);c[(Xh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=cd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Jg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Nh(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[24281+((e*23|0)>>>5&7)>>0]|0;j=a[24025+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;j=a[24025+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=sh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=nh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;j=a[24025+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[24025+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;j=a[24025+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=qi(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Jg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Nh(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0;j=a[24025+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[24025+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cd(b)|0}while((d[24025+i>>0]|0)>>>0<e>>>0);c[(Xh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Xh()|0)>>2]=34;g=Nh(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Xh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=yh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=21518;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=21548;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=21570;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=pe(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(lf(r,17244)|0)){j=g;h=k;N=4;break}s=di(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(aj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Qd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Wi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)zi(Q,o,(m|0)==0?17666:m)|0;else{l=Xg(o,f)|0;if(!l){l=Xg(o,48)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}ti(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}si(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+ij(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+ij(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17666:m;l=Xg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=Ph(Q,o)|0;l=zh(m)|0;if(!n){zi(Q,o,l)|0;break}else{oh(n,l);break}}zi(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;_h(17255,z);break}case 34:{c[A>>2]=o;_h(17281,A);break}case 36:{c[K>>2]=o;_h(17320,K);break}case 38:{c[L>>2]=o;_h(17356,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;_h(17389,B);break}case 43:{c[C>>2]=o;_h(17356,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;_h(17431,D);break}case 48:{c[E>>2]=o;_h(17475,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;_h(17510,F);break}case 53:{c[G>>2]=o;_h(17550,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;_h(17586,H);break}case 57:{c[I>>2]=c[l>>2];_h(17627,I);break}case 65:{_h(17669,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,13870)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Re(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(sg(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(Xh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(qg(14682,f)|0))m=c[F>>2]|0;else{Lf(F)|0;f=Lf(F)|0;if(!f){O=20;break a}if((((qg(15322,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(lf(f,15325)|0)if(lf(f,15329)|0){if(I?(g=lf(f,15333)|0,!((H|g|0)==0&G)):0)if(!(lf(f,15337)|0)){f=o;break}else{O=30;break a}if(!(lf(f,15424)|0)){O=34;break a}if(!(lf(f,15333)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=di(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=th(f+1|0)|0}if(!(qf(m,15476)|0)){if(o|0)c[e>>2]=Sh(f)|0;if(k)h=Sh(f)|0}}while(!(I&(qf(m,15485)|0)==0));if((qg(15499,f)|0)!=0?(q=(di(f,32)|0)+1|0,r=di(q,45)|0,(r|0)!=0):0){l=r+1|0;m=ld(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=ld(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=ke(f)|0;c[z+4>>2]=d;Ih(15133,z);f=0;break}case 10:{c[v>>2]=d;Ih(15170,v);f=0;break}case 11:{c[x>>2]=d;Ih(15226,x);f=0;break}case 15:{c[y>>2]=2e3;Ih(15258,y);f=0;break}case 20:{c[u>>2]=d;Ih(15296,u);f=0;break}case 30:{if(!g)Ih(15341,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Ih(15384,E);f=0;break}case 34:{c[w>>2]=d;Ih(15428,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Ih(15453,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Vg(N,256,13972,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Ih(15506,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?25080:15600;c[K+8>>2]=f?15325:15329;c[K+12>>2]=h|0?h:15616;Ih(15626,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Vg(N,256,13972,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Ih(15667,M);f=0}break}}i=P;return f|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Di(h)|0;c[b+16>>2]=e;f=vd(c[f>>2]|0)|0;if(!f){s=0;break}s=Qd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;lj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}ne(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Pf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=ng(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;ne(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;bg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Sd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;_h(18575,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Sd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Sd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Zb(a,b,d,e,f,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0.0,E=0.0,F=0.0;B=i;i=i+16|0;A=B;do if(e>>>0>d>>>0){Pe(k|0,0,j*40|0)|0;y=e-d|0;l=((y>>>0)/(j>>>0)|0|0)/2|0;l=we(c[a+100>>2]|0,(l|0)<0?0:l)|0;if(!l){x=Yg(0)|0;c[A>>2]=x;b=Ib[f&1](a,b,d,e,x)|0;a:do if(!b)b=0;else{w=((j|0)<0)<<31>>31;t=d;x=0;f=b;b=0;while(1){if((x|0)>=(j|0))break a;u=x+1|0;v=Jg(u|0,((u|0)<0)<<31>>31|0,y|0,0)|0;v=qi(v|0,C|0,j|0,w|0)|0;v=Nh(v|0,C|0,d|0,0)|0;s=(v|0)==(t|0)?t+1|0:v;while(1){if(!f){f=0;l=0;break}if((c[f+8>>2]|0)>>>0>t>>>0){z=31;break}f=c[f>>2]|0}if((z|0)==31){z=0;o=+h[f+16>>3];q=0.0;r=f;p=o;n=0.0;m=0.0;while(1){if(!r)break;a=r+4|0;l=c[a>>2]|0;if(l>>>0>=s>>>0)break;e=r+8|0;l=Qh(t,s,l,c[e>>2]|0)|0;if((l|0)>0){D=+((c[e>>2]|0)-(c[a>>2]|0)|0);D=D*(+(l|0)/D);E=+h[r+16>>3];q=q+D;p=p<E?E:p;o=o>E?E:o;n=n+E*D;m=m+E*E*D}r=c[r>>2]|0}l=~~+Z(+q)>>>0;E=+(l>>>0)/q;t=k+(x*40|0)|0;c[t>>2]=l;c[t+4>>2]=0;h[k+(x*40|0)+8>>3]=o;h[k+(x*40|0)+16>>3]=p;h[k+(x*40|0)+24>>3]=n*E;h[k+(x*40|0)+32>>3]=m*E}t=v;x=u;b=(l|0)==0?b:1}}while(0);Zh(A);break}x=c[a+20>>2]|0;if(!(Uh(x,b,Qd(b)|0,A,8)|0)){b=0;break}mh(c[a+16>>2]|0,A);b=c[A>>2]|0;if((b|0)>=0){f=gc(l,a,b,d,e)|0;c[A>>2]=f;if(!f)b=0;else{v=((j|0)<0)<<31>>31;s=d;w=0;b=0;while(1){if((w|0)>=(j|0))break;t=w+1|0;u=Jg(t|0,((t|0)<0)<<31>>31|0,y|0,0)|0;u=qi(u|0,C|0,j|0,v|0)|0;u=Nh(u|0,C|0,d|0,0)|0;while(1){if(!f){f=0;l=0;break}if((c[f+12>>2]|0)>>>0>s>>>0){z=13;break}f=c[f>>2]|0}if((z|0)==13){z=0;q=0.0;p=+g[f+24>>2];o=+g[f+20>>2];r=f;n=0.0;m=0.0;while(1){if(!r)break;a=r+8|0;l=c[a>>2]|0;if(l>>>0>=u>>>0)break;e=r+12|0;l=Qh(s,u,l,c[e>>2]|0)|0;if((l|0)>0){E=+(l|0)/+(((c[e>>2]|0)-(c[a>>2]|0)|0)>>>0);F=+g[r+24>>2];D=+g[r+20>>2];q=q+ +((c[r+16>>2]|0)>>>0)*E;p=p<F?F:p;o=o>D?D:o;n=n+ +g[r+28>>2]*E;m=m+E*+g[r+32>>2]}r=c[r>>2]|0}if(q>0.0){l=~~+Z(+q)>>>0;F=+(l>>>0)/q;x=k+(w*40|0)|0;c[x>>2]=l;c[x+4>>2]=0;h[k+(w*40|0)+8>>3]=o;h[k+(w*40|0)+16>>3]=p;h[k+(w*40|0)+24>>3]=n*F;h[k+(w*40|0)+32>>3]=m*F}else l=0}s=u;w=t;b=(l|0)==0?b:1}ph(A)}}else b=0}else b=0;while(0);i=B;return b|0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((qg(18638,b)|0)==0?(qg(18646,b)|0)==0:0)?(qg(18655,b)|0)==0:0){c[j>>2]=b;_h(18718,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;uh(4,18662,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=yh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;uh(4,18953,m);_f(x);j=h+128|0;if((c[j>>2]|0)>0)_f(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;uh(4,18800,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6100]|0)){c[6100]=de(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=gf(j,k,c[6100]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=yh(l|0,m|0,n|0,I|0)|0;J=C;I=Nh(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;Yf(18849,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=Nh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;_h(18902,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=Nh(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=le(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;Vg(y,2048,19004,z)|0;j=hc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(qg(19023,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Ic(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){lj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;_h(19028,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=gf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)Yf(19057,G);else F=j;K=h+120|0;J=K;J=Nh(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6118]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6234]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6120]|0)){d=(c[6117]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6120]=l;c[6117]=m;return a|0}if((k|0)==(c[6119]|0)){e=(c[6116]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6116]=d;c[6119]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=24760+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6115]=c[6115]&~(1<<d);break}}else{if(h>>>0<(c[6118]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6118]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6118]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=24496+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6114]=c[6114]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;gh(0,20661,b)|0}b=d+112|0;if(c[b>>2]|0)_f(b);b=d+128|0;if(c[b>>2]|0)_f(b);lj(c[d+4>>2]|0);lj(c[d+8>>2]|0);mi(d+12|0);lj(c[d+40>>2]|0);lj(c[d+44>>2]|0);lj(c[d+48>>2]|0);lj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)_f(b);gi(d+80|0)}mi(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(12371,12391,448,12407);h=ya()|0;c[s>>2]=h;if((h|0)<0)Yf(12420,l);if(h|0)if(!(Og(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Yf(12958,k)}r=fi()|0;c[s>>2]=r;if(Og(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Yf(12431,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Cg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Sf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Wf(t);if(c[k>>2]|0)Wf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Yf(12420,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){kd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Yf(12665,o)}kd(k,0,h,e);h=rg(1,f,g)|0;if((h|0)<0)Yf(12576,p);if((h|0)==(g|0)){Wg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;_h(12611,q)}}else if((b|0)==28){Wg(0)|0;Wg(1)|0;qh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Sf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Yf(12738,u);else if((b|0)==35){c[v>>2]=h;_h(12753,v)}else if((b|0)==39){v=Ue(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;_h(12783,w)}else if((b|0)==41)Da(12838,12391,242,12862);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2107]|0;v=Ue(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;gh(h,12881,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12928,12391,396,12948);else if((b|0)==49)_a(0)}}function cc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+64|0;J=K+8|0;I=K+56|0;H=K+52|0;E=K+48|0;D=K+44|0;F=K+40|0;G=K+16|0;if((c[a+12>>2]|0)!=-2003829722)_h(18255,K);$f(a);c[I>>2]=0;g=Ge(a,c[a+96>>2]|0,b,d,e,0)|0;c[H>>2]=g;A=c[a+8>>2]|0;B=c[a+16>>2]|0;y=a+80|0;b=c[y>>2]|0;if(!b)z=0;else z=he(b)|0;t=(z|0)==0;u=G+20|0;v=G+4|0;w=G+16|0;x=G+12|0;b=g;a:while(1){if(!b){b=32;break}ve(b,E,D);s=b+8|0;p=c[s>>2]|0;s=c[s+4>>2]|0;q=c[E>>2]|0;o=q+8|0;q=q+16|0;r=c[q>>2]|0;q=c[q+4>>2]|0;o=yh(c[o>>2]|0,c[o+4>>2]|0,p|0,s|0)|0;q=Nh(o|0,C|0,r|0,q|0)|0;r=C;Ef(A,p,s);s=he(q)|0;He(A,s,q,r);r=s;while(1){if((b|0)==(c[D>>2]|0))break;q=b+16|0;a=c[q>>2]|0;if(t){c[F>>2]=r;p=r+a|0}else{c[F>>2]=z;p=_e(r,a,z,c[y>>2]|0)|0;p=(c[F>>2]|0)+p|0}Jd(F,G,B);n=c[u>>2]|0;o=n>>>16;b:do switch(n&255|0){case 1:{g=0;while(1){if((g|0)==(o|0))break b;k=kg(F,B)|0;a=kg(F,B)|0;j=+Be(F,B);k=k>>>0<d>>>0?d:k;a=a>>>0>e>>>0?e:a;if(k>>>0<a>>>0){n=uf(f,24)|0;c[n+4>>2]=k;c[n+8>>2]=a;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}g=g+1|0}}case 2:{a=c[w>>2]|0;k=0;while(1){if((k|0)==(o|0))break b;l=kg(F,B)|0;g=a+l|0;j=+Be(F,B);l=l>>>0<d>>>0?d:l;g=g>>>0>e>>>0?e:g;if(l>>>0<g>>>0){n=uf(f,24)|0;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}k=k+1|0}}case 3:{m=c[v>>2]|0;a=c[x>>2]|0;k=(c[w>>2]|0)+m|0;l=0;while(1){if((l|0)==(o|0))break b;j=+Be(F,B);n=m>>>0<d>>>0?d:m;g=k>>>0>e>>>0?e:k;if(n>>>0<g>>>0){L=uf(f,24)|0;c[L+4>>2]=n;c[L+8>>2]=g;h[L+16>>3]=j;c[L>>2]=c[I>>2];c[I>>2]=L}k=a+k|0;l=l+1|0;m=a+m|0}}default:{b=27;break a}}while(0);if((c[F>>2]|0)!=(p|0)){b=29;break a}b=c[b>>2]|0;r=r+(c[q>>2]|0)|0}lj(s)}if((b|0)==27){c[J>>2]=18311;c[J+4>>2]=269;_h(21110,J)}else if((b|0)==29)Da(21090,18311,272,18327);else if((b|0)==32){lj(z);ph(H);Hg(I);i=K;return c[I>>2]|0}return 0}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Tf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Tf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Nh(m|0,l|0,-1,-1)|0;d=C;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;yh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=yh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Qe(a,b,d)|0){b=Gh()|0;if((b|0)>=0){if((Vd(b,1)|0)<0){Wg(b)|0;b=-1;break}b:do if((ff(b,d,16)|0)<0){n=Xh()|0;d=c[n>>2]|0;if((d|0)!=115){w=ke(d)|0;c[e>>2]=d;c[e+4>>2]=w;Ih(13806,e);Wg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Hf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=ke(d)|0;c[t>>2]=d;c[t+4>>2]=C;Ih(13582,t);Wg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Ih(13714,u);Wg(b)|0;e=23;break}c[r>>2]=4;do if((Ve(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=ke(d)|0;c[w>>2]=d;c[w+4>>2]=C;Ih(13670,w);Wg(b)|0;break}}else{B=c[n>>2]|0;C=ke(B)|0;c[v>>2]=B;c[v+4>>2]=C;Ih(13640,v);Wg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Vd(b,0)|0)<0){Wg(b)|0;b=-1;break}if((of(b,120)|0)<0){Wg(b)|0;b=-1}}}else b=-1;else{Ih(13462,x+24|0);b=-1}while(0);i=x;return b|0}function fc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Pf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Pe(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(fc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(Xh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function gc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;B=i;i=i+32|0;A=B+16|0;z=B+12|0;y=B+8|0;x=B+4|0;w=B;c[A>>2]=0;h=b+8|0;t=c[h>>2]|0;r=a+24|0;Ef(t,c[r>>2]|0,c[r+4>>2]|0);h=Rc(c[b+4>>2]|0,c[h>>2]|0)|0;c[z>>2]=h;h=Kf(h,d,e,f)|0;c[y>>2]=h;r=b+80|0;a=c[r>>2]|0;if(!a)s=0;else s=he(a)|0;q=(s|0)==0;p=b+16|0;a=h;a:while(1){if(!a){a=24;break}ve(a,x,w);o=a+8|0;l=c[o>>2]|0;o=c[o+4>>2]|0;m=c[x>>2]|0;k=m+8|0;m=m+16|0;n=c[m>>2]|0;m=c[m+4>>2]|0;k=yh(c[k>>2]|0,c[k+4>>2]|0,l|0,o|0)|0;m=Nh(k|0,C|0,n|0,m|0)|0;n=C;Ef(t,l,o);o=he(m)|0;He(t,o,m,n);n=o;while(1){if((a|0)==(c[w>>2]|0))break;m=a+16|0;h=c[m>>2]|0;if(q){l=n+h|0;h=n}else{l=s+(_e(n,h,s,c[r>>2]|0)|0)|0;h=s}b=l-h|0;if(b&31|0){a=11;break a}k=(b|0)/32|0;j=0;while(1){if((j|0)>=(k|0))break;b=h+32|0;if(c[p>>2]|0){c[h>>2]=rj(c[h>>2]|0)|0;D=h+4|0;c[D>>2]=rj(c[D>>2]|0)|0;D=h+8|0;c[D>>2]=rj(c[D>>2]|0)|0;D=h+12|0;c[D>>2]=rj(c[D>>2]|0)|0;D=h+16|0;g[D>>2]=+rh(+g[D>>2]);D=h+20|0;g[D>>2]=+rh(+g[D>>2]);D=h+24|0;g[D>>2]=+rh(+g[D>>2]);D=h+28|0;g[D>>2]=+rh(+g[D>>2])}if((c[h>>2]|0)==(d|0)?(u=h+4|0,E=c[u>>2]|0,v=h+8|0,D=c[v>>2]|0,((E>>>0>e>>>0?E:e)|0)<((D>>>0<f>>>0?D:f)|0)):0){E=de(48)|0;c[E+4>>2]=c[h>>2];c[E+8>>2]=c[u>>2];c[E+12>>2]=c[v>>2];c[E+16>>2]=c[h+12>>2];c[E+20>>2]=c[h+16>>2];c[E+24>>2]=c[h+20>>2];c[E+28>>2]=c[h+24>>2];c[E+32>>2]=c[h+28>>2];c[E>>2]=c[A>>2];c[A>>2]=E}h=b;j=j+1|0}if((h|0)!=(l|0)){a=21;break a}a=c[a>>2]|0;n=n+(c[m>>2]|0)|0}lj(o)}if((a|0)==11)Da(21043,20939,412,21069);else if((a|0)==21)Da(21090,20939,433,21069);else if((a|0)==24){lj(s);ph(y);Bj(z);Hg(A);i=B;return c[A>>2]|0}return 0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,13866)|0))e=cf(b,0,r)|0;else{if((qg(18638,b)|0)==0?(qg(18646,b)|0)==0:0){if(!(qg(18655,b)|0)){c[g>>2]=b;_h(15066,g)}lc(b,o);if(lf(o,20296)|0){c[f>>2]=b;_h(14729,f)}b=o+4112|0;g=md(b,Nd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(Vh(g,14776,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,Vg(m,256,14783,j)|0,(Vh(g,m,0,0)|0)==0):0){Wg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Qd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14795:14800;c[k+4>>2]=j;Vg(m,256,14805,k)|0;Ki(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=di(j,40)|0;a[(di(j,41)|0)>>0]=0;if((Fe(s+1|0,14813,k,7)|0)!=6)_h(14815,h);f=(Nd(c[k+16>>2]|0)|0)<<8;f=ec(b,(Nd(c[k+20>>2]|0)|0)+f|0)|0;ai(l);if((f|0)<0){Wg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((od(f,1e6)|0)>0){b=26;break}if((od(g,0)|0)>0?(xc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Ih(14851,n);Wg(g)|0;Wg(f)|0;e=-1;break}else if((b|0)==24){Wg(g)|0;Wg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}rd(c[2136]|0)|0;rd(c[2077]|0)|0;rd(c[2107]|0)|0;b=de(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;je(b+20|0,o|0,10280)|0;f=b+4|0;if(vh(f)|0){c[p>>2]=ke(c[(Xh()|0)>>2]|0)|0;_h(14916,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=ke(b)|0;c[q>>2]=b;c[q+4>>2]=s;_h(15020,q)}}}else{Wg(g)|0;e=-1}while(0)}break}e=ui(b,14710,0)|0}while(0);i=r;return e|0}function ic(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=sh(d|0,m|0,52)|0;e=e&2047;j=sh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=nh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=nh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=nh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=nh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=nh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=nh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=nh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=nh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=yh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=nh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=yh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=nh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Nh(d|0,f|0,0,-1048576)|0;d=C;e=nh(e|0,0,52)|0;d=d|C;e=o|e}else{e=sh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;lc(b,h);if(lf(h,20296)|0){c[g>>2]=b;_h(13995,g)}b=h+6176|0;if(lf(b,19829)|0){p=md(h+4112|0,Nd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;Vg(k,256,14153,q)|0;c[t>>2]=0;do if(Vh(p,k,t,0)|0){if((Fe(c[(c[t>>2]|0)+4>>2]|0,13882,l,3)|0)!=2)_h(14163,j);n=l+4|0;j=ld(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;ai(t);c[s>>2]=b;Vg(k,256,14199,s)|0;if(!(Vh(p,k,t,0)|0)){Wg(p)|0;f=0;break}b=Fe(c[(c[t>>2]|0)+4>>2]|0,13882,l,3)|0;if((b|0)!=2){c[m>>2]=b;_h(14209,m)}j=c[n>>2]|0;if((Qd(j)|0)>>>0<14){c[o>>2]=j;_h(14251,o)}b=s;g=14300;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14320,q|0)|0)){c[r>>2]=s;_h(14338,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];_h(14371,u)}else{c[e>>2]=b;ai(t);Wg(p)|0;f=1;break}}else{Wg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Qd(b)|0)>>>0>4095){c[e>>2]=b;_h(13847,e)}dj(f,b)|0;Yh(f)|0;b=Tb(f,13866)|0;if(!b){a[d>>0]=a[19023]|0;a[d+1>>0]=a[19024]|0;a[d+2>>0]=a[19025]|0;a[d+3>>0]=a[19026]|0;a[d+4>>0]=a[19027]|0}else{a[b>>0]=0;eh(f)|0;zf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=di(f,47)|0;if(g){Re(g,b,e,1);if(!((qf(d,19023)|0)!=0?(qf(d,20290)|0)!=0:0)){e=Kd(g,13882,13884)|0;zf(d+6176|0,4096,e);lj(e)}a[g>>0]=0;if(!(qf(d,20296)|0)){g=g+1|0;Pd(g,d+6176|0,Qd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=di(f,64)|0;if(!g){if(!((qf(d,19023)|0)!=0?(qf(d,20290)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(qf(d,20296)|0)){b=d+16|0;e=13888;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13898;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=di(f,58)|0;if(!b){e=d+16|0;zf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;zf(e,2048,f);f=d+2064|0;zf(f,2048,b+1|0);b=f}yd(e,e,Qd(e)|0);yd(b,b,Qd(b)|0);f=g+1|0}b=di(f,58)|0;do if(!b){if(!(qf(d,19023)|0)){h=d+6160|0;a[h>>0]=a[13916]|0;a[h+1>>0]=a[13917]|0;a[h+2>>0]=a[13918]|0}if(!(qf(d,20290)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(qf(d,20296)|0)){h=d+6160|0;a[h>>0]=a[13919]|0;a[h+1>>0]=a[13920]|0;a[h+2>>0]=a[13921]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){zf(d+6160|0,16,e);break}else{c[h>>2]=e;_h(13922,h)}}while(0);zf(d+4112|0,2048,f);i=j;return}function mc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[116+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2164+((a>>>8&255)<<2)>>2]^c[3188+((a&255)<<2)>>2]^c[1140+((a>>>16&255)<<2)>>2]^c[116+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[116+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function nc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Ef(t,f,g);He(t,s,1,0);He(t,w+32|0,1,0);u=c[b+12>>2]|0;v=xg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;uh(3,16693,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=wg(t,u)|0;c[p+(f<<2)>>2]=wg(t,u)|0;c[q+(f<<2)>>2]=wg(t,u)|0;c[r+(f<<2)>>2]=wg(t,u)|0;g=Ff(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(df(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;nc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=wg(t,u)|0;s=wg(t,u)|0;e=wg(t,u)|0;b=wg(t,u)|0;f=Ff(t,u)|0;g=C;m=Ff(t,u)|0;n=C;if(df(h,j,k,r,s,e,b)|0){b=de(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function oc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=hi(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=hi(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=hi(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=hi(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=hi(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=hi(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=hi(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function pc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Fh(512)|0;lc(b,s);h=ab(14490)|0;p=(h|0)!=0;if(p){lc(h,q);je(r|0,q|0,10280)|0;h=We(r,b)|0}else{je(r|0,s|0,10280)|0;h=We(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=Sh(b)|0;j=Qi(b,59)|0;if((j|0)!=0?(qg(13870,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;hh(k,14501,l);lj(b);c[m>>2]=f;hh(k,14512,m);if((lf(s,19023)|0)==0?(lf(13916,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((lf(s,20290)|0)==0?(lf(13951,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;hh(k,14540,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;hh(k,14529,n)}b=c[t>>2]|0;je(r|0,s|0,10280)|0;re(r,14554,b);if(p){je(r|0,q|0,10280)|0;re(r,14568,b);k=c[t>>2]|0}else k=b;Li(k,14588);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;hh(k,14627,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;hh(k,14602,u);break}}while(0);if(g|0)Li(c[t>>2]|0,g);v=c[t>>2]|0;Li(v,14648);af(h,c[v+4>>2]|0,c[v+12>>2]|0);ai(t)}i=w;return h|0}function qc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=de(120)|0;c[l+4>>2]=Sh(a)|0;m=Ag(a,Nj()|0)|0;c[l+8>>2]=m;He(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=rj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;_h(20919,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=xg(m,n)|0;g=l+26|0;b[g>>1]=xg(m,n)|0;h=Ff(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Ff(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Ff(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=xg(m,n)|0;b[l+58>>1]=xg(m,n)|0;j=Ff(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Ff(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=wg(m,n)|0;j=Ff(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=de(32)|0;c[j+4>>2]=wg(m,n)|0;c[j+8>>2]=wg(m,n)|0;p=Ff(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Ff(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Hg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Ef(m,g,h);b[l+104>>1]=xg(m,n)|0;b[l+106>>1]=xg(m,n)|0;p=Ff(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Ef(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=ed(a,m)|0;i=o;return l|0}function rc(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 sc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Jg(f|0,b|0,10,0)|0;f=C;e=Nh(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Nh(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=cd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=yh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;uh(4,19099,p);f=b+36|0;e=0;while(1){d=pe(0,1)|0;c[p>>2]=d;d=Zi(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=Hh(c[p>>2]|0,19185)|0;c[f>>2]=Sh(d)|0;d=le(a,d)|0;Ud(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;Ih(19132,g);n=0}else if((h|0)==7){d=Hh(c[p>>2]|0,19195)|0;do if(!d){d=ye(a)|0;e=C;if((e|0)<0){Ud(p);c[j>>2]=a;_h(19211,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=ld(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=Hh(c[p>>2]|0,19278)|0;if(!d){d=Hh(c[p>>2]|0,19293)|0;if(!d){Ud(p);c[m>>2]=a;_h(19299,m)}else o=d}else o=d;if(!(Ua(o|0,19374,k|0)|0)){Ud(p);c[l>>2]=o;_h(19399,l)}d=wf(k)|0;if((d|0)==-1){Ud(p);c[q>>2]=o;_h(19441,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Ud(p);n=200;break}}while(0);i=r;return n|0}function uc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Ef(c[t>>2]|0,d,e);He(c[t>>2]|0,o,1,0);He(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=xg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;He(c[t>>2]|0,r,q,h);e=Ff(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=Se(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;He(c[t>>2]|0,r,q,h);e=Ff(c[t>>2]|0,p)|0;d=C;j=Se(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=Di(c[t>>2]|0)|0;m=C;uc(b,k,l,f,g);Ef(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}uc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;He(c[t>>2]|0,r,q,d);He(c[t>>2]|0,j,c[h>>2]|0,0);if(!(Se(f,r,q)|0))Oh(g,ii(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function vc(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[6101]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=hi(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=hi(yb(146,m|0)|0)|0;la(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 wc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Lc(24020,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(di(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(di(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6102]|0))c[e+76>>2]=-1;mb(24432);f=c[6107]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6107]=e;eb(24432)}}else{c[(Xh()|0)>>2]=22;e=0}i=o;return e|0}function xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Fh(4096)|0;while(1){if((od(b,1e6)|0)<=0){j=3;break}g=sg(b,m,4096)|0;if(g){ef(c[o>>2]|0,m,g);if(!(lh(c[(c[o>>2]|0)+4>>2]|0,14079)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Qd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Qd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Ih(14035,n);g=0}else if((j|0)==18){g=Nd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Ih(14081,p);g=0;break}if(!e)ai(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function yc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?24452:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8660+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Xh()|0)>>2]=84;f=-1}i=l;return f|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=sg(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Nh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=yh(1,0,g|0,e|0)|0;b=Nh(b|0,C|0,d|0,h|0)|0}r=(rg(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Nh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Nh(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Nf(14964,l);if((b|0)==-1)Nf(14995,o);Wg(c[m>>2]|0)|0;Wg(c[a+12>>2]|0)|0;Wg(c[n>>2]|0)|0;i=q;return 0}function Ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=cf(a,2,h)|0;if((e|0)<0)if((c[(Xh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;Yf(20350,d)}else{xe(e,h)|0;if((c[h+36>>2]|0)<64){Wg(e)|0;b=0}else{Hd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=rj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;_h(20373,j)}}else f=0;b=de(56)|0;c[b+4>>2]=ug(e,f)|0;g=Cf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Cf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=ug(e,f)|0;ug(e,f)|0;Cf(e,f)|0;Cf(e,f)|0;Cf(e,f)|0;Cf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Ed(b);break}if((Wg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];_h(13116,k)}}else{if(!(c[a+20>>2]&2)){if(Lg(d)|0){c[f>>2]=c[a+12>>2];_h(13085,f)}}else{rd(d)|0;if(Lg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];_h(13055,e)}}if((se(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];_h(13116,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Yf(12738,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;_h(13146,l)}if(b|0)Da(13187,12391,435,13205);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;_h(13221,m)}i=n;return d>>>8&255|0}function Cc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Pj(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Oj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Dc(a,b,d,e,f,g,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;p=q;o=pi(j*40|0)|0;n=Zb(a,b,d,e,f,j,o)|0;a:do if(n|0){m=+(j|0)/+((e-d|0)>>>0);f=0;b:while(1){if((f|0)>=(j|0))break a;b=o+(f*40|0)|0;a=c[b>>2]|0;b=c[b+4>>2]|0;if(!((a|0)==0&(b|0)==0)){switch(g|0){case 0:{l=+h[o+(f*40|0)+24>>3]/(+(a>>>0)+4294967296.0*+(b>>>0));break}case 1:{l=+h[o+(f*40|0)+16>>3];break}case 2:{l=+h[o+(f*40|0)+8>>3];break}case 3:{l=m*(+(a>>>0)+4294967296.0*+(b>>>0));break}case 4:{l=+ci(+h[o+(f*40|0)+24>>3],+h[o+(f*40|0)+32>>3],a,b);break}default:break b}h[k+(f<<3)>>3]=l}f=f+1|0}c[p>>2]=20939;c[p+4>>2]=695;_h(21110,p)}while(0);lj(o);i=q;return n|0}function Ec(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Ef(c[n>>2]|0,d,e);He(c[n>>2]|0,h,1,0);He(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=xg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){He(c[n>>2]|0,l,d,0);e=Ff(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;He(c[n>>2]|0,l,c[k>>2]|0,0);if((Se(f,l,c[k>>2]|0)|0)<0)break;e=Ff(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Ec(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}He(c[n>>2]|0,l,d,0);He(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(Se(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Fc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=Sh(25080)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Wi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=de(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Wi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;Vg(h,4,12185,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Pe(b|0,0,e|0)|0;return b|0}function Hc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Fh(512)|0;c[h>>2]=f;Li(f,b);Li(f,13866);d=b+16|0;if(a[d>>0]|0){d=Fc(d)|0;Li(f,d);lj(d);d=b+2064|0;if(a[d>>0]|0){Li(f,13947);d=Fc(d)|0;Li(f,d);lj(d)}Li(f,13949)}Li(f,b+4112|0);if(!((lf(b,20296)|0)==0?!(lf(13919,b+6160|0)|0):0))e=7;do if((e|0)==7){if((lf(b,19023)|0)==0?(lf(13916,b+6160|0)|0)==0:0)break;d=b+6160|0;if((lf(b,20290)|0)==0?(lf(13951,d)|0)==0:0)break;Li(f,13947);Li(f,d)}while(0);Li(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,hh(f,13955,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;hh(f,13972,k)}k=ch(h)|0;i=l;return k|0}function Ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}Wg(a)|0;if((h|0)>0)lj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((qg(18638,f)|0)==0?(qg(18646,f)|0)==0:0){g=11;break}f=le(g,f)|0;c[j>>2]=f;a=hc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Ih(15715,k);g=14}else if((g|0)==11){c[l>>2]=f;Ih(15769,l);g=14}else if((g|0)==13){c[m>>2]=f;Ih(20644,m);g=14}if((g|0)==14)if((b|0)>0){lj(f);b=0}else b=0;i=n;return b|0}function Jc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){je(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;je(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){je(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Kc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=i;i=i+48|0;m=s+16|0;r=s+8|0;q=s;o=s+32|0;j=ej(a)|0;c[o>>2]=j;g=+ij(12124,0);n=i;i=i+((1*(f<<3)|0)+15&-16)|0;l=0;while(1){if((l|0)>=(f|0))break;h[n+(l<<3)>>3]=g;l=l+1|0}if(!(Ah(j,b,d,e,Id(c[2]|0)|0,f,n)|0)){c[m>>2]=b;c[m+4>>2]=d;c[m+8>>2]=e;c[m+12>>2]=a;_h(12135,m)}else p=0;while(1){if((p|0)>=(f|0))break;g=+h[n+(p<<3)>>3];if(p|0)pj(9)|0;t=+N(+g);h[k>>3]=t;m=c[k+4>>2]|0;if(m>>>0>2146435072|(m|0)==2146435072&(c[k>>2]|0)>>>0>0)kh(12128,q)|0;else{h[r>>3]=g;kh(12132,r)|0}p=p+1|0}pj(10)|0;mg(o);i=s;return}function Lc(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|0)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?b:0)|0}function Mc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=hi(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(Xh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=hi(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;oc(e,2,j)|0}if(b&2048){c[h>>2]=oc(e,3,k)|0|2048;oc(e,4,h)|0}}}}while(0);i=l;return e|0}function Nc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6101]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=hi(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=hi(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Qc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16563,16615,388,16627);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=pi(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Hg(b);d=d+1|0}lj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=de(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;He(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=rj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;_h(16649,j)}}else f=0;c[d+24>>2]=wg(b,f)|0;j=Ff(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=wg(b,f)|0;c[d+44>>2]=wg(b,f)|0;c[d+48>>2]=wg(b,f)|0;c[d+52>>2]=wg(b,f)|0;g=Ff(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=wg(b,f)|0;He(b,h,4,0);b=Di(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Sc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;uh(4,20134,p);Dg(500);l=a+5|0;k=fd(l,20041)|0;c[p>>2]=k;Xi(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Dg(250);g=e-j|0;g=nf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;uh(4,20187,m);if(Lg(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;Ih(20209,o);c[n>>2]=l;Yf(20093,n)}else if((g|0)==6){Bi(p);i=q;return a|0}return 0}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=de(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Fh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){Li(e,12319);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){Li(e,13882);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}Li(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=ch(j)|0;if(!(c[a>>2]|0))_h(12323,k);if(!(b&8))e=0;else{oh(l,De(36,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;oh(l,De(d,l)|0);e=e+1|0}i=m;return l|0}function Uc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Pj(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;je(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(fe(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Oj(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Oj(f);return e|0}function Vc(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(!(hf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);je(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 Wc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{je(l|0,b|0,d|0)|0;Pe(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;_h(17171,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Ec(a,j,k,l,g)|0;else{uc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Yc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=de(16)|0;else l=uf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=Mi(d,e)|0;else{k=uf(h,e+1|0)|0;c[l+4>>2]=k;je(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Qc(b,Rh(m)|0);return l|0}function _c(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Uj()|0;Jj(24320)|0;if((c[6087]|0)!=0&(a|0)==(c[6088]|0)){rg(2,13245,61)|0;_a(1)}Hj(24320)|0;Jj(24356)|0;Jj(24320)|0;c[6088]=a;c[6087]=1;Hj(24320)|0;if(!(c[6096]|0))c[6096]=pe(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Vg(d,64,13972,b)|0;a=Xe(c[6096]|0,d)|0;if(!a){a=de(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=zi(c[6096]|0,d,a)|0}Jj(24320)|0;c[6087]=0;Hj(24320)|0;Hj(24356)|0;i=e;return c[a+8>>2]|0}function $c(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=Fh(Qd(f)|0)|0;c[j>>2]=g;h=f;f=di(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;Li(g,h);Li(g,19829);m=f+1|0;h=m;f=di(m,47)|0}Li(g,h);f=ch(j)|0;j=Qd(d)|0;m=Qd(e)|0;m=j+3+m+(Qd(f)|0)|0;j=de(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;Vg(j,m,19831,k)|0;c[b+44>>2]=Xf(b,19840)|0;c[b+48>>2]=Xf(b,19847)|0;c[b+52>>2]=Xf(b,19858)|0}i=l;return}function ad(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=ui(b,d,0)|0;if((d|0)>-1){b=vg(b,1,d)|0;c[h>>2]=b;a:do if((((Yb(b,g,0)|0)!=0?(qg(14682,c[g>>2]|0)|0)!=0:0)?(Lf(g)|0,f=Lf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Nd(f)|0;if(e)while(1){if(!(Yb(c[h>>2]|0,g,0)|0))break a;f=Lf(g)|0;if(!f)break a;b=dh(f)|0;zi(e,b,Sh(th(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Ed(h)}else d=c[(Xh()|0)>>2]|0;i=j;return d|0}function cd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Rf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8864;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Xh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Cc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=de(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;He(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=rj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;_h(17132,j)}}else f=0;c[d+12>>2]=wg(b,f)|0;c[d+16>>2]=wg(b,f)|0;c[d+20>>2]=wg(b,f)|0;g=Ff(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;He(b,h,4,0);He(b,h,4,0);b=Di(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(lf(b,18565)|0){if(!(lf(b,15957)|0)){f=c[2077]|0;break}e=Yd(b,d)|0;if(!e){a:do if(!d)e=25080;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15985;break a}case 119:{e=15975;break a}default:{e=e<<24>>24==97?15964:25080;break a}}}while(0);d=ke(c[(Xh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;_h(15994,g)}else f=e}else f=c[2136]|0;while(0);i=h;return f|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;nd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=de(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;$c(a,b,h,d);c[e>>2]=0;b=a+44|0;j=zh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=zh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=zh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Hg(e);lj(c[a+40>>2]|0);lj(c[b>>2]|0);lj(c[f>>2]|0);lj(a);lj(h);lj(d);d=c[e>>2]|0}i=g;return d|0}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ze(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=yj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;Fj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Ih(15871,f);b=0;break}}else{kf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function id(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=de(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20805+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20805+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20805+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20805+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function jd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18171+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18171+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function kd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Yf(12464,k);l=fi()|0;if(Og(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=fi()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Yf(12487,f)}if(b|0?(cg(b,0)|0)<0:0)Yf(12514,g);if((d|0)!=1?(cg(d,1)|0)<0:0)Yf(12534,h);if((e|0)!=2?(cg(e,2)|0)<0:0)Yf(12555,j);qh();i=k;return}function ld(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(aj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Jg(c|0,d|0,10,0)|0;b=b+1|0;c=yh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=yh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=ec(a,b)|0;if((a|0)<0)a=-1;else{if((od(a,1e6)|0)>0)Vh(a,25080,0,0)|0;c[g>>2]=0;c[h>>2]=d;Vg(f,256,14124,h)|0;do if(Vh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,Vg(f,256,14134,j)|0,(Vh(a,f,0,0)|0)==0):0){Wg(a)|0;a=-1;break}if(!(Vh(a,14144,0,0)|0)){Wg(a)|0;a=-1}}else{Wg(a)|0;a=-1}while(0)}i=k;return a|0}function nd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=di(b,58)|0;if(!h)h=0;else{m=Mi(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=di(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){ue(l,1024,b,k+1-b|0);c[g>>2]=Ld(l)|0}j=di(b,47)|0;if(!j)j=b+(Qd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Ld(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Hf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(Xh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=ke(a)|0;Ih(13977,m)}i=n;return a|0}function pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=cf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=de(5)|0;c[g>>2]=f;if((sg(e,f,4)|0)<4)mi(g);else a[f+4>>0]=0;Wg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=$d(e)|0,mi(h),(g|0)!=0):0){h=Bg(Me(b)|0,33,b,0)|0;e=vg(b,d,wj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function qd(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Pc(g,21131,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=me(g)|0;i=j;return h|0}me(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function rd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=_d(a)|0;break}d=(Pj(a)|0)==0;b=_d(a)|0;if(!d)Oj(a)}else{if(!(c[2106]|0))b=0;else b=rd(c[2106]|0)|0;mb(24432);a=c[6107]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Pj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=_d(a)|0|b;if(d|0)Oj(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(24432)}while(0);return b|0}function sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Uf(e,0)|0;c[n>>2]=g;og(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Uf(d,e)|0;else if(!f){e=cf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Yf(13024,k)}else j=e}else j=0;c[m>>2]=j;e=sf(a,b,j,g)|0;Wf(m);if(!l)Wf(n);i=o;return e|0}function td(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[(Xh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function ud(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=fi()|0;c[g>>2]=f;Vg(a,256,17931,g)|0;d=$e(a,1)|0;c[g>>2]=d;if(!d){j=c[2107]|0;c[b>>2]=a;gh(j,17968,b)|0;a=j}else{while(1){if(!(gg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,17947)|0){j=5;break}}if((j|0)==5){j=c[2107]|0;c[h>>2]=f;c[h+4>>2]=a;gh(j,17954,h)|0}Ed(g);a=c[2107]|0}rd(a)|0;i=k;return}function vd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=he(k)|0;je(j|0,d|0,e|0)|0;lj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=Sh(d)|0;lj(c);c=l}i=h;return c|0}function wd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;uh(4,19900,j);h=Ne(a)|0;n=fd(h,20041)|0;c[j>>2]=n;Xi(n,b,0)|0;a=nf(g+256|0,f,e,n)|0;if(!(Lg(n)|0)){Bi(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;Ih(20044,k);c[l>>2]=h;Yf(20093,l)}return 0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;uh(4,19519,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(kc(a,f,e)|0){a=wf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];_h(19551,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function yd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((jh(f,12181,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function zd(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;Pe(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){Vc(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;Vc(h,f,a)|0}while(0);i=j;return}function Ad(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(!(hf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Bd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){ih(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=dd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;ih(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Cd(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(Lh(b)|0)){c=(Qd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;dj(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=di(b,47)|0;if(!b){Vf(e)|0;b=0;continue}else{a[b>>0]=0;Vf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Pj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Ad(d,b)|0;Oj(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Ad(d,b)|0}while(0);return e|0}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(bi(c[2136]|0)|0):0){Wg(c[d>>2]|0)|0;lj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else Jh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Cb[d&3](f);lj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Ud(g);mi(b)}return}function Fd(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=yh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,yh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=yh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(lf(a,18565)|0)if(lf(a,15957)|0){c[d>>2]=436;d=cf(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15985:15964;else d=15975;else d=16138;else d=16114;c[f>>2]=a;c[f+4>>2]=d;Yf(16149,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Hd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=sg(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Yf(16177,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;_h(16202,g)}else if((d|0)==8){i=h;return}}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((qf(a,20954)|0)!=0?(qf(a,20959)|0)!=0:0)if((qf(a,20967)|0)!=0?(qf(a,20971)|0)!=0:0)if((qf(a,20979)|0)!=0?(qf(a,20983)|0)!=0:0)if((qf(a,20991)|0)!=0?(qf(a,21e3)|0)!=0:0)if(!(qf(a,21013)|0))b=4;else{c[d>>2]=a;_h(21017,d)}else b=3;else b=2;else b=1;else b=0;i=e;return b|0}function Jd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=kg(h,f)|0;c[e+4>>2]=kg(h,f)|0;c[e+8>>2]=kg(h,f)|0;c[e+12>>2]=kg(h,f)|0;c[e+16>>2]=kg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=Sg(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Qd(b)|0;h=Qd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Qd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=de((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;dj(d,e)|0;j=a+g|0;i=d+(a-e)|0;dj(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}dj(d,e)|0;return f|0}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(jg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=de(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(jg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;fh(g,19823,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Md(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=nh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Nd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(aj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Pd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((jh(f,12181,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Qd(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 Rd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=sh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Rd(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 Sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Xe(c[e>>2]|0,d)|0)){zi(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;gh(g,18571,h)|0}}}while(0);i=j;return}function Td(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+4|0;c[e>>2]=a;Kh(e,b,12);if((c[e>>2]|0)!=6)_h(11474,d);c[2]=Qf(12169,c[2]|0)|0;hj(Qf(12174,Nj()|0)|0);g=c[b+4>>2]|0;f=c[b+8>>2]|0;a=Th(c[b+12>>2]|0)|0;e=Th(c[b+16>>2]|0)|0;Kc(g,f,a,e,Th(c[b+20>>2]|0)|0);if((Qj()|0)>1)ud();i=d;return 0}function Ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;_i(d);d=g}e=e+1|0}}else{Zh(b);b=d+8|0}while(0);lj(c[b>>2]|0);mi(a)}return}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=oc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((oc(a,4,f)|0)<0){c[g>>2]=ke(c[(Xh()|0)>>2]|0)|0;Ih(13551,g);d=-1}else d=0}else{c[e>>2]=ke(c[(Xh()|0)>>2]|0)|0;Ih(13520,e);d=-1}i=h;return d|0}function Wd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=24303;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Xd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18179+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18187+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18187+f>>0]}while(0);return}function Yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Lc(24020,a[d>>0]|0,4)|0){h=Af(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=hi(jb(5,e|0)|0)|0;if((e|0)>=0){b=wc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(Xh()|0)>>2]=22;b=0}i=g;return b|0}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;_h(16882,d)}d=gj(a,b)|0;if(!d){g=c[(Xh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;_h(16946,e)}else{i=f;return d|0}return 0}function _d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function $d(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(qg(18437,a)|0))if(!(qg(18440,a)|0))if(!(qg(18444,a)|0))if(!(qg(18447,a)|0))a=0;else{a=18452;e=5}else{a=18456;e=5}else{a=18460;e=5}else{a=18462;e=5}if((e|0)==5){c[d>>2]=a;Vg(b,20,18465,d)|0;a=Sh(b)|0}i=f;return a|0}function ae(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=yh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return yh((dc(h,g,yh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Zf(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ce(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=yg(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=qi(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;_h(17018,b)}b=Dj(a)|0;if(!b){f=c[(Xh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;_h(17071,d)}else{Pe(b|0,0,a|0)|0;i=e;return b|0}return 0}function ee(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(Lh(a)|0)){d=Yd(a,18435)|0;c[b>>2]=d;if(!d){a=0;break}else{Bi(b);a=1;break}}else{f=Wh()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;Ih(18405,d);a=0;break}}while(0);i=e;return a|0}function fe(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ge(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18119;break}case 2:{a=18098;break}case -1:{a=18087;break}case -2:{a=18071;break}case -3:{a=18071;break}case -4:{a=18056;break}case -5:{a=18041;break}case -6:{a=18022;break}case 0:{a=0;break}default:{c[b>>2]=a;Vg(24952,128,18003,b)|0;a=24952}}i=d;return a|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;_h(16758,b)}b=Dj(a)|0;if(!b){f=c[(Xh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;_h(16816,d)}else{i=e;return b|0}return 0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(Xh()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;je(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 ke(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22088+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22176;e=5;break}}if((e|0)==2)if(!c)b=22176;else{b=22176;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 le(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;lc(b,g);lc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){zf(e,2048,d);zf(f+2064|0,2048,g+2064|0)}g=Hc(f)|0;i=h;return g|0}function me(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Db[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Db[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function oe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;_h(15799,k)}else{c[j>>2]=e;oi(d,j)}return 0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=de(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16563,16615,357,16638);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Yg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=pi(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function qe(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Zf(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function re(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;Vg(h,256,14469,j)|0;j=id(h,Qd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;hh(e,14475,k);mi(g)}i=l;return}function se(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(24432);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6107]|0)==(a|0))c[6107]=b;eb(24432)}b=rd(a)|0;b=Fb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function te(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=Bf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16379;else e=(d|0)==2?16338:16347;else e=16370;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Yf(16388,g);return 0}function ue(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;_h(16503,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;Gi(b,e,f)|0;a[b+g>>0]=0;i=j;return}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=Nh(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f;if((b|0)<0){c[d>>2]=b;_h(20870,d)}a:do if((b|0)<2)d=0;else{e=1073741823;d=0;while(1){if(!a)break a;h=b-(c[a+4>>2]|0)|0;g=(h|0)>-1&(h|0)<(e|0);e=g?h:e;d=g?a:d;a=c[a>>2]|0}}while(0);i=f;return d|0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Wd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=hi(Pa(195,f|0)|0)|0}else d=hi(d)|0;i=g;return d|0}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;Vg(g,4096,14693,e)|0;a=pe(0,1)|0;c[e>>2]=a;if(((bd(g,14710,a)|0)==206?(b=Hh(a,14714)|0,(b|0)!=0):0)?(d=di(b,47)|0,(d|0)!=0):0){b=ld(d+1|0)|0;a=C}else{a=-1;b=-1}Ud(e);C=a;i=f;return b|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0;d=Wh()|0;a=gd(a,(b|0)==0?c[28]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(lh(e,19840)|0){if(!(Lh(e)|0))break a;if((zg(e)|0)>>>0<b>>>0)b=zg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function Ae(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2077]|0;if((c[f+76>>2]|0)>-1)g=Pj(f)|0;else g=0;do if((Ui(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=(Ad(f,10)|0)<0}while(0);if(g|0)Oj(f);return d<<31>>31|0}function Be(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=vi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function Ce(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;lj(e);f=f+1|0}lj(b);lj(i);i=h}mi(g+12|0);mi(g+28|0);mi(a)}return}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=de(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=de((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=Sh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;uh(4,20257,d);Dg(500);if((Pg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Oc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Xc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Ge(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(Uh(k,d,Qd(d)|0,h,8)|0))a=0;else{mh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Kf(b,a,e,f)|0}i=j;return a|0}function He(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;_h(19771,g)}else{i=h;return}}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;uh(4,20101,d);if((Pg(Ne(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Je(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2077]|0);if((b|0)==(c[2136]|0)|d)if(d){rd(b)|0;b=1}else b=1;else if(!(se(b)|0))b=1;else{Nf(16438,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Uc(b,d,1,a)|0)!=1:0){b=Lg(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;_h(16083,f)}else{f=ke(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;_h(16054,e)}}i=g;return}function Le(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Tg(b)|0;do if((f|0)!=0?(lf(f,17666)|0)!=0:0){d=ti(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;_h(17389,h)}else e=d;while(0);i=j;return e|0}function Me(a){a=a|0;var b=0;b=Sh(a)|0;if(!(((qg(18638,a)|0)==0?(qg(18646,a)|0)==0:0)?!(qg(18655,a)|0):0))yd(a,b,Qd(a)|0);if(!(lh(b,18477)|0))if(!(lh(b,18481)|0))if(!(lh(b,18484)|0)){a=(lh(b,18489)|0)==0;a=a?0:64}else a=100;else a=88;else a=76;lj(b);return a|0}function Ne(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(qg(19948,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)_h(19955,e);if(((((Tb(b,19982)|0)==0?(di(b,126)|0)==0:0)?(Tb(b,19985)|0)==0:0)?(Tb(b,19988)|0)==0:0)?(lh(19992,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;_h(19995,d);return 0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=pi(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;_h(17855,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Pe(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 Qe(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=cj(e&65535)|0;if(d){h=zj(hd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Re(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Qi(b,59)|0;if((g|0?qg(13870,g)|0:0)?(i=(di(g,61)|0)+1|0,h=di(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=ld(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=ld(b)|0;c[e>>2]=f}}return}function Se(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 Te(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=hi(pa(102,h|0)|0)|0;i=g;return e|0}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Fh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){Li(e,13882);b=c[d>>2]|0}Li(e,b);f=f+1|0}g=ch(g)|0;i=h;return g|0}function Ve(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=hi(pa(102,h|0)|0)|0;i=g;return e|0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(lf(a,19023)|0)if(!(lf(a,20290)|0)){d=Dh(a+4112|0,Nd(a+6160|0)|0)|0;break}else{c[e>>2]=b;_h(14427,e)}else d=ec(a+4112|0,Nd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((lf(c[e+4>>2]|0,d)|0)!=0);return e|0}function Ye(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((hi(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ze(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=di(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function _e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=qd(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=ge(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;_h(18135,g)}return 0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(lf(a,18565)|0){if(Me(a)|0){c=pd(a,b)|0;break}c=cf(a,0,c)|0;if((c|0)==-1)c=0;else c=vg(a,b,c)|0}else c=Ri(b)|0;while(0);i=d;return c|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=rg(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Yf(16244,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;_h(16270,e)}}function bf(b){b=b|0;var d=0,e=0,f=0;d=c[2107]|0;f=ke(c[(Xh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=Pj(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Df(b,Qd(b)|0,1,d)|0;Dd(58,d)|0;Dd(32,d)|0}Df(f,Qd(f)|0,1,d)|0;Dd(10,d)|0;if(e|0)Oj(d);return}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=hi(jb(5,f|0)|0)|0;i=e;return d|0}function df(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);ih(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;je(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=hi(pa(102,f|0)|0)|0;i=e;return d|0}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Nh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=sg(b,d,e)|0;a=a+16|0;b=a;b=Nh(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function hf(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 jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Nh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Nh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;af(b,d,e);return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((fc(2,a,d)|0)<0){b=ke(c[(Xh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Ih(15830,e);a=0}else{c[b>>2]=yj(c[d>>2]|0)|0;a=1}i=f;return a|0}function lf(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 mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Nh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Nh(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Hd(b,d,e);return}function nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Nh(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Nh(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Uc(b,1,d,e)|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Te(a,1,20,d,8)|0)>=0)if((Te(a,1,21,d,8)|0)<0){Ih(13415,e);a=-1}else a=0;else{Ih(13365,f);a=-1}i=f;return a|0}function pf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=vc(b,d,e)|0;i=g;return f|0}function qf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Oi(a[e>>0]|0)|0;c=c<<24>>24;b=(Oi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function rf(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 sf(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;og(b);a=Tc(a,b)|0;if(!(b&1)){b=Cg(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);Wf(f)}else eg(a,d,e,0,0);i=g;return a|0}function tf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Oe(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function vf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=dd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;_h(16452,g)}return 0}function wf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16552)|0;d=(b|0)!=0;if(d)zf(e,100,b);qa(16552,16555,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16552,e|0,1)|0;else ob(16552)|0;Oa();i=f;return b|0}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Lc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;je(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function yf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=hi(ib(10,b|0)|0)|0;if(b){if((c[(Xh()|0)>>2]|0)==21){c[d>>2]=a;b=hi(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Qd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;_h(15911,f)}else{dj(a,d)|0;i=g;return}}function Af(b){b=b|0;var c=0,d=0,e=0;d=(di(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(di(b,120)|0)==0;d=e?d:d|128;b=(di(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Bf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(hi(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Hd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Df(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=(Pj(e)|0)==0;a=Vc(a,f,e)|0;if(!g)Oj(e)}else a=Vc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=Nh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[28]|0)Ig(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;He(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=Ji(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Gf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2077]|0;else{Ae(13307)|0;Ae(13332)|0;d=c[2077]|0;Cc(d,a,b)|0;Dd(10,d)|0;rd(d)|0}rd(d)|0;d=c[2107]|0;Cc(d,a,b)|0;Dd(10,d)|0;rd(d)|0}return}function Hf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=hi(kb(142,h|0)|0)|0;i=g;return d|0}function If(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Jf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=he(h)|0;a=a+136|0;Ig(a,b,d+64|0,0)|0;mf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;nc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Hg(f);i=g;return c[f>>2]|0}function Lf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=th(e)|0,(a[d>>0]|0)!=0):0){e=dg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function Mf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=ke(c[(Xh()|0)>>2]|0)|0;c[g+4>>2]=a;fh(f,13359,g)|0;Mh(f,e);i=d;return}function Of(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?(Df(b,d,1,a)|0)!=1:0){a=ke(Lg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;_h(16024,e)}i=f;return}function Pf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else je(b,c,d)|0;return b|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[6099]|0;if((d|0?(e=Xg(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)_h(17787,f);f=Tg(a)|0;i=g;return ((f|0)==0?b:f)|0}function Rf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(fe(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;_h(12681,e)}}function Tf(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 Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=cf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Yf(12992,d)}else{i=e;return b|0}return 0}function Vf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Rg(a,511)|0)<0)if((c[(Xh()|0)>>2]|0)==17)b=0;else{bf(25080);c[d>>2]=a;_h(18347,d)}else b=1;i=e;return b|0}function Wf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Wg(b)|0)<0){c[d>>2]=b;Yf(12716,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Qd(c[g>>2]|0)|0;e=Qd(d)|0;b=de(f+2+e|0)|0;je(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;je(f+1|0,d|0,e|0)|0;return b|0}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=ke(c[(Xh()|0)>>2]|0)|0;c[f+4>>2]=a;fh(e,13359,f)|0;oi(e,d)}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function _f(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((Wg(b)|0)<0)Yf(16420,d);else{c[a>>2]=-1;break}while(0);i=e;return}function $f(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Ef(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Rc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Qd(a)|0;g=g+1+(Qd(b)|0)|0;d=de(g)|0;c[f>>2]=a;c[f+4>>2]=b;Ug(d,g,16433,f)|0;i=e;return d|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=xi(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18509,18531,352,18547)}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=hi(d)|0;i=f;return e|0}function dg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(aj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function eg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Cg(h)|0;bc(a,b,c[h>>2]|0,d,e,f);Wf(h);i=g;return}function fg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(Pg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function gg(b,d){b=b|0;d=d|0;a:while(1){if(!(Yb(b,d,0)|0)){b=0;break}switch(a[(th(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function hg(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;a=b-a*a/(+(c>>>0)+4294967296.0*+(d>>>0));if(d>>>0>0|(d|0)==0&c>>>0>1){d=Nh(c|0,d|0,-1,-1)|0;a=a/(+(d>>>0)+4294967296.0*+(C>>>0))}return +a}function ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=fg(b)|0;b=fd(b,20041)|0;g=he(f+1|0)|0;c[d>>2]=g;Ke(b,g,f);a[g+f>>0]=0;se(b)|0;if(e|0)c[e>>2]=f;return}function jg(a){a=a|0;a:do if(!(Wi(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function kg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=vi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;je(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function mg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){Bj(b+96|0);d=b+100|0;ph(d);ph(d);Ej(b+20|0);ac(b+8|0);lj(c[b+4>>2]|0);mi(a)}return}function ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=sg(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function og(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{_h(12190,c);break}default:{}}if((a&18|0)==16)_h(12256,b);else{i=c;return}}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Pj(a)|0)==0;b=Od(a,b,d)|0;if(!e)Oj(a)}else b=Od(a,b,d)|0;return b|0}function qg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=hi(pb(4,f|0)|0)|0;i=e;return a|0}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=hi(sb(3,f|0)|0)|0;i=e;return a|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;Vg(e,256,16560,f)|0;dh(e)|0;b=Xe(a,e)|0;i=d;return b|0}function ug(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Hd(a,d,4);a=c[d>>2]|0;if(b){a=vi(a|0)|0;c[d>>2]=a}i=e;return a|0}function vg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=de(104)|0;c[f+4>>2]=Sh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=de(65537)|0;return f|0}function wg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;He(a,d,4,0);a=c[d>>2]|0;if(b){a=rj(a)|0;c[d>>2]=a}i=e;return a|0}function xg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;He(a,d,2,0);a=b[d>>1]|0;if(c){a=sj(a)|0;b[d>>1]=a}i=e;return a|0}function yg(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function zg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((Pg(a,b)|0)<0){c[d>>2]=a;_h(18374,d)}else{i=e;return c[b+56>>2]|0}return 0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;_h(20644,d)}else{i=e;return b|0}return 0}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=sd(g,b,d,e)|0;i=f;return e|0}function Cg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((vh(b)|0)<0)Yf(12353,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Dg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Hf(0,0,0,0,b)|0}i=d;return}function Eg(b){b=b|0;var c=0,d=0;c=Qd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(aj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[11]|0)>=(a|0)){a=c[6097]|0;if(!a){a=c[2107]|0;c[6097]=a}Cc(a,b,d)|0;rd(c[6097]|0)|0}return}function Gg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Hg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Nh(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return te(b,d,e)|0}function Jg(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=If(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Kg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(lf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Lg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Pj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Oj(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Mg(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;a=fd(a,18435)|0;c[f>>2]=a;Of(a,b,d);Bi(f);i=e;return}function Ng(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=20300;c[a+4>>2]=352;_h(21110,a);return 0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=hi(cb(57,e|0)|0)|0;i=d;return a|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=hi(Pa(195,e|0)|0)|0;i=d;return a|0}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=hi(hb(38,e|0)|0)|0;i=d;return a|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=hi(Ia(39,e|0)|0)|0;i=d;return a|0}function Sg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=kj(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function Tg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6098]|0;if(!b)_h(17755,d);else{a=Ph(b,a)|0;i=d;return a|0}return 0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=dd(a,b,d,g)|0;i=f;return e|0}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=vf(a,b,d,g)|0;i=f;return e|0}function Wg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=hi((a|0)==-4?-115:a)|0;i=b;return a|0}function Xg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(lf(d,a)|0))break;b=b+8|0}return b|0}function Yg(a){a=a|0;var b=0;b=de(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Oe(b,a)|0;return b|0}function Zg(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=hi(Wa(6,d|0)|0)|0;i=b;return a|0}function _g(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]}function $g(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Eb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=de(d+1|0)|0;c=(c|0)<(d|0)?c:d;je(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function ch(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(17884,17895,40,17911);else{b=c[b+4>>2]|0;mi(a);return b|0}return 0}function dh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Oi(c<<24>>24)|0;d=d+1|0}return b|0}function eh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Pi(c<<24>>24)|0;d=d+1|0}return b|0}function fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ci(a,b,f)|0;i=e;return d|0}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Cc(a,b,f)|0;i=e;return d|0}function hh(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;Bd(a,b,f);i=e;return}function ih(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=xi(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=tf(a,b,f)|0;i=e;return d|0}function kh(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=Cc(c[2077]|0,a,e)|0;i=d;return b|0}function lh(a,b){a=a|0;b=b|0;var c=0;c=Qd(a)|0;c=c-(Qd(b)|0)|0;if((c|0)<0)c=0;else c=(lf(a+c|0,b)|0)==0&1;return c|0}function mh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=rj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=rj(c[a>>2]|0)|0}return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function oh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function ph(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;lj(b);b=d}c[a>>2]=0;return}function qh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Wg(b)|0;b=b+1|0}return}function rh(a){a=+a;var b=0;b=vi((g[k>>2]=a,c[k>>2]|0)|0)|0;return +(c[k>>2]=b,+g[k>>2])}function sh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function th(b){b=b|0;if(!b)b=0;else while(1)if(!(aj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function uh(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;Fg(a,b,f);i=e;return}function vh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(wa(42,d|0)|0)|0;i=b;return a|0}function wh(a,b,c){a=a|0;b=b|0;c=c|0;a=Zd(a,c)|0;if(c>>>0>b>>>0)Pe(a+b|0,0,c-b|0)|0;return a|0}function xh(){}function yh(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 (C=d,a-c>>>0|0)|0}function zh(a){a=a|0;var b=0;if(!a)a=de(8)|0;else{b=de((Qd(a)|0)+8|0)|0;dj(b+4|0,a)|0;a=b}return a|0}function Ah(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Dc(a,b,c,d,1,e,f,g)|0}function Bh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ib[a&1](b|0,c|0,d|0,e|0,f|0)|0}function Ch(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[11]=a;c[d>>2]=0;i=b;return}function Dh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;_h(18195,d);return 0}function Eh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=20300;c[a+4>>2]=360;_h(21110,a);return 0}function Fh(a){a=a|0;var b=0;b=de(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=de(a+1|0)|0;c[b+8>>2]=a;return b|0}function Gh(){var a=0,b=0;b=i;i=i+16|0;a=Mc(2,1,0)|0;if((a|0)<0)Ih(13490,b);i=b;return a|0}function Hh(a,b){a=a|0;b=b|0;a=tg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Ih(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;Mh(a,e);i=d;return}function Jh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Bc(b)|0;Ce(a)}return b|0}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6098]|0)){li(Wb(a,b,0,d,0)|0);c[6099]=d}return}function Lh(a){a=a|0;if((lf(a,18565)|0)!=0?(lf(a,15957)|0)!=0:0)a=(fg(a)|0)!=-1&1;else a=1;return a|0}function Mh(a,b){a=a|0;b=b|0;var d=0;d=_c()|0;Db[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Oh(a,b){a=a|0;b=b|0;var d=0;d=de(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function Ph(a,b){a=a|0;b=b|0;a=Xe(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function Rh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function Sh(a){a=a|0;var b=0;if(!a)a=0;else{b=Qd(a)|0;a=bh(a,b,b)|0}return a|0}function Th(a){a=a|0;var b=0;b=i;i=i+16|0;a=oe(a,0,b)|0;i=b;return a|0}function Uh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wc(a,b,c,e,0,d,0)|0}function Vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ki(a,b);return xc(a,b,c,d)|0}function Wh(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function Xh(){var a=0;if(!(c[6101]|0))a=24448;else a=c[(Uj()|0)+64>>2]|0;return a|0}function Yh(a){a=a|0;if(!a)a=0;else{a=th(a)|0;Eg(a)}return a|0}function Zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ph(b);lj(b);c[a>>2]=0}return}function _h(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;oi(a,d)}function $h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}
+function ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){lj(c[b+4>>2]|0);mi(a)}return}function bi(a){a=a|0;if((c[a+76>>2]|0)>-1?Pj(a)|0:0)Oj(a);return c[a+60>>2]|0}function ci(a,b,c,d){a=+a;b=+b;c=c|0;d=d|0;return +(+O(+(+hg(a,b,c,d))))}function di(b,c){b=b|0;c=c|0;b=Yc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ei(){var a=0;a=_c()|0;Gb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function fi(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function gi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){_f(b+52|0);mi(a)}return}function hi(a){a=a|0;if(a>>>0>4294963200){c[(Xh()|0)>>2]=0-a;a=-1}return a|0}function ii(a,b){a=a|0;b=b|0;var c=0;c=he(b)|0;je(c|0,a|0,b|0)|0;return c|0}function ji(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ki(a,b){a=a|0;b=b|0;if(!a)a=0;else a=td(a,b,0)|0;return a|0}function li(a){a=a|0;c[6098]=a;if(Tg(17247)|0)Ch(Le(17247,0)|0);return}function mi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)Gj(b);return}function ni(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function oi(a,b){a=a|0;b=b|0;c[(_c()|0)+4>>2]=1;Mh(a,b);ei()}function pi(a){a=a|0;var b=0;b=he(a)|0;Pe(b|0,0,a|0)|0;return b|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function ri(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;a=qe(a,b,c,0,-2147483648)|0;return a|0}function ti(a,b,c){a=a|0;b=b|0;c=c|0;a=qe(a,b,c,-2147483648,0)|0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;return pc(a,b,14651,14660,c)|0}function vi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function wi(a,b,c){a=a|0;b=b|0;c=c|0;return Hb[a&7](b|0,c|0)|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;return wh(a,b,c)|0}function yi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(7);return 0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;return Zc(a,b,Qd(b)|0,c)|0}function Ai(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Bi(a){a=a|0;if(!(Je(a)|0))ei();else return}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;return dd(a,2147483647,b,c)|0}function Di(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;Db[a&3](b|0,c|0)}function Fi(){if((ab(13340)|0)==0?(ab(13350)|0)==0:0)_a(-1);Za()}function Gi(a,b,c){a=a|0;b=b|0;c=c|0;Gc(a,b,c)|0;return a|0}function Hi(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;return xf(a,b,c)|0}function Ji(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function Ki(a,b){a=a|0;b=b|0;af(a,b,Qd(b)|0);return}function Li(a,b){a=a|0;b=b|0;ef(a,b,Qd(b)|0);return}function Mi(a,b){a=a|0;b=b|0;return bh(a,Qd(a)|0,b)|0}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return jd(a,b,0,c)|0}function Oi(a){a=a|0;var b=0;b=(uj(a)|0)==0;return (b?a:a&95)|0}function Pi(a){a=a|0;var b=0;b=(tj(a)|0)==0;return (b?a:a|32)|0}function Qi(a,b){a=a|0;b=b|0;return Gg(a,b,(Qd(a)|0)+1|0)|0}function Ri(a){a=a|0;return vg(18565,a,bi(c[2136]|0)|0)|0}function Si(a){a=a|0;if(!(c[a+68>>2]|0))Oj(a);return}function Ti(a){a=a|0;if(!(c[a+68>>2]|0))Oj(a);return}function Ui(a,b){a=a|0;b=b|0;return (Df(a,Qd(a)|0,1,b)|0)+-1|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;return jd(a,b,1,c)|0}function Wi(a){a=a|0;return ((a+-48|0)>>>0<10|(mj(a)|0)!=0)&1|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;return pg(a,b,c)|0}function Yi(a,b){a=a|0;b=b|0;return Fb[a&3](b|0)|0}function Zi(a,b){a=a|0;b=b|0;return bd(a,14688,b)|0}function _i(a){a=a|0;lj(c[a+4>>2]|0);lj(a);return}function $i(a,b){a=a|0;b=b|0;i=a;j=b}function aj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function cj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function dj(a,b){a=a|0;b=b|0;ad(a,b)|0;return a|0}function ej(a){a=a|0;return qc(a,-2003829722,18247)|0}function fj(a,b){a=a|0;b=b|0;Cb[a&3](b|0)}function gj(a,b){a=a|0;b=b|0;return ie(a,b)|0}function hj(a){a=a|0;c[28]=Sh(a)|0;return}function ij(a,b){a=a|0;b=b|0;return +(+be(a,b,1))}function jj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function kj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function lj(a){a=a|0;if(a|0)Gj(a);return}function mj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function nj(a,b){a=+a;b=+b;return +(+Mf(a,b))}function oj(a,b){a=+a;b=b|0;return +(+Md(a,b))}function pj(a){a=a|0;return Dd(a,c[2077]|0)|0}function qj(a,b){a=+a;b=b|0;return +(+Rd(a,b))}function rj(a){a=a|0;return vi(a|0)|0}function sj(a){a=a|0;return kj(a|0)|0}function tj(a){a=a|0;return (a+-65|0)>>>0<26|0}function uj(a){a=a|0;return (a+-97|0)>>>0<26|0}function vj(a,b){a=a|0;b=b|0;Qb(b);return}function wj(a){a=a|0;return c[a+16>>2]|0}function xj(a,b){a=+a;b=+b;return +(+ic(a,b))}function yj(a){a=a|0;return vi(a|0)|0}function zj(a){a=a|0;return vi(a|0)|0}function Aj(a,b){a=a|0;b=b|0;ba(6);return 0}function Bj(a){a=a|0;mi(a);return}function Cj(a){a=a|0;Gb[a&1]()}function Dj(a){a=a|0;return Kb(a)|0}function Ej(a){a=a|0;mi(a);return}function Fj(a){a=a|0;Qb(a);return}function Gj(a){a=a|0;Qb(a);return}function Hj(a){a=a|0;return 0}function Ij(a,b){a=a|0;b=b|0;ba(2)}function Jj(a){a=a|0;return 0}function Kj(a){a=a|0;i=a}function Lj(a){a=a|0;C=a}function Mj(a){a=a|0;ba(4);return 0}function Nj(){return c[28]|0}function Oj(a){a=a|0;return}function Pj(a){a=a|0;return 0}function Qj(){return c[11]|0}function Rj(){return C|0}function Sj(){return i|0}function Tj(a){a=a|0;ba(1)}function Uj(){return 0}function Vj(){ba(5)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[jj,pf,Ye,vc,Nc,lg,Hi,Ii];var Cb=[Tj,Ti,Si,Tj];var Db=[Ij,Gf,vj,Ij];var Eb=[ni,wd,Sc,_b,Ng,ni,ni,ni];var Fb=[Mj,Zg,zc,Mj];var Gb=[Vj,Fi];var Hb=[Aj,Ie,Ee,tc,xd,Eh,Aj,Aj];var Ib=[yi,cc];return{_llvm_bswap_i16:kj,_i64Subtract:yh,_free:Qb,_main:Td,_htonl:zj,_realloc:ie,_i64Add:Nh,_memmove:Pf,_pthread_self:Uj,_pthread_mutex_unlock:Hj,_memset:Pe,_malloc:Kb,_pthread_mutex_lock:Jj,_memcpy:je,_llvm_bswap_i32:vi,_bitshift64Lshr:sh,_htons:cj,_bitshift64Shl:nh,___errno_location:Xh,_ntohs:bj,runPostSets:xh,stackAlloc:ji,stackSave:Sj,stackRestore:Kj,establishStackSpace:$i,setThrew:Ai,setTempRet0:Lj,getTempRet0:Rj,dynCall_iiii:$h,dynCall_vi:fj,dynCall_vii:Ei,dynCall_iiiiiii:$g,dynCall_ii:Yi,dynCall_v:Cj,dynCall_iii:wi,dynCall_iiiiii:Bh}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigWigSummary_static.js.mem b/bedTools/bigWigSummary_static.js.mem
new file mode 100644
index 0000000000000000000000000000000000000000..8cb3d1126ffe43c87676ed80a990507bfb44019e
Binary files /dev/null and b/bedTools/bigWigSummary_static.js.mem differ
diff --git a/bedTools/bigWigToBedGraph.c b/bedTools/bigWigToBedGraph.c
new file mode 100644
index 0000000000000000000000000000000000000000..2b38c67f9402f5f773086278d8bbb4fb0413aaeb
--- /dev/null
+++ b/bedTools/bigWigToBedGraph.c
@@ -0,0 +1,109 @@
+/* bigWigToBedGraph - Convert from bigWig to bedGraph format.. */
+
+/* Copyright (C) 2011 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+#include "common.h"
+#include "linefile.h"
+#include "hash.h"
+#include "options.h"
+#include "localmem.h"
+#include "udc.h"
+#include "bigWig.h"
+#include "obscure.h"
+
+
+char *clChrom = NULL;
+int clStart = -1;
+int clEnd = -1;
+
+void usage()
+/* Explain usage and exit. */
+{
+errAbort(
+  "bigWigToBedGraph - Convert from bigWig to bedGraph format.\n"
+  "usage:\n"
+  "   bigWigToBedGraph in.bigWig out.bedGraph\n"
+  "options:\n"
+  "   -chrom=chr1 - if set restrict output to given chromosome\n"
+  "   -start=N - if set, restrict output to only that over start\n"
+  "   -end=N - if set, restict output to only that under end\n"
+  "   -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs\n"
+  );
+}
+
+static struct optionSpec options[] = {
+   {"chrom", OPTION_STRING},
+   {"start", OPTION_INT},
+   {"end", OPTION_INT},
+   {"udcDir", OPTION_STRING},
+   {NULL, 0},
+};
+
+void bigWigToBedGraph(char *inFile, char *outFile)
+/* bigWigToBedGraph - Convert from bigWig to bedGraph format.. */
+{
+struct bbiFile *bwf = bigWigFileOpen(inFile);
+FILE *f = mustOpen(outFile, "w");
+struct bbiChromInfo *chrom, *chromList = bbiChromList(bwf);
+for (chrom = chromList; chrom != NULL; chrom = chrom->next)
+    {
+    boolean firstTime = TRUE;
+    int saveStart = -1, prevEnd = -1;
+    double saveVal = -1.0;
+
+    if (clChrom != NULL && !sameString(clChrom, chrom->name))
+        continue;
+    char *chromName = chrom->name;
+    struct lm *lm = lmInit(0);
+    int start = 0, end = chrom->size;
+    if (clStart > 0)
+        start = clStart;
+    if (clEnd > 0)
+        end = clEnd;
+    struct bbiInterval *interval, *intervalList = bigWigIntervalQuery(bwf, chromName, 
+    	start, end, lm);
+    for (interval = intervalList; interval != NULL; interval = interval->next)
+	{
+	if (firstTime)
+	    {
+	    saveStart = interval->start;
+	    saveVal = interval->val;
+	    firstTime = FALSE;
+	    }
+	else
+	    {
+	    if (!((prevEnd == interval->start) && (saveVal == interval->val)))
+		{
+		fprintf(f, "%s\t%u\t%u\t%g\n", chromName, saveStart, prevEnd, saveVal);
+		saveStart = interval->start;
+		saveVal = interval->val;
+		}
+
+	    }
+	prevEnd = interval->end;
+	}
+    if (!firstTime)
+	fprintf(f, "%s\t%u\t%u\t%g\n", chromName, saveStart, prevEnd, saveVal);
+
+    lmCleanup(&lm);
+    }
+bbiChromInfoFreeList(&chromList);
+carefulClose(&f);
+bbiFileClose(&bwf);
+}
+
+int main(int argc, char *argv[])
+/* Process command line. */
+{
+optionInit(&argc, argv, options);
+clChrom = optionVal("chrom", clChrom);
+clStart = optionInt("start", clStart);
+clEnd = optionInt("end", clEnd);
+udcSetDefaultDir(optionVal("udcDir", udcDefaultDir()));
+if (argc != 3)
+    usage();
+bigWigToBedGraph(argv[1], argv[2]);
+if (verboseLevel() > 1)
+    printVmPeak();
+return 0;
+}
diff --git a/bedTools/bigWigToBedGraph_static.js b/bedTools/bigWigToBedGraph_static.js
new file mode 100644
index 0000000000000000000000000000000000000000..a7dc77f949b3371f9bd599f87f61a8a28aff427c
--- /dev/null
+++ b/bedTools/bigWigToBedGraph_static.js
@@ -0,0 +1,16 @@
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26720;__ATINIT__.push();memoryInitializer="bigWigToBedGraph_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=kc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=20709;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=20736;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=hc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=20686;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=20709;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=20756;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=oi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=20820;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=20849;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=hc(o,q,r)|0;else o=kc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=oi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=21023;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=hc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11204+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=21044;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=kc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}fe(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11204+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=20885;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9028;c[H>>2]=9;c[I>>2]=11076;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=20801;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=20910;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=20910;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=20936;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=20973;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21001;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=21119;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;fe(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=kc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=21097;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=20781;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=kc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=21067;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Ic(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=hc(j,h,k)|0;else h=kc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6002]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=24048+(b<<1<<2)|0;e=d+8|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[6006]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6002]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6004]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=24048+(b<<1<<2)|0;e=d+8|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[6006]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6004]|0;break}else Za()}else{c[6002]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6007]|0;b=l>>>3;d=24048+(b<<1<<2)|0;a=c[6002]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{m=a;n=b}}else{c[6002]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6004]=h;c[6007]=e;N=j;i=O;return N|0}a=c[6003]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24312+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6006]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6003]=c[6003]&~(1<<a);break}}else{if(h>>>0<(c[6006]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6006]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6006]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6004]|0;if(a|0){f=c[6007]|0;b=a>>>3;e=24048+(b<<1<<2)|0;a=c[6002]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{r=a;s=b}}else{c[6002]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6004]=d;c[6007]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6003]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24312+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24312+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6004]|0)-q|0)>>>0:0){f=c[6006]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6003]=c[6003]&~(1<<a);break}}else{if(g>>>0<(c[6006]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6006]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6006]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=24048+(a<<1<<2)|0;b=c[6002]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{w=a;x=b}}else{c[6002]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24312+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6003]|0;b=1<<d;if(!(a&b)){c[6003]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6006]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6004]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6007]|0;if(a>>>0>15){N=b+q|0;c[6007]=N;c[6004]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6004]=0;c[6007]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6005]|0;if(a>>>0>q>>>0){L=a-q|0;c[6005]=L;N=c[6008]|0;M=N+q|0;c[6008]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6120]|0)){c[6122]=4096;c[6121]=4096;c[6123]=-1;c[6124]=-1;c[6125]=0;c[6113]=0;x=p&-16^1431655768;c[p>>2]=x;c[6120]=x}h=q+48|0;g=c[6122]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6112]|0;if(a|0?(w=c[6110]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6113]&4)){a=c[6008]|0;c:do if(a){d=24456;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6005]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6121]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6110]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6112]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6122]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6113]=c[6113]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6110]|0)+f|0;c[6110]=a;if(a>>>0>(c[6111]|0)>>>0)c[6111]=a;j=c[6008]|0;do if(j){e=24456;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6005]|0)|0;c[6008]=M;c[6005]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6009]=c[6124];break}a=c[6006]|0;if(h>>>0<a>>>0){c[6006]=h;k=h}else k=a;d=h+f|0;a=24456;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24456;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6007]|0)){N=(c[6004]|0)+g|0;c[6004]=N;c[6007]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24312+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6006]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6003]=c[6003]&~(1<<b);break e}while(0);e=c[6006]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6006]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=24048+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6002]=c[6002]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=24048+(a<<1<<2)|0;b=c[6002]|0;a=1<<a;do if(!(b&a)){c[6002]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6006]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24312+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6003]|0;b=1<<d;if(!(a&b)){c[6003]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6006]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6005]|0)+g|0;c[6005]=N;c[6008]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24456;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6008]=N;c[6005]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6009]=c[6124];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6114];c[a+4>>2]=c[6115];c[a+8>>2]=c[6116];c[a+12>>2]=c[6117];c[6114]=h;c[6115]=f;c[6117]=0;c[6116]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=24048+(a<<1<<2)|0;b=c[6002]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{J=a;K=b}}else{c[6002]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24312+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6003]|0;b=1<<d;if(!(a&b)){c[6003]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6006]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6006]|0;if((N|0)==0|h>>>0<N>>>0)c[6006]=h;c[6114]=h;c[6115]=f;c[6117]=0;c[6011]=c[6120];c[6010]=-1;a=0;do{N=24048+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6008]=M;c[6005]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6009]=c[6124]}while(0);a=c[6005]|0;if(a>>>0>q>>>0){L=a-q|0;c[6005]=L;N=c[6008]|0;M=N+q|0;c[6008]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(Qh()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0}while((Vi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=ad(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23839+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ad(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23848+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ad(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=ad(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Qh()|0)>>2]=22;Wf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=ad(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ad(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;k=Ih(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Ih(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=ad(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Wf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Ih(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=qc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Wf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=jh(o|0,n|0,2)|0;H=Ih(H|0,C|0,-32,-1)|0;e=Ih(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Qh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(Qh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Ih(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=th(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Ih(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+gj(+Jd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Qh()|0)>>2]=34;g=+hj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ad(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Ih(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Ih(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=qc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Wf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Ih(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Qh()|0)>>2]=22;Wf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Qh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(Qh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8996+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8996+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8996+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=jh(c[p>>2]|0,0,29)|0;o=Ih(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=ji(o|0,n|0,1e9,0)|0;o=ug(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+gj(+Jd(1.0,105-o|0),j);m=+pj(j,+Jd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+pj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Qh()|0)>>2]=34}while(0);g=+hj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Qh()|0)>>2]=22;Wf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Qh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Tc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[21147+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}pc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=nh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21627;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21627;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=th(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21627;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21627:21629;L=76}else{p=1;r=21628;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21627;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21627;o=N;break}case 109:{o=ge(c[(Qh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23529;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){xd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23537:23542}else{G=1;H=23539}else{q=-q;G=1;H=23536}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+ij(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=_d(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21611+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;xd(e,32,K,r,I);if(!(c[e>>2]&32))Tc(y,w,e)|0;xd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Tc(ea,o,e)|0;f=ba-p|0;xd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Tc(t,f,e)|0;xd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=jh(c[r>>2]|0,0,t|0)|0;B=Ih(B|0,C|0,o|0,0)|0;o=C;A=ug(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=ji(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=_d(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;xd(e,32,K,w,I);if(!(c[e>>2]&32))Tc(H,G,e)|0;xd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=_d(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ke(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Tc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Tc(23567,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=_d(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ke(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Tc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}xd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=_d(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Tc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Tc(23567,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ke(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Tc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}xd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Tc(u,ba-u|0,e)|0}while(0);xd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;xd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Tc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Tc(s?(t?23848:23563):t?23555:23559,3,e)|0;xd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21627;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21611+(o&15)>>0]|r;o=nh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21627;L=77}else{o=t;t=2;r=21627+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21627;L=77}}else if((L|0)==76){f=_d(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Jc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21627;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=di(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}xd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=di(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Tc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;xd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;xd(e,32,o,s,p);if(!(c[e>>2]&32))Tc(v,w,e)|0;xd(e,48,o,s,p^65536);xd(e,48,r,t,0);if(!(c[e>>2]&32))Tc(f,t,e)|0;xd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;pc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Hj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Vi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Wf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ad(e)|0}while((Vi(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Wf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((ad(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ke(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ke(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ad(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(yc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=ee(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(ki(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=ee(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Wf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ad(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Vi(d[m>>0]|0)|0))break;else n=m}Wf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ad(e)|0}while((Vi(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)Gj(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Ih(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[33]|0)==0?(gf(c[a+8>>2]|0,19343)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Ih(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Ih(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Ih(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Ih(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=th(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Ih(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=th((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=th(k|0,j|0,f|0,d|0)|0;fe(b|0,B+f|0,o|0)|0;e=Ih(o|0,E|0,e|0,n|0)|0;f=C;d=th(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Ih(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Fg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=$d(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Ih(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=th(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[33]|0){y=Ih(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Ih(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=ji(k|0,j|0,w|0,0)|0;t=Ih(A|0,B|0,-1,-1)|0;t=Ih(t|0,C|0,w|0,0)|0;w=ji(t|0,C|0,w|0,0)|0;t=m+52|0;Ff(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((Fi(u,d,s)|0)<(s|0))f=0;else{ej(u);j=B;k=A;continue}while(1){o=Fi(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Oi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Gg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Gg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Ih(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=th(f|0,j|0,p|0,q|0)|0;k=C;f=de(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Fg(Z,c[K>>2]|0,p,0)|0;ef(Z,c[K>>2]|0,f,j);fi(W)}Td(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Fg(P,c[t>>2]|0,da+64|0,0)|0;ef(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}ej(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Fg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}hf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Uh(19355,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;ph(4,19411,$);ph(4,19457,aa);S=0;T=0;break}else if((n|0)==36){hf(Z,j,f,h);S=ba;S=Ih(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Ih(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[33]|0:d;c[I>>2]=b;c[I+4>>2]=m;ph(4,19573,I);if(0){c[e>>2]=b;dh(0,19594,e)|0}c[h>>2]=0;c[n>>2]=0;ld(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){ej(d);u=Mh(19343)|0;c[h>>2]=u;ej(c[n>>2]|0);c[n>>2]=Mh(b)|0;j=1}else{u=d;j=0}h=u;g=$d(16)|0;do if(!(gf(u,19603)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=19603}else{if(!(gf(u,19838)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=19838;break}if(gf(u,18732)|0?gf(u,19999)|0:0){if(!(gf(u,20005)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=20005;break}if(!(gf(u,19343)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=19343;break}else{c[k>>2]=u;Uh(20041,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=18732}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[33]|0?(l=(ue(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){fi(o);ej(u);ej(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=$d(312)|0;c[d+4>>2]=Mh(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;Zc(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[33]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(Gh(c[g>>2]|0)|0))t=29;else{ae(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[33]|0;if(g){Ad(c[d+40>>2]|0);p=d+44|0;n=Ac(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(Gh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;ph(4,20130,s);$h(G);uf(c[p>>2]|0)|0;uf(c[K>>2]|0)|0;g=d+52|0;if(Gh(c[g>>2]|0)|0)uf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];ph(4,20221,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Ed(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=Ih(h|0,k|0,8191,0)|0;k=nh(k|0,C|0,13)|0;Xe(j,A,4);Xe(j,x,4);Xe(j,I,8);Xe(j,v,8);Xe(j,w,4);Xe(j,y,4);Xe(j,z,8);Xe(j,z,8);Xe(j,z,8);Xe(j,z,8);g=d+136|0;h=Fg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Uh(20271,D)}a[E>>0]=0;Fg(g,j,((k+7|0)/8|0)+-1|0,1)|0;ef(g,j,E,1);Xf(B);c[B>>2]=Ed(c[d+48>>2]|0,577)|0;Xf(B);g=Ac(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Uh(20338,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=xf(c[f+52>>2]|0,0,1)|0;Fd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=Ih(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=nh(H|0,C|0,13)|0;H=(Fi(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Fg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Ed(c[d+48>>2]|0,2)|0;if(mg(18732,u)|0){c[I>>2]=0;j=d+52|0;if(Gh(c[j>>2]|0)|0)eg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;uf(c[j>>2]|0)|0;break}else{if(!(Hg(g,h)|0))break;K=Zf(c[j>>2]|0,20368)|0;H=c[f>>2]|0;Jg(K,H,Nd(H)|0);Ng(K,c[j>>2]|0)|0;ej(K);break}}else c[d+132>>2]=Mh(c[I>>2]|0)|0;while(0);ej(c[I>>2]|0)}}}else{if(!(Gh(b)|0)){d=0;break}K=Ed(b,0)|0;c[d+56>>2]=K;se(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}ej(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6006]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6007]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6004]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=24048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6002]=c[6002]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=24312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6003]=c[6003]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6006]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6006]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6006]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6008]|0)){p=(c[6005]|0)+g|0;c[6005]=p;c[6008]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6007]|0))return;c[6007]=0;c[6004]=0;return}if((m|0)==(c[6007]|0)){p=(c[6004]|0)+g|0;c[6004]=p;c[6007]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=24312+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6003]=c[6003]&~(1<<a);break}}else{if(f>>>0<(c[6006]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6006]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6006]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=24048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6006]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6002]=c[6002]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6006]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6007]|0)){c[6004]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=24048+(a<<1<<2)|0;b=c[6002]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{o=a;p=b}}else{c[6002]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24312+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6003]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6006]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6003]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6010]|0)+-1|0;c[6010]=q;if(!q)a=24464;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6010]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10792;C=256;D=10918}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11242;C=-1;D=11368}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6006]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6007]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6004]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=24048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6002]=c[6002]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=24312+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6003]=c[6003]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6006]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6006]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6006]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6006]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6008]|0)){q=(c[6005]|0)+g|0;c[6005]=q;c[6008]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6007]|0))return;c[6007]=0;c[6004]=0;return}if((o|0)==(c[6007]|0)){q=(c[6004]|0)+g|0;c[6004]=q;c[6007]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=24312+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6003]=c[6003]&~(1<<d);break}}else{if(f>>>0<(c[6006]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6006]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6006]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=24048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6002]=c[6002]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6007]|0)){c[6004]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=24048+(d<<1<<2)|0;a=c[6002]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6006]|0)>>>0)Za();else{p=d;q=a}}else{c[6002]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24312+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6003]|0;a=1<<b;if(!(d&a)){c[6003]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6006]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6006]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Yh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Ne(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Jc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Qh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0}while((Vi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=ad(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ad(b)|0;if((d[23574+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Wf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23574+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Wf(b,0);c[(Qh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ad(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Gg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Ih(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23830+((e*23|0)>>>5&7)>>0]|0;j=a[23574+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23574+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=nh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=jh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23574+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23574+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23574+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=ji(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Gg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Ih(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23574+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23574+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0}while((d[23574+i>>0]|0)>>>0<e>>>0);c[(Qh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Qh()|0)>>2]=34;g=Ih(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Qh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=th(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=21067;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=21097;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=21119;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=le(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(gf(r,16933)|0)){j=g;h=k;N=4;break}s=Yh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Vi(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Nd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)ri(Q,o,(m|0)==0?17355:m)|0;else{l=Ug(o,f)|0;if(!l){l=Ug(o,68)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}mi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}li(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+bj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+bj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17355:m;l=Ug(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=Kh(Q,o)|0;l=uh(m)|0;if(!n){ri(Q,o,l)|0;break}else{kh(n,l);break}}ri(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Uh(16944,z);break}case 34:{c[A>>2]=o;Uh(16970,A);break}case 36:{c[K>>2]=o;Uh(17009,K);break}case 38:{c[L>>2]=o;Uh(17045,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Uh(17078,B);break}case 43:{c[C>>2]=o;Uh(17045,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Uh(17120,D);break}case 48:{c[E>>2]=o;Uh(17164,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Uh(17199,F);break}case 53:{c[G>>2]=o;Uh(17239,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Uh(17275,H);break}case 57:{c[I>>2]=c[l>>2];Uh(17316,I);break}case 65:{Uh(17358,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,13590)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Me(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(og(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(Qh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(mg(14402,f)|0))m=c[F>>2]|0;else{Hf(F)|0;f=Hf(F)|0;if(!f){O=20;break a}if((((mg(15042,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(gf(f,15045)|0)if(gf(f,15049)|0){if(I?(g=gf(f,15053)|0,!((H|g|0)==0&G)):0)if(!(gf(f,15057)|0)){f=o;break}else{O=30;break a}if(!(gf(f,15144)|0)){O=34;break a}if(!(gf(f,15053)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Yh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=oh(f+1|0)|0}if(!(mf(m,15196)|0)){if(o|0)c[e>>2]=Mh(f)|0;if(k)h=Mh(f)|0}}while(!(I&(mf(m,15205)|0)==0));if((mg(15219,f)|0)!=0?(q=(Yh(f,32)|0)+1|0,r=Yh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=jd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=jd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=ge(f)|0;c[z+4>>2]=d;Ch(14853,z);f=0;break}case 10:{c[v>>2]=d;Ch(14890,v);f=0;break}case 11:{c[x>>2]=d;Ch(14946,x);f=0;break}case 15:{c[y>>2]=2e3;Ch(14978,y);f=0;break}case 20:{c[u>>2]=d;Ch(15016,u);f=0;break}case 30:{if(!g)Ch(15061,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Ch(15104,E);f=0;break}case 34:{c[w>>2]=d;Ch(15148,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Ch(15173,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Sg(N,256,13692,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Ch(15226,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24632:15320;c[K+8>>2]=f?15045:15049;c[K+12>>2]=h|0?h:15336;Ch(15346,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Sg(N,256,13692,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Ch(15387,M);f=0}break}}i=P;return f|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=vi(h)|0;c[b+16>>2]=e;f=td(c[f>>2]|0)|0;if(!f){s=0;break}s=Nd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;ej(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}ke(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Lf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=jg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;ke(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;_f(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Pd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Uh(18284,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Pd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Pd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Zb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((mg(18347,b)|0)==0?(mg(18355,b)|0)==0:0)?(mg(18364,b)|0)==0:0){c[j>>2]=b;Uh(18427,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;ph(4,18371,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=th(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;ph(4,18662,m);Xf(x);j=h+128|0;if((c[j>>2]|0)>0)Xf(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;ph(4,18509,n);j=h+256|0;k=c[x>>2]|0;if(!(c[5988]|0)){c[5988]=$d(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=cf(j,k,c[5988]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=th(l|0,m|0,n|0,I|0)|0;J=C;I=Ih(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;Uf(18558,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=Ih(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Uh(18611,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=Ih(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=he(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;Sg(y,2048,18713,z)|0;j=fc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(mg(18732,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Hc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){ej(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Uh(18737,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=cf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)Uf(18766,G);else F=j;K=h+120|0;J=K;J=Ih(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function _b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6006]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6122]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6008]|0)){d=(c[6005]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6008]=l;c[6005]=m;return a|0}if((k|0)==(c[6007]|0)){e=(c[6004]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6004]=d;c[6007]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=24312+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6003]=c[6003]&~(1<<d);break}}else{if(h>>>0<(c[6006]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6006]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6006]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=24048+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6002]=c[6002]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function $b(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;dh(0,20391,b)|0}b=d+112|0;if(c[b>>2]|0)Xf(b);b=d+128|0;if(c[b>>2]|0)Xf(b);ej(c[d+4>>2]|0);ej(c[d+8>>2]|0);fi(d+12|0);ej(c[d+40>>2]|0);ej(c[d+44>>2]|0);ej(c[d+48>>2]|0);ej(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Xf(b);$h(d+80|0)}fi(a);i=e;return}function ac(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(12091,12111,448,12127);h=ya()|0;c[s>>2]=h;if((h|0)<0)Uf(12140,l);if(h|0)if(!(Lg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Uf(12678,k)}r=_h()|0;c[s>>2]=r;if(Lg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Uf(12151,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=zg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Of(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Sf(t);if(c[k>>2]|0)Sf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Uf(12140,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){id(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Uf(12385,o)}id(k,0,h,e);h=ng(1,f,g)|0;if((h|0)<0)Uf(12296,p);if((h|0)==(g|0)){Tg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Uh(12331,q)}}else if((b|0)==28){Tg(0)|0;Tg(1)|0;mh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Of(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Uf(12458,u);else if((b|0)==35){c[v>>2]=h;Uh(12473,v)}else if((b|0)==39){v=Pe(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Uh(12503,w)}else if((b|0)==41)Da(12558,12111,242,12582);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2112]|0;v=Pe(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;dh(h,12601,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12648,12111,396,12668);else if((b|0)==49)_a(0)}}function bc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+64|0;J=K+8|0;I=K+56|0;H=K+52|0;E=K+48|0;D=K+44|0;F=K+40|0;G=K+16|0;if((c[a+12>>2]|0)!=-2003829722)Uh(17944,K);Yf(a);c[I>>2]=0;g=Be(a,c[a+96>>2]|0,b,d,e,0)|0;c[H>>2]=g;A=c[a+8>>2]|0;B=c[a+16>>2]|0;y=a+80|0;b=c[y>>2]|0;if(!b)z=0;else z=de(b)|0;t=(z|0)==0;u=G+20|0;v=G+4|0;w=G+16|0;x=G+12|0;b=g;a:while(1){if(!b){b=32;break}re(b,E,D);s=b+8|0;p=c[s>>2]|0;s=c[s+4>>2]|0;q=c[E>>2]|0;o=q+8|0;q=q+16|0;r=c[q>>2]|0;q=c[q+4>>2]|0;o=th(c[o>>2]|0,c[o+4>>2]|0,p|0,s|0)|0;q=Ih(o|0,C|0,r|0,q|0)|0;r=C;Af(A,p,s);s=de(q)|0;Ce(A,s,q,r);r=s;while(1){if((b|0)==(c[D>>2]|0))break;q=b+16|0;a=c[q>>2]|0;if(t){c[F>>2]=r;p=r+a|0}else{c[F>>2]=z;p=Ve(r,a,z,c[y>>2]|0)|0;p=(c[F>>2]|0)+p|0}Gd(F,G,B);n=c[u>>2]|0;o=n>>>16;b:do switch(n&255|0){case 1:{g=0;while(1){if((g|0)==(o|0))break b;k=gg(F,B)|0;a=gg(F,B)|0;j=+we(F,B);k=k>>>0<d>>>0?d:k;a=a>>>0>e>>>0?e:a;if(k>>>0<a>>>0){n=qf(f,24)|0;c[n+4>>2]=k;c[n+8>>2]=a;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}g=g+1|0}}case 2:{a=c[w>>2]|0;k=0;while(1){if((k|0)==(o|0))break b;l=gg(F,B)|0;g=a+l|0;j=+we(F,B);l=l>>>0<d>>>0?d:l;g=g>>>0>e>>>0?e:g;if(l>>>0<g>>>0){n=qf(f,24)|0;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}k=k+1|0}}case 3:{m=c[v>>2]|0;a=c[x>>2]|0;k=(c[w>>2]|0)+m|0;l=0;while(1){if((l|0)==(o|0))break b;j=+we(F,B);n=m>>>0<d>>>0?d:m;g=k>>>0>e>>>0?e:k;if(n>>>0<g>>>0){L=qf(f,24)|0;c[L+4>>2]=n;c[L+8>>2]=g;h[L+16>>3]=j;c[L>>2]=c[I>>2];c[I>>2]=L}k=a+k|0;l=l+1|0;m=a+m|0}}default:{b=27;break a}}while(0);if((c[F>>2]|0)!=(p|0)){b=29;break a}b=c[b>>2]|0;r=r+(c[q>>2]|0)|0}ej(s)}if((b|0)==27){c[J>>2]=18e3;c[J+4>>2]=269;Uh(20009,J)}else if((b|0)==29)Da(18016,18e3,272,18036);else if((b|0)==32){ej(z);lh(H);Eg(I);i=K;return c[I>>2]|0}return 0}function cc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Pf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Pf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Ih(m|0,l|0,-1,-1)|0;d=C;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;th(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=th(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Le(a,b,d)|0){b=Ah()|0;if((b|0)>=0){if((Rd(b,1)|0)<0){Tg(b)|0;b=-1;break}b:do if((bf(b,d,16)|0)<0){n=Qh()|0;d=c[n>>2]|0;if((d|0)!=115){w=ge(d)|0;c[e>>2]=d;c[e+4>>2]=w;Ch(13526,e);Tg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Df(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=ge(d)|0;c[t>>2]=d;c[t+4>>2]=C;Ch(13302,t);Tg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Ch(13434,u);Tg(b)|0;e=23;break}c[r>>2]=4;do if((Qe(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=ge(d)|0;c[w>>2]=d;c[w+4>>2]=C;Ch(13390,w);Tg(b)|0;break}}else{B=c[n>>2]|0;C=ge(B)|0;c[v>>2]=B;c[v+4>>2]=C;Ch(13360,v);Tg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Rd(b,0)|0)<0){Tg(b)|0;b=-1;break}if((kf(b,120)|0)<0){Tg(b)|0;b=-1}}}else b=-1;else{Ch(13182,x+24|0);b=-1}while(0);i=x;return b|0}function ec(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Lf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ke(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ec(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(Qh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,13586)|0))e=_e(b,0,r)|0;else{if((mg(18347,b)|0)==0?(mg(18355,b)|0)==0:0){if(!(mg(18364,b)|0)){c[g>>2]=b;Uh(14786,g)}jc(b,o);if(gf(o,20005)|0){c[f>>2]=b;Uh(14449,f)}b=o+4112|0;g=kd(b,Kd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(Oh(g,14496,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,Sg(m,256,14503,j)|0,(Oh(g,m,0,0)|0)==0):0){Tg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Nd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14515:14520;c[k+4>>2]=j;Sg(m,256,14525,k)|0;Ci(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Yh(j,40)|0;a[(Yh(j,41)|0)>>0]=0;if((Ae(s+1|0,14533,k,7)|0)!=6)Uh(14535,h);f=(Kd(c[k+16>>2]|0)|0)<<8;f=dc(b,(Kd(c[k+20>>2]|0)|0)+f|0)|0;Wh(l);if((f|0)<0){Tg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((md(f,1e6)|0)>0){b=26;break}if((md(g,0)|0)>0?(wc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Ch(14571,n);Tg(g)|0;Tg(f)|0;e=-1;break}else if((b|0)==24){Tg(g)|0;Tg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}pd(c[2141]|0)|0;pd(c[2082]|0)|0;pd(c[2112]|0)|0;b=$d(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;fe(b+20|0,o|0,10280)|0;f=b+4|0;if(qh(f)|0){c[p>>2]=ge(c[(Qh()|0)>>2]|0)|0;Uh(14636,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=ge(b)|0;c[q>>2]=b;c[q+4>>2]=s;Uh(14740,q)}}}else{Tg(g)|0;e=-1}while(0)}break}e=ni(b,14430,0)|0}while(0);i=r;return e|0}function gc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=nh(d|0,m|0,52)|0;e=e&2047;j=nh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=jh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=jh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=jh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=jh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=jh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=jh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=jh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=jh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=th(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=jh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=th(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=jh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Ih(d|0,f|0,0,-1048576)|0;d=C;e=jh(e|0,0,52)|0;d=d|C;e=o|e}else{e=nh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;jc(b,h);if(gf(h,20005)|0){c[g>>2]=b;Uh(13715,g)}b=h+6176|0;if(gf(b,19538)|0){p=kd(h+4112|0,Kd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;Sg(k,256,13873,q)|0;c[t>>2]=0;do if(Oh(p,k,t,0)|0){if((Ae(c[(c[t>>2]|0)+4>>2]|0,13602,l,3)|0)!=2)Uh(13883,j);n=l+4|0;j=jd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Wh(t);c[s>>2]=b;Sg(k,256,13919,s)|0;if(!(Oh(p,k,t,0)|0)){Tg(p)|0;f=0;break}b=Ae(c[(c[t>>2]|0)+4>>2]|0,13602,l,3)|0;if((b|0)!=2){c[m>>2]=b;Uh(13929,m)}j=c[n>>2]|0;if((Nd(j)|0)>>>0<14){c[o>>2]=j;Uh(13971,o)}b=s;g=14020;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14040,q|0)|0)){c[r>>2]=s;Uh(14058,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Uh(14091,u)}else{c[e>>2]=b;Wh(t);Tg(p)|0;f=1;break}}else{Tg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Nd(b)|0)>>>0>4095){c[e>>2]=b;Uh(13567,e)}Yi(f,b)|0;Rh(f)|0;b=Tb(f,13586)|0;if(!b){a[d>>0]=a[18732]|0;a[d+1>>0]=a[18733]|0;a[d+2>>0]=a[18734]|0;a[d+3>>0]=a[18735]|0;a[d+4>>0]=a[18736]|0}else{a[b>>0]=0;bh(f)|0;vf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Yh(f,47)|0;if(g){Me(g,b,e,1);if(!((mf(d,18732)|0)!=0?(mf(d,19999)|0)!=0:0)){e=Hd(g,13602,13604)|0;vf(d+6176|0,4096,e);ej(e)}a[g>>0]=0;if(!(mf(d,20005)|0)){g=g+1|0;Md(g,d+6176|0,Nd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Yh(f,64)|0;if(!g){if(!((mf(d,18732)|0)!=0?(mf(d,19999)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(mf(d,20005)|0)){b=d+16|0;e=13608;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13618;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Yh(f,58)|0;if(!b){e=d+16|0;vf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;vf(e,2048,f);f=d+2064|0;vf(f,2048,b+1|0);b=f}wd(e,e,Nd(e)|0);wd(b,b,Nd(b)|0);f=g+1|0}b=Yh(f,58)|0;do if(!b){if(!(mf(d,18732)|0)){h=d+6160|0;a[h>>0]=a[13636]|0;a[h+1>>0]=a[13637]|0;a[h+2>>0]=a[13638]|0}if(!(mf(d,19999)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(mf(d,20005)|0)){h=d+6160|0;a[h>>0]=a[13639]|0;a[h+1>>0]=a[13640]|0;a[h+2>>0]=a[13641]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){vf(d+6160|0,16,e);break}else{c[h>>2]=e;Uh(13642,h)}}while(0);vf(d+4112|0,2048,f);i=j;return}function kc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[136+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[136+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function lc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Af(t,f,g);Ce(t,s,1,0);Ce(t,w+32|0,1,0);u=c[b+12>>2]|0;v=tg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;ph(3,16382,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=sg(t,u)|0;c[p+(f<<2)>>2]=sg(t,u)|0;c[q+(f<<2)>>2]=sg(t,u)|0;c[r+(f<<2)>>2]=sg(t,u)|0;g=Bf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if($e(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;lc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=sg(t,u)|0;s=sg(t,u)|0;e=sg(t,u)|0;b=sg(t,u)|0;f=Bf(t,u)|0;g=C;m=Bf(t,u)|0;n=C;if($e(h,j,k,r,s,e,b)|0){b=$d(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function mc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=ai(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=ai(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=ai(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=ai(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=ai(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=ai(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=ai(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function nc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=zh(512)|0;jc(b,s);h=ab(14210)|0;p=(h|0)!=0;if(p){jc(h,q);fe(r|0,q|0,10280)|0;h=Re(r,b)|0}else{fe(r|0,s|0,10280)|0;h=Re(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=Mh(b)|0;j=Ji(b,59)|0;if((j|0)!=0?(mg(13590,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;eh(k,14221,l);ej(b);c[m>>2]=f;eh(k,14232,m);if((gf(s,18732)|0)==0?(gf(13636,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((gf(s,19999)|0)==0?(gf(13671,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;eh(k,14260,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;eh(k,14249,n)}b=c[t>>2]|0;fe(r|0,s|0,10280)|0;ne(r,14274,b);if(p){fe(r|0,q|0,10280)|0;ne(r,14288,b);k=c[t>>2]|0}else k=b;Di(k,14308);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;eh(k,14347,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;eh(k,14322,u);break}}while(0);if(g|0)Di(c[t>>2]|0,g);v=c[t>>2]|0;Di(v,14368);Xe(h,c[v+4>>2]|0,c[v+12>>2]|0);Wh(t)}i=w;return h|0}function oc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=$d(120)|0;c[l+4>>2]=Mh(a)|0;m=xg(a,Fj()|0)|0;c[l+8>>2]=m;Ce(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=jj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Uh(20600,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=tg(m,n)|0;g=l+26|0;b[g>>1]=tg(m,n)|0;h=Bf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Bf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Bf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=tg(m,n)|0;b[l+58>>1]=tg(m,n)|0;j=Bf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Bf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=sg(m,n)|0;j=Bf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=$d(32)|0;c[j+4>>2]=sg(m,n)|0;c[j+8>>2]=sg(m,n)|0;p=Bf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Bf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Eg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Af(m,g,h);b[l+104>>1]=tg(m,n)|0;b[l+106>>1]=tg(m,n)|0;p=Bf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Af(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=cd(a,m)|0;i=o;return l|0}function pc(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 qc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Gg(f|0,b|0,10,0)|0;f=C;e=Ih(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Ih(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=th(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;ph(4,18808,p);f=b+36|0;e=0;while(1){d=le(0,1)|0;c[p>>2]=d;d=Si(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=Bh(c[p>>2]|0,18894)|0;c[f>>2]=Mh(d)|0;d=he(a,d)|0;Qd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;Ch(18841,g);n=0}else if((h|0)==7){d=Bh(c[p>>2]|0,18904)|0;do if(!d){d=te(a)|0;e=C;if((e|0)<0){Qd(p);c[j>>2]=a;Uh(18920,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=jd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=Bh(c[p>>2]|0,18987)|0;if(!d){d=Bh(c[p>>2]|0,19002)|0;if(!d){Qd(p);c[m>>2]=a;Uh(19008,m)}else o=d}else o=d;if(!(Ua(o|0,19083,k|0)|0)){Qd(p);c[l>>2]=o;Uh(19108,l)}d=sf(k)|0;if((d|0)==-1){Qd(p);c[q>>2]=o;Uh(19150,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Qd(p);n=200;break}}while(0);i=r;return n|0}function sc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Af(c[t>>2]|0,d,e);Ce(c[t>>2]|0,o,1,0);Ce(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=tg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Ce(c[t>>2]|0,r,q,h);e=Bf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=Ne(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Ce(c[t>>2]|0,r,q,h);e=Bf(c[t>>2]|0,p)|0;d=C;j=Ne(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=vi(c[t>>2]|0)|0;m=C;sc(b,k,l,f,g);Af(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}sc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Ce(c[t>>2]|0,r,q,d);Ce(c[t>>2]|0,j,c[h>>2]|0,0);if(!(Ne(f,r,q)|0))Jh(g,bi(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function tc(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[5989]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ai(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ai(yb(146,m|0)|0)|0;la(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 uc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Jc(23569,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Yh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Yh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5990]|0))c[e+76>>2]=-1;mb(23984);f=c[5995]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5995]=e;eb(23984)}}else{c[(Qh()|0)>>2]=22;e=0}i=o;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=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+64|0;r=s+24|0;q=s;m=s+60|0;o=s+56|0;n=s+52|0;p=s+48|0;l=Zi(a)|0;c[m>>2]=l;c[o>>2]=dd(b,18144)|0;l=wg(l)|0;c[n>>2]=l;while(1){if(!l)break;a=c[5967]|0;k=c[l+4>>2]|0;if(!((a|0)!=0?(gf(a,k)|0)!=0:0)){g=Vg(0)|0;c[p>>2]=g;f=c[2]|0;j=c[3]|0;e=1;g=bc(c[m>>2]|0,k,(f|0)>0?f:0,(j|0)>0?j:c[l+12>>2]|0,g)|0;j=-1;f=-1;d=-1.0;while(1){if(!g)break;b=g+4|0;a=c[b>>2]|0;do if(e)d=+h[g+16>>3];else{e=g+16|0;if((j|0)==(a|0)?d==+h[e>>3]:0){a=f;break}a=c[o>>2]|0;c[q>>2]=k;c[q+4>>2]=f;c[q+8>>2]=j;h[q+16>>3]=d;dh(a,11865,q)|0;a=c[b>>2]|0;d=+h[e>>3]}while(0);j=c[g+8>>2]|0;e=0;g=c[g>>2]|0;f=a}if(!e){g=c[o>>2]|0;c[r>>2]=k;c[r+4>>2]=f;c[r+8>>2]=j;h[r+16>>3]=d;dh(g,11865,r)|0}Sh(p)}l=c[l>>2]|0}Vf(n);ti(o);ig(m);i=s;return}function wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=zh(4096)|0;while(1){if((md(b,1e6)|0)<=0){j=3;break}g=og(b,m,4096)|0;if(g){af(c[o>>2]|0,m,g);if(!(hh(c[(c[o>>2]|0)+4>>2]|0,13799)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Nd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Nd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Ch(13755,n);g=0}else if((j|0)==18){g=Kd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Ch(13801,p);g=0;break}if(!e)Wh(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function xc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Af(c[n>>2]|0,d,e);Ce(c[n>>2]|0,p,1,0);Ce(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=tg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Ce(c[n>>2]|0,l,c[k>>2]|0,0);q=Bf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;xc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Ce(c[n>>2]|0,l,c[k>>2]|0,0);Ce(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function yc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?24004:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8680+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Qh()|0)>>2]=84;f=-1}i=l;return f|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=og(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=th(1,0,g|0,e|0)|0;b=Ih(b|0,C|0,d|0,h|0)|0}r=(ng(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Jf(14684,l);if((b|0)==-1)Jf(14715,o);Tg(c[m>>2]|0)|0;Tg(c[a+12>>2]|0)|0;Tg(c[n>>2]|0)|0;i=q;return 0}function Ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=_e(a,2,h)|0;if((e|0)<0)if((c[(Qh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;Uf(20080,d)}else{se(e,h)|0;if((c[h+36>>2]|0)<64){Tg(e)|0;b=0}else{Fd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=jj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Uh(20103,j)}}else f=0;b=$d(56)|0;c[b+4>>2]=qg(e,f)|0;g=yf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=yf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=qg(e,f)|0;qg(e,f)|0;yf(e,f)|0;yf(e,f)|0;yf(e,f)|0;yf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Cd(b);break}if((Tg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Uh(12836,k)}}else{if(!(c[a+20>>2]&2)){if(Ig(d)|0){c[f>>2]=c[a+12>>2];Uh(12805,f)}}else{pd(d)|0;if(Ig(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Uh(12775,e)}}if((oe(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Uh(12836,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Uf(12458,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Uh(12866,l)}if(b|0)Da(12907,12111,435,12925);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Uh(12941,m)}i=n;return d>>>8&255|0}function Cc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Hj(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Gj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Dc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Af(c[n>>2]|0,d,e);Ce(c[n>>2]|0,h,1,0);Ce(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=tg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Ce(c[n>>2]|0,l,d,0);e=Bf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Ce(c[n>>2]|0,l,c[k>>2]|0,0);if((Ne(f,l,c[k>>2]|0)|0)<0)break;e=Bf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Dc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Ce(c[n>>2]|0,l,d,0);Ce(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(Ne(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=Mh(24632)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=$d(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;Sg(h,4,11905,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ke(b|0,0,e|0)|0;return b|0}function Gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=zh(512)|0;c[h>>2]=f;Di(f,b);Di(f,13586);d=b+16|0;if(a[d>>0]|0){d=Ec(d)|0;Di(f,d);ej(d);d=b+2064|0;if(a[d>>0]|0){Di(f,13667);d=Ec(d)|0;Di(f,d);ej(d)}Di(f,13669)}Di(f,b+4112|0);if(!((gf(b,20005)|0)==0?!(gf(13639,b+6160|0)|0):0))e=7;do if((e|0)==7){if((gf(b,18732)|0)==0?(gf(13636,b+6160|0)|0)==0:0)break;d=b+6160|0;if((gf(b,19999)|0)==0?(gf(13671,d)|0)==0:0)break;Di(f,13667);Di(f,d)}while(0);Di(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,eh(f,13675,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;eh(f,13692,k)}k=$g(h)|0;i=l;return k|0}function Hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}Tg(a)|0;if((h|0)>0)ej(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((mg(18347,f)|0)==0?(mg(18355,f)|0)==0:0){g=11;break}f=he(g,f)|0;c[j>>2]=f;a=fc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Ch(15435,k);g=14}else if((g|0)==11){c[l>>2]=f;Ch(15489,l);g=14}else if((g|0)==13){c[m>>2]=f;Ch(20374,m);g=14}if((g|0)==14)if((b|0)>0){ej(f);b=0}else b=0;i=n;return b|0}function Ic(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){fe(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;fe(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){fe(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Jc(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|0)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?b:0)|0}function Kc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=ai(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(Qh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=ai(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;mc(e,2,j)|0}if(b&2048){c[h>>2]=mc(e,3,k)|0|2048;mc(e,4,h)|0}}}}while(0);i=l;return e|0}function Lc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5989]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ai(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ai(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Oc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16252,16304,388,16316);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=ii(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Eg(b);d=d+1|0}ej(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ce(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=jj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Uh(16338,j)}}else f=0;c[d+24>>2]=sg(b,f)|0;j=Bf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=sg(b,f)|0;c[d+44>>2]=sg(b,f)|0;c[d+48>>2]=sg(b,f)|0;c[d+52>>2]=sg(b,f)|0;g=Bf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=sg(b,f)|0;Ce(b,h,4,0);b=vi(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Qc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;ph(4,19843,p);Ag(500);l=a+5|0;k=dd(l,19750)|0;c[p>>2]=k;Qi(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Ag(250);g=e-j|0;g=jf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;ph(4,19896,m);if(Ig(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;Ch(19918,o);c[n>>2]=l;Uf(19802,n)}else if((g|0)==6){ti(p);i=q;return a|0}return 0}function Rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=$d(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=zh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){Di(e,12039);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){Di(e,13602);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}Di(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=$g(j)|0;if(!(c[a>>2]|0))Uh(12043,k);if(!(b&8))e=0;else{kh(l,ye(56,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;kh(l,ye(d,l)|0);e=e+1|0}i=m;return l|0}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Hj(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;fe(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(be(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Gj(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Gj(f);return e|0}function Tc(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(!(df(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);fe(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 Uc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{fe(l|0,b|0,d|0)|0;Ke(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Uh(16860,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Dc(a,j,k,l,g)|0;else{sc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Wc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Nd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=$d(16)|0;else l=qf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=Ei(d,e)|0;else{k=qf(h,e+1|0)|0;c[l+4>>2]=k;fe(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Oc(b,Lh(m)|0);return l|0}function Yc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Mj()|0;Bj(23872)|0;if((c[5975]|0)!=0&(a|0)==(c[5976]|0)){ng(2,12965,61)|0;_a(1)}zj(23872)|0;Bj(23908)|0;Bj(23872)|0;c[5976]=a;c[5975]=1;zj(23872)|0;if(!(c[5984]|0))c[5984]=le(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Sg(d,64,13692,b)|0;a=Se(c[5984]|0,d)|0;if(!a){a=$d(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=ri(c[5984]|0,d,a)|0}Bj(23872)|0;c[5975]=0;zj(23872)|0;zj(23908)|0;i=e;return c[a+8>>2]|0}function Zc(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=zh(Nd(f)|0)|0;c[j>>2]=g;h=f;f=Yh(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;Di(g,h);Di(g,19538);m=f+1|0;h=m;f=Yh(m,47)|0}Di(g,h);f=$g(j)|0;j=Nd(d)|0;m=Nd(e)|0;m=j+3+m+(Nd(f)|0)|0;j=$d(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;Sg(j,m,19540,k)|0;c[b+44>>2]=Tf(b,19549)|0;c[b+48>>2]=Tf(b,19556)|0;c[b+52>>2]=Tf(b,19567)|0}i=l;return}function _c(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=ni(b,d,0)|0;if((d|0)>-1){b=rg(b,1,d)|0;c[h>>2]=b;a:do if((((Yb(b,g,0)|0)!=0?(mg(14402,c[g>>2]|0)|0)!=0:0)?(Hf(g)|0,f=Hf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Kd(f)|0;if(e)while(1){if(!(Yb(c[h>>2]|0,g,0)|0))break a;f=Hf(g)|0;if(!f)break a;b=ah(f)|0;ri(e,b,Mh(oh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Cd(h)}else d=c[(Qh()|0)>>2]|0;i=j;return d|0}function ad(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Nf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8884;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Qh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Cc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ce(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=jj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Uh(16821,j)}}else f=0;c[d+12>>2]=sg(b,f)|0;c[d+16>>2]=sg(b,f)|0;c[d+20>>2]=sg(b,f)|0;g=Bf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Ce(b,h,4,0);Ce(b,h,4,0);b=vi(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(gf(b,18274)|0){if(!(gf(b,15646)|0)){f=c[2082]|0;break}e=Ud(b,d)|0;if(!e){a:do if(!d)e=24632;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15674;break a}case 119:{e=15664;break a}default:{e=e<<24>>24==97?15653:24632;break a}}}while(0);d=ge(c[(Qh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Uh(15683,g)}else f=e}else f=c[2141]|0;while(0);i=h;return f|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;ld(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=$d(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;Zc(a,b,h,d);c[e>>2]=0;b=a+44|0;j=uh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=uh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=uh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Eg(e);ej(c[a+40>>2]|0);ej(c[b>>2]|0);ej(c[f>>2]|0);ej(a);ej(h);ej(d);d=c[e>>2]|0}i=g;return d|0}function fd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ue(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=qj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;xj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Ch(15560,f);b=0;break}}else{ff(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function gd(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=$d(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20535+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20535+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20535+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20535+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function hd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[17860+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[17860+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Uf(12184,k);l=_h()|0;if(Lg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=_h()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Uf(12207,f)}if(b|0?($f(b,0)|0)<0:0)Uf(12234,g);if((d|0)!=1?($f(d,1)|0)<0:0)Uf(12254,h);if((e|0)!=2?($f(e,2)|0)<0:0)Uf(12275,j);mh();i=k;return}function jd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Gg(c|0,d|0,10,0)|0;b=b+1|0;c=th(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=th(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function kd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=dc(a,b)|0;if((a|0)<0)a=-1;else{if((md(a,1e6)|0)>0)Oh(a,24632,0,0)|0;c[g>>2]=0;c[h>>2]=d;Sg(f,256,13844,h)|0;do if(Oh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,Sg(f,256,13854,j)|0,(Oh(a,f,0,0)|0)==0):0){Tg(a)|0;a=-1;break}if(!(Oh(a,13864,0,0)|0)){Tg(a)|0;a=-1}}else{Tg(a)|0;a=-1}while(0)}i=k;return a|0}function ld(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Yh(b,58)|0;if(!h)h=0;else{m=Ei(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Yh(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){qe(l,1024,b,k+1-b|0);c[g>>2]=Id(l)|0}j=Yh(b,47)|0;if(!j)j=b+(Nd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Id(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Df(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(Qh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=ge(a)|0;Ch(13697,m)}i=n;return a|0}function nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=_e(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=$d(5)|0;c[g>>2]=f;if((og(e,f,4)|0)<4)fi(g);else a[f+4>>0]=0;Tg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Xd(e)|0,fi(h),(g|0)!=0):0){h=yg(He(b)|0,33,b,0)|0;e=rg(b,d,oj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function od(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Nc(g,20680,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ie(g)|0;i=j;return h|0}ie(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function pd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Wd(a)|0;break}d=(Hj(a)|0)==0;b=Wd(a)|0;if(!d)Gj(a)}else{if(!(c[2111]|0))b=0;else b=pd(c[2111]|0)|0;mb(23984);a=c[5995]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Hj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Wd(a)|0|b;if(d|0)Gj(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(23984)}while(0);return b|0}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Qf(e,0)|0;c[n>>2]=g;kg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Qf(d,e)|0;else if(!f){e=_e(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Uf(12744,k)}else j=e}else j=0;c[m>>2]=j;e=of(a,b,j,g)|0;Sf(m);if(!l)Sf(n);i=o;return e|0}function rd(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[(Qh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function sd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=_h()|0;c[g>>2]=f;Sg(a,256,17620,g)|0;d=We(a,1)|0;c[g>>2]=d;if(!d){j=c[2112]|0;c[b>>2]=a;dh(j,17657,b)|0;a=j}else{while(1){if(!(dg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,17636)|0){j=5;break}}if((j|0)==5){j=c[2112]|0;c[h>>2]=f;c[h+4>>2]=a;dh(j,17643,h)|0}Cd(g);a=c[2112]|0}pd(a)|0;i=k;return}function td(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=de(k)|0;fe(j|0,d|0,e|0)|0;ej(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=Mh(d)|0;ej(c);c=l}i=h;return c|0}function ud(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;ph(4,19609,j);h=Ie(a)|0;n=dd(h,19750)|0;c[j>>2]=n;Qi(n,b,0)|0;a=jf(g+256|0,f,e,n)|0;if(!(Ig(n)|0)){ti(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;Ch(19753,k);c[l>>2]=h;Uf(19802,l)}return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;ph(4,19228,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(ic(a,f,e)|0){a=sf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Uh(19260,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function wd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((gh(f,11901,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function xd(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;Ke(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){Tc(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;Tc(h,f,a)|0}while(0);i=j;return}function yd(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(!(df(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function zd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){fh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=bd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;fh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Ad(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(Gh(b)|0)){c=(Nd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Yi(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Yh(b,47)|0;if(!b){Rf(e)|0;b=0;continue}else{a[b>>0]=0;Rf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Hj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=yd(d,b)|0;Gj(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=yd(d,b)|0}while(0);return e|0}function Cd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Xh(c[2141]|0)|0):0){Tg(c[d>>2]|0)|0;ej(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)$b(d)}else Dh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);ej(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Qd(g);fi(b)}return}function Dd(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=th(h^a|0,g^b|0,h|0,g|0)|0;b=C;cc(a,b,th(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=th(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(gf(a,18274)|0)if(gf(a,15646)|0){c[d>>2]=436;d=_e(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15674:15653;else d=15664;else d=15827;else d=15803;c[f>>2]=a;c[f+4>>2]=d;Uf(15838,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Fd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=og(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Uf(15866,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Uh(15891,g)}else if((d|0)==8){i=h;return}}function Gd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=gg(h,f)|0;c[e+4>>2]=gg(h,f)|0;c[e+8>>2]=gg(h,f)|0;c[e+12>>2]=gg(h,f)|0;c[e+16>>2]=gg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=Pg(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Nd(b)|0;h=Nd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Nd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=$d((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Yi(d,e)|0;j=a+g|0;i=d+(a-e)|0;Yi(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Yi(d,e)|0;return f|0}function Id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(fg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=$d(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(fg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;ch(g,19532,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Jd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=jh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Kd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Md(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((gh(f,11901,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Nd(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 Od(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=nh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Od(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 Pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Se(c[e>>2]|0,d)|0)){ri(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;dh(g,18280,h)|0}}}while(0);i=j;return}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Ti(d);d=g}e=e+1|0}}else{Sh(b);b=d+8|0}while(0);ej(c[b>>2]|0);fi(a)}return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=mc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((mc(a,4,f)|0)<0){c[g>>2]=ge(c[(Qh()|0)>>2]|0)|0;Ch(13271,g);d=-1}else d=0}else{c[e>>2]=ge(c[(Qh()|0)>>2]|0)|0;Ch(13240,e);d=-1}i=h;return d|0}function Sd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=23852;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Td(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[17868+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[17876+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[17876+f>>0]}while(0);return}function Ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Jc(23569,a[d>>0]|0,4)|0){h=wf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=ai(jb(5,e|0)|0)|0;if((e|0)>=0){b=uc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(Qh()|0)>>2]=22;b=0}i=g;return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Uh(16571,d)}d=$i(a,b)|0;if(!d){g=c[(Qh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Uh(16635,e)}else{i=f;return d|0}return 0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(mg(18146,a)|0))if(!(mg(18149,a)|0))if(!(mg(18153,a)|0))if(!(mg(18156,a)|0))a=0;else{a=18161;e=5}else{a=18165;e=5}else{a=18169;e=5}else{a=18171;e=5}if((e|0)==5){c[d>>2]=a;Sg(b,20,18174,d)|0;a=Mh(b)|0}i=f;return a|0}function Yd(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=th(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return th((cc(h,g,th(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Wf(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function _d(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=ug(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=ji(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 $d(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Uh(16707,b)}b=vj(a)|0;if(!b){f=c[(Qh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Uh(16760,d)}else{Ke(b|0,0,a|0)|0;i=e;return b|0}return 0}function ae(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(Gh(a)|0)){d=Ud(a,18144)|0;c[b>>2]=d;if(!d){a=0;break}else{ti(b);a=1;break}}else{f=Ph()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;Ch(18114,d);a=0;break}}while(0);i=e;return a|0}function be(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ce(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=17808;break}case 2:{a=17787;break}case -1:{a=17776;break}case -2:{a=17760;break}case -3:{a=17760;break}case -4:{a=17745;break}case -5:{a=17730;break}case -6:{a=17711;break}case 0:{a=0;break}default:{c[b>>2]=a;Sg(24504,128,17692,b)|0;a=24504}}i=d;return a|0}function de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Uh(16447,b)}b=vj(a)|0;if(!b){f=c[(Qh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Uh(16505,d)}else{i=e;return b|0}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(Qh()|0)>>2]=12;a=0;return a|0}d=_b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;fe(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 ge(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21637+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21725;e=5;break}}if((e|0)==2)if(!c)b=21725;else{b=21725;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 he(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;jc(b,g);jc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){vf(e,2048,d);vf(f+2064|0,2048,g+2064|0)}g=Gc(f)|0;i=h;return g|0}function ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function je(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;Eh(e,b,16);c[5967]=Mf(11878,c[5967]|0)|0;c[2]=Ge(11884,c[2]|0)|0;c[3]=Ge(11890,c[3]|0)|0;aj(Mf(11894,Fj()|0)|0);if((c[e>>2]|0)!=3)Uh(11494,d);vc(c[b+4>>2]|0,c[b+8>>2]|0);if((Ij()|0)>1)sd();i=d;return 0}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16252,16304,357,16327);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Vg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=ii(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function me(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Wf(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ne(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;Sg(h,256,14189,j)|0;j=gd(h,Nd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;eh(e,14195,k);fi(g)}i=l;return}function oe(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(23984);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5995]|0)==(a|0))c[5995]=b;eb(23984)}b=pd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function pe(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=xf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16068;else e=(d|0)==2?16027:16036;else e=16059;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Uf(16077,g);return 0}function qe(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Uh(16192,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;yi(b,e,f)|0;a[b+g>>0]=0;i=j;return}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=Ih(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Sd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=ai(Pa(195,f|0)|0)|0}else d=ai(d)|0;i=g;return d|0}function te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;Sg(g,4096,14413,e)|0;a=le(0,1)|0;c[e>>2]=a;if((($c(g,14430,a)|0)==206?(b=Bh(a,14434)|0,(b|0)!=0):0)?(d=Yh(b,47)|0,(d|0)!=0):0){b=jd(d+1|0)|0;a=C}else{a=-1;b=-1}Qd(e);C=a;i=f;return b|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ph()|0;a=ed(a,(b|0)==0?c[33]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(hh(e,19549)|0){if(!(Gh(e)|0))break a;if((vg(e)|0)>>>0<b>>>0)b=vg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ve(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2082]|0;if((c[f+76>>2]|0)>-1)g=Hj(f)|0;else g=0;do if((Ni(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=(yd(f,10)|0)<0}while(0);if(g|0)Gj(f);return d<<31>>31|0}function we(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=oi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;ej(e);f=f+1|0}ej(b);ej(i);i=h}fi(g+12|0);fi(g+28|0);fi(a)}return}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=$d((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=Mh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;ph(4,19966,d);Ag(500);if((Mg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ae(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Mc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Vc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Be(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(Nh(k,d,Nd(d)|0,h,8)|0))a=0;else{ih(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Gf(b,a,e,f)|0}i=j;return a|0}function Ce(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Uh(19480,g)}else{i=h;return}}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;ph(4,19810,d);if((Mg(Ie(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ee(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2082]|0);if((b|0)==(c[2141]|0)|d)if(d){pd(b)|0;b=1}else b=1;else if(!(oe(b)|0))b=1;else{Jf(16127,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Sc(b,d,1,a)|0)!=1:0){b=Ig(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Uh(15772,f)}else{f=ge(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Uh(15743,e)}}i=g;return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Qg(b)|0;do if((f|0)!=0?(gf(f,17355)|0)!=0:0){d=mi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Uh(17078,h)}else e=d;while(0);i=j;return e|0}function He(a){a=a|0;var b=0;b=Mh(a)|0;if(!(((mg(18347,a)|0)==0?(mg(18355,a)|0)==0:0)?!(mg(18364,a)|0):0))wd(a,b,Nd(a)|0);if(!(hh(b,18186)|0))if(!(hh(b,18190)|0))if(!(hh(b,18193)|0)){a=(hh(b,18198)|0)==0;a=a?0:84}else a=120;else a=108;else a=96;ej(b);return a|0}function Ie(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(mg(19657,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Uh(19664,e);if(((((Tb(b,19691)|0)==0?(Yh(b,126)|0)==0:0)?(Tb(b,19694)|0)==0:0)?(Tb(b,19697)|0)==0:0)?(hh(19701,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Uh(19704,d);return 0}function Je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=ii(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Uh(17544,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ke(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 Le(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Xi(e&65535)|0;if(d){h=rj(fd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Me(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Ji(b,59)|0;if((g|0?mg(13590,g)|0:0)?(i=(Yh(g,61)|0)+1|0,h=Yh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=jd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=jd(b)|0;c[e>>2]=f}}return}function Ne(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 Oe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=ai(pa(102,h|0)|0)|0;i=g;return e|0}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=zh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){Di(e,13602);b=c[d>>2]|0}Di(e,b);f=f+1|0}g=$g(g)|0;i=h;return g|0}function Qe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=ai(pa(102,h|0)|0)|0;i=g;return e|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(gf(a,18732)|0)if(!(gf(a,19999)|0)){d=wh(a+4112|0,Kd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Uh(14147,e)}else d=dc(a+4112|0,Kd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((gf(c[e+4>>2]|0,d)|0)!=0);return e|0}function Te(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((ai(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ue(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Yh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=od(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=ce(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Uh(17824,g)}return 0}function We(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(gf(a,18274)|0){if(He(a)|0){c=nd(a,b)|0;break}c=_e(a,0,c)|0;if((c|0)==-1)c=0;else c=rg(a,b,c)|0}else c=Ki(b)|0;while(0);i=d;return c|0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=ng(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Uf(15933,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Uh(15959,e)}}function Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){ih(c[a+4>>2]|0,e);f=$d(16)|0;c[f+4>>2]=Ei(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(20620,20647,206,20662)}function Ze(b){b=b|0;var d=0,e=0,f=0;d=c[2112]|0;f=ge(c[(Qh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=Hj(d)|0;else e=0;if(b|0?a[b>>0]|0:0){zf(b,Nd(b)|0,1,d)|0;Bd(58,d)|0;Bd(32,d)|0}zf(f,Nd(f)|0,1,d)|0;Bd(10,d)|0;if(e|0)Gj(d);return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=ai(jb(5,f|0)|0)|0;i=e;return d|0}function $e(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);fh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;fe(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=ai(pa(102,f|0)|0)|0;i=e;return d|0}function cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=og(b,d,e)|0;a=a+16|0;b=a;b=Ih(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function df(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 ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Xe(b,d,e);return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ec(2,a,d)|0)<0){b=ge(c[(Qh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Ch(15519,e);a=0}else{c[b>>2]=qj(c[d>>2]|0)|0;a=1}i=f;return a|0}function gf(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 hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Fd(b,d,e);return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Sc(b,1,d,e)|0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Oe(a,1,20,d,8)|0)>=0)if((Oe(a,1,21,d,8)|0)<0){Ch(13135,e);a=-1}else a=0;else{Ch(13085,f);a=-1}i=f;return a|0}function lf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=tc(b,d,e)|0;i=g;return f|0}function mf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Hi(a[e>>0]|0)|0;c=c<<24>>24;b=(Hi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function nf(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 of(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;kg(b);a=Rc(a,b)|0;if(!(b&1)){b=zg(a+16|0)|0;c[f>>2]=b;ac(a,b,d,e,0,0);Sf(f)}else bg(a,d,e,0,0);i=g;return a|0}function pf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Je(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function rf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=bd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Uh(16141,g)}return 0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16241)|0;d=(b|0)!=0;if(d)vf(e,100,b);qa(16241,16244,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16241,e|0,1)|0;else ob(16241)|0;Oa();i=f;return b|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Jc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;fe(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function uf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=ai(ib(10,b|0)|0)|0;if(b){if((c[(Qh()|0)>>2]|0)==21){c[d>>2]=a;b=ai(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Nd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Uh(15600,f)}else{Yi(a,d)|0;i=g;return}}function wf(b){b=b|0;var c=0,d=0,e=0;d=(Yh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Yh(b,120)|0)==0;d=e?d:d|128;b=(Yh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function xf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(ai(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Fd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function zf(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=(Hj(e)|0)==0;a=Tc(a,f,e)|0;if(!g)Gj(e)}else a=Tc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=Ih(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[33]|0)Fg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Ce(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=Bi(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Cf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2082]|0;else{ve(13027)|0;ve(13052)|0;d=c[2082]|0;Cc(d,a,b)|0;Bd(10,d)|0;pd(d)|0}pd(d)|0;d=c[2112]|0;Cc(d,a,b)|0;Bd(10,d)|0;pd(d)|0}return}function Df(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=ai(kb(142,h|0)|0)|0;i=g;return d|0}function Ef(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Ff(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=de(h)|0;a=a+136|0;Fg(a,b,d+64|0,0)|0;hf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;lc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Eg(f);i=g;return c[f>>2]|0}function Hf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=oh(e)|0,(a[d>>0]|0)!=0):0){e=ag(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function If(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=ge(c[(Qh()|0)>>2]|0)|0;c[g+4>>2]=a;ch(f,13079,g)|0;Hh(f,e);i=d;return}function Kf(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?(zf(b,d,1,a)|0)!=1:0){a=ge(Ig(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Uh(15713,e)}i=f;return}function Lf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else fe(b,c,d)|0;return b|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[5987]|0;if((d|0?(e=Ug(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Uh(17476,f);f=Qg(a)|0;i=g;return ((f|0)==0?b:f)|0}function Nf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(be(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Uh(12401,e)}}function Pf(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 Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=_e(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Uf(12712,d)}else{i=e;return b|0}return 0}function Rf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Og(a,511)|0)<0)if((c[(Qh()|0)>>2]|0)==17)b=0;else{Ze(24632);c[d>>2]=a;Uh(18056,d)}else b=1;i=e;return b|0}function Sf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Tg(b)|0)<0){c[d>>2]=b;Uf(12436,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Nd(c[g>>2]|0)|0;e=Nd(d)|0;b=$d(f+2+e|0)|0;fe(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;fe(f+1|0,d|0,e|0)|0;return b|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=ge(c[(Qh()|0)>>2]|0)|0;c[f+4>>2]=a;ch(e,13079,f)|0;hi(e,d)}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Th(b);d=f}c[a>>2]=0;i=e;return}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Xf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((Tg(b)|0)<0)Uf(16109,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Yf(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Af(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Pc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Nd(a)|0;g=g+1+(Nd(b)|0)|0;d=$d(g)|0;c[f>>2]=a;c[f+4>>2]=b;Rg(d,g,16122,f)|0;i=e;return d|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=qi(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18218,18240,352,18256)}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=ai(d)|0;i=f;return e|0}function ag(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Vi(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function bg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=zg(h)|0;ac(a,b,c[h>>2]|0,d,e,f);Sf(h);i=g;return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(Mg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function dg(b,d){b=b|0;d=d|0;a:while(1){if(!(Yb(b,d,0)|0)){b=0;break}switch(a[(oh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=cg(b)|0;b=dd(b,19750)|0;g=de(f+1|0)|0;c[d>>2]=g;Fe(b,g,f);a[g+f>>0]=0;oe(b)|0;if(e|0)c[e>>2]=f;return}function fg(a){a=a|0;a:do if(!(Pi(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function gg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=oi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;fe(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ig(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){tj(b+96|0);d=b+100|0;lh(d);lh(d);wj(b+20|0);$b(b+8|0);ej(c[b+4>>2]|0);fi(a)}return}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=og(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function kg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Uh(11910,c);break}default:{}}if((a&18|0)==16)Uh(11976,b);else{i=c;return}}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Hj(a)|0)==0;b=Ld(a,b,d)|0;if(!e)Gj(a)}else b=Ld(a,b,d)|0;return b|0}function mg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=ai(pb(4,f|0)|0)|0;i=e;return a|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=ai(sb(3,f|0)|0)|0;i=e;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;Sg(e,256,16249,f)|0;ah(e)|0;b=Se(a,e)|0;i=d;return b|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fd(a,d,4);a=c[d>>2]|0;if(b){a=oi(a|0)|0;c[d>>2]=a}i=e;return a|0}function rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=$d(104)|0;c[f+4>>2]=Mh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=$d(65537)|0;return f|0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ce(a,d,4,0);a=c[d>>2]|0;if(b){a=jj(a)|0;c[d>>2]=a}i=e;return a|0}function tg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ce(a,d,2,0);a=b[d>>1]|0;if(c){a=kj(a)|0;b[d>>1]=a}i=e;return a|0}function ug(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;cc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((Mg(a,b)|0)<0){c[d>>2]=a;Uh(18083,d)}else{i=e;return c[b+56>>2]|0}return 0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];Fh(c[a+20>>2]|0,b,1);Eg(b);i=d;return c[b>>2]|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;Uh(20374,d)}else{i=e;return b|0}return 0}function yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=qd(g,b,d,e)|0;i=f;return e|0}function zg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((qh(b)|0)<0)Uf(12073,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Ag(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Df(0,0,0,0,b)|0}i=d;return}function Bg(b){b=b|0;var c=0,d=0;c=Nd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Vi(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[16]|0)>=(a|0)){a=c[5985]|0;if(!a){a=c[2112]|0;c[5985]=a}Cc(a,b,d)|0;pd(c[5985]|0)|0}return}function Dg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return pe(b,d,e)|0}function Gg(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=Ef(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Hg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(gf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Ig(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Hj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Gj(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Jg(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;a=dd(a,18144)|0;c[f>>2]=a;Kf(a,b,d);ti(f);i=e;return}function Kg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=20030;c[a+4>>2]=352;Uh(20009,a);return 0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=ai(cb(57,e|0)|0)|0;i=d;return a|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=ai(Pa(195,e|0)|0)|0;i=d;return a|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=ai(hb(38,e|0)|0)|0;i=d;return a|0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=ai(Ia(39,e|0)|0)|0;i=d;return a|0}function Pg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=dj(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function Qg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5986]|0;if(!b)Uh(17444,d);else{a=Kh(b,a)|0;i=d;return a|0}return 0}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=bd(a,b,d,g)|0;i=f;return e|0}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=rf(a,b,d,g)|0;i=f;return e|0}function Tg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=ai((a|0)==-4?-115:a)|0;i=b;return a|0}function Ug(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(gf(d,a)|0))break;b=b+8|0}return b|0}function Vg(a){a=a|0;var b=0;b=$d(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Je(b,a)|0;return b|0}function Wg(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=ai(Wa(6,d|0)|0)|0;i=b;return a|0}function Xg(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]}function Yg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=$d(d+1|0)|0;c=(c|0)<(d|0)?c:d;fe(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function $g(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(17573,17584,40,17600);else{b=c[b+4>>2]|0;fi(a);return b|0}return 0}function ah(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Hi(c<<24>>24)|0;d=d+1|0}return b|0}function bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Ii(c<<24>>24)|0;d=d+1|0}return b|0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=ui(a,b,f)|0;i=e;return d|0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Cc(a,b,f)|0;i=e;return d|0}function eh(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;zd(a,b,f);i=e;return}function fh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=qi(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=pf(a,b,f)|0;i=e;return d|0}function hh(a,b){a=a|0;b=b|0;var c=0;c=Nd(a)|0;c=c-(Nd(b)|0)|0;if((c|0)<0)c=0;else c=(gf(a+c|0,b)|0)==0&1;return c|0}function ih(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=jj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=jj(c[a>>2]|0)|0}return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function kh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;ej(b);b=d}c[a>>2]=0;return}function mh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Tg(b)|0;b=b+1|0}return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function oh(b){b=b|0;if(!b)b=0;else while(1)if(!(Vi(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function ph(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;Cg(a,b,f);i=e;return}function qh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ai(wa(42,d|0)|0)|0;i=b;return a|0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;a=Vd(a,c)|0;if(c>>>0>b>>>0)Ke(a+b|0,0,c-b|0)|0;return a|0}function sh(){}function th(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 (C=d,a-c>>>0|0)|0}function uh(a){a=a|0;var b=0;if(!a)a=$d(8)|0;else{b=$d((Nd(a)|0)+8|0)|0;Yi(b+4|0,a)|0;a=b}return a|0}function vh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[16]=a;c[d>>2]=0;i=b;return}function wh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Uh(17884,d);return 0}function xh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function yh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=20030;c[a+4>>2]=360;Uh(20009,a);return 0}function zh(a){a=a|0;var b=0;b=$d(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=$d(a+1|0)|0;c[b+8>>2]=a;return b|0}function Ah(){var a=0,b=0;b=i;i=i+16|0;a=Kc(2,1,0)|0;if((a|0)<0)Ch(13210,b);i=b;return a|0}function Bh(a,b){a=a|0;b=b|0;a=pg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Ch(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;Hh(a,e);i=d;return}function Dh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Bc(b)|0;xe(a)}return b|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5986]|0)){ei(Wb(a,b,0,d,0)|0);c[5987]=d}return}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;xc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function Gh(a){a=a|0;if((gf(a,18274)|0)!=0?(gf(a,15646)|0)!=0:0)a=(cg(a)|0)!=-1&1;else a=1;return a|0}function Hh(a,b){a=a|0;b=b|0;var d=0;d=Yc()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Jh(a,b){a=a|0;b=b|0;var d=0;d=$d(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function Kh(a,b){a=a|0;b=b|0;a=Se(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Lh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function Mh(a){a=a|0;var b=0;if(!a)a=0;else{b=Nd(a)|0;a=_g(a,b,b)|0}return a|0}function Nh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Uc(a,b,c,e,0,d,0)|0}function Oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ci(a,b);return wc(a,b,c,d)|0}function Ph(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function Qh(){var a=0;if(!(c[5989]|0))a=24e3;else a=c[(Mj()|0)+64>>2]|0;return a|0}function Rh(a){a=a|0;if(!a)a=0;else{a=oh(a)|0;Bg(a)}return a|0}function Sh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){lh(b);ej(b);c[a>>2]=0}return}function Th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ej(c[b+4>>2]|0);fi(a)}return}function Uh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;hi(a,d)}function Vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Wh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ej(c[b+4>>2]|0);fi(a)}return}function Xh(a){a=a|0;if((c[a+76>>2]|0)>-1?Hj(a)|0:0)Gj(a);return c[a+60>>2]|0}function Yh(b,c){b=b|0;c=c|0;b=Wc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Zh(){var a=0;a=Yc()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function _h(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function $h(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Xf(b+52|0);fi(a)}return}function ai(a){a=a|0;if(a>>>0>4294963200){c[(Qh()|0)>>2]=0-a;a=-1}return a|0}function bi(a,b){a=a|0;b=b|0;var c=0;c=de(b)|0;fe(c|0,a|0,b|0)|0;return c|0}function ci(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function di(a,b){a=a|0;b=b|0;if(!a)a=0;else a=rd(a,b,0)|0;return a|0}function ei(a){a=a|0;c[5986]=a;if(Qg(16936)|0)vh(Ge(16936,0)|0);return}function fi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)yj(b);return}function gi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function hi(a,b){a=a|0;b=b|0;c[(Yc()|0)+4>>2]=1;Hh(a,b);Zh()}function ii(a){a=a|0;var b=0;b=de(a)|0;Ke(b|0,0,a|0)|0;return b|0}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cc(a,b,c,d,0)|0}function ki(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function li(a,b,c){a=a|0;b=b|0;c=c|0;a=me(a,b,c,0,-2147483648)|0;return a|0}function mi(a,b,c){a=a|0;b=b|0;c=c|0;a=me(a,b,c,-2147483648,0)|0;return a|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;return nc(a,b,14371,14380,c)|0}function oi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function pi(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return rh(a,b,c)|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,b,Nd(b)|0,c)|0}function si(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ti(a){a=a|0;if(!(Ee(a)|0))Zh();else return}function ui(a,b,c){a=a|0;b=b|0;c=c|0;return bd(a,2147483647,b,c)|0}function vi(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function wi(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function xi(){if((ab(13060)|0)==0?(ab(13070)|0)==0:0)_a(-1);Za()}function yi(a,b,c){a=a|0;b=b|0;c=c|0;Fc(a,b,c)|0;return a|0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;return tf(a,b,c)|0}function Bi(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function Ci(a,b){a=a|0;b=b|0;Xe(a,b,Nd(b)|0);return}function Di(a,b){a=a|0;b=b|0;af(a,b,Nd(b)|0);return}function Ei(a,b){a=a|0;b=b|0;return _g(a,Nd(a)|0,b)|0}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,0,c)|0}function Gi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Hi(a){a=a|0;var b=0;b=(mj(a)|0)==0;return (b?a:a&95)|0}function Ii(a){a=a|0;var b=0;b=(lj(a)|0)==0;return (b?a:a|32)|0}function Ji(a,b){a=a|0;b=b|0;return Dg(a,b,(Nd(a)|0)+1|0)|0}function Ki(a){a=a|0;return rg(18274,a,Xh(c[2141]|0)|0)|0}function Li(a){a=a|0;if(!(c[a+68>>2]|0))Gj(a);return}function Mi(a){a=a|0;if(!(c[a+68>>2]|0))Gj(a);return}function Ni(a,b){a=a|0;b=b|0;return (zf(a,Nd(a)|0,1,b)|0)+-1|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,1,c)|0}function Pi(a){a=a|0;return ((a+-48|0)>>>0<10|(fj(a)|0)!=0)&1|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;return lg(a,b,c)|0}function Ri(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Si(a,b){a=a|0;b=b|0;return $c(a,14408,b)|0}function Ti(a){a=a|0;ej(c[a+4>>2]|0);ej(a);return}function Ui(a,b){a=a|0;b=b|0;i=a;j=b}function Vi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Xi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Yi(a,b){a=a|0;b=b|0;_c(a,b)|0;return a|0}function Zi(a){a=a|0;return oc(a,-2003829722,17936)|0}function _i(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function $i(a,b){a=a|0;b=b|0;return ee(a,b)|0}function aj(a){a=a|0;c[33]=Mh(a)|0;return}function bj(a,b){a=a|0;b=b|0;return +(+Zd(a,b,1))}function cj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function dj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function ej(a){a=a|0;if(a|0)yj(a);return}function fj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function gj(a,b){a=+a;b=+b;return +(+If(a,b))}function hj(a,b){a=+a;b=b|0;return +(+Jd(a,b))}function ij(a,b){a=+a;b=b|0;return +(+Od(a,b))}function jj(a){a=a|0;return oi(a|0)|0}function kj(a){a=a|0;return dj(a|0)|0}function lj(a){a=a|0;return (a+-65|0)>>>0<26|0}function mj(a){a=a|0;return (a+-97|0)>>>0<26|0}function nj(a,b){a=a|0;b=b|0;Qb(b);return}function oj(a){a=a|0;return c[a+16>>2]|0}function pj(a,b){a=+a;b=+b;return +(+gc(a,b))}function qj(a){a=a|0;return oi(a|0)|0}function rj(a){a=a|0;return oi(a|0)|0}function sj(a,b){a=a|0;b=b|0;ba(7);return 0}function tj(a){a=a|0;fi(a);return}function uj(a){a=a|0;Hb[a&1]()}function vj(a){a=a|0;return Kb(a)|0}function wj(a){a=a|0;fi(a);return}function xj(a){a=a|0;Qb(a);return}function yj(a){a=a|0;Qb(a);return}function zj(a){a=a|0;return 0}function Aj(a,b){a=a|0;b=b|0;ba(3)}function Bj(a){a=a|0;return 0}function Cj(a){a=a|0;i=a}function Dj(a){a=a|0;C=a}function Ej(a){a=a|0;ba(5);return 0}function Fj(){return c[33]|0}function Gj(a){a=a|0;return}function Hj(a){a=a|0;return 0}function Ij(){return c[16]|0}function Jj(){return C|0}function Kj(){return i|0}function Lj(a){a=a|0;ba(2)}function Mj(){return 0}function Nj(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[cj,lf,Te,tc,Lc,hg,zi,Ai];var Cb=[Gi,Ye];var Db=[Lj,Mi,Li,Lj];var Eb=[Aj,Cf,nj,Aj];var Fb=[gi,ud,Qc,Zb,Kg,gi,gi,gi];var Gb=[Ej,Wg,zc,Ej];var Hb=[Nj,xi];var Ib=[sj,De,ze,rc,vd,yh,sj,sj];return{_llvm_bswap_i16:dj,_i64Subtract:th,_free:Qb,_main:je,_htonl:rj,_realloc:ee,_i64Add:Ih,_memmove:Lf,_pthread_self:Mj,_pthread_mutex_unlock:zj,_memset:Ke,_malloc:Kb,_pthread_mutex_lock:Bj,_memcpy:fe,_llvm_bswap_i32:oi,_bitshift64Lshr:nh,_htons:Xi,_bitshift64Shl:jh,___errno_location:Qh,_ntohs:Wi,runPostSets:sh,stackAlloc:ci,stackSave:Kj,stackRestore:Cj,establishStackSpace:Ui,setThrew:si,setTempRet0:Dj,getTempRet0:Jj,dynCall_iiii:Vh,dynCall_viiiii:xh,dynCall_vi:_i,dynCall_vii:wi,dynCall_iiiiiii:Yg,dynCall_ii:Ri,dynCall_v:uj,dynCall_iii:pi}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigWigToBedGraph_static.js.html b/bedTools/bigWigToBedGraph_static.js.html
new file mode 100644
index 0000000000000000000000000000000000000000..c1ea36d5148e3c88207b35b7c353e3a6c0ba774a
--- /dev/null
+++ b/bedTools/bigWigToBedGraph_static.js.html
@@ -0,0 +1,1319 @@
+<!doctype html>
+<html lang="en-us">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Emscripten-Generated Code</title>
+    <style>
+      body {
+        font-family: arial;
+        margin: 0;
+        padding: none;
+      }
+
+      .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
+      div.emscripten { text-align: center; }      
+      div.emscripten_border { border: 1px solid black; }
+      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
+      canvas.emscripten { border: 0px none; }
+
+      #emscripten_logo {
+        display: inline-block;
+        margin: 0;
+      }
+
+      .spinner {
+        height: 30px;
+        width: 30px;
+        margin: 0;
+        margin-top: 20px;
+        margin-left: 20px;
+        display: inline-block;
+        vertical-align: top;
+
+        -webkit-animation: rotation .8s linear infinite;
+        -moz-animation: rotation .8s linear infinite;
+        -o-animation: rotation .8s linear infinite;
+        animation: rotation 0.8s linear infinite;
+
+        border-left: 5px solid rgb(235, 235, 235);
+        border-right: 5px solid rgb(235, 235, 235);
+        border-bottom: 5px solid rgb(235, 235, 235);
+        border-top: 5px solid rgb(120, 120, 120);
+        
+        border-radius: 100%;
+        background-color: rgb(189, 215, 46);
+      }
+
+      @-webkit-keyframes rotation {
+        from {-webkit-transform: rotate(0deg);}
+        to {-webkit-transform: rotate(360deg);}
+      }
+      @-moz-keyframes rotation {
+        from {-moz-transform: rotate(0deg);}
+        to {-moz-transform: rotate(360deg);}
+      }
+      @-o-keyframes rotation {
+        from {-o-transform: rotate(0deg);}
+        to {-o-transform: rotate(360deg);}
+      }
+      @keyframes rotation {
+        from {transform: rotate(0deg);}
+        to {transform: rotate(360deg);}
+      }
+
+      #status {
+        display: inline-block;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-left: 20px;
+        font-weight: bold;
+        color: rgb(120, 120, 120);
+      }
+
+      #progress {
+        height: 20px;
+        width: 30px;
+      }
+
+      #controls {
+        display: inline-block;
+        float: right;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-right: 20px;
+      }
+
+      #output {
+        width: 100%;
+        height: 200px;
+        margin: 0 auto;
+        margin-top: 10px;
+        border-left: 0px;
+        border-right: 0px;
+        padding-left: 0px;
+        padding-right: 0px;
+        display: block;
+        background-color: black;
+        color: white;
+        font-family: 'Lucida Console', Monaco, monospace;
+        outline: none;
+      }
+    </style>
+  </head>
+  <body>
+    <a href="http://emscripten.org">
+      <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="296px" 
+   height="78px" 
+   viewBox="420 120 100 170"
+   enable-background="new 0 0 900 400"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="emscripten_powered_by_logo.svg"><metadata
+   id="metadata345"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs343"><linearGradient
+     y2="247.6265"
+     x2="225.1929"
+     y1="152.499"
+     x1="225.1929"
+     gradientUnits="userSpaceOnUse"
+     id="linearGradient5104"><stop
+   id="stop5106"
+   style="stop-color:#C1D72F"
+   offset="0.3227531" /><stop
+   id="stop5108"
+   style="stop-color:#BCD631"
+   offset="0.45119295" /><stop
+   id="stop5110"
+   style="stop-color:#AFD136"
+   offset="0.64491969" /><stop
+   id="stop5112"
+   style="stop-color:#ABD037"
+   offset="1" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.0123" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.3086" /><a:midPointStop
+   style="stop-color:#ABD037"
+   offset="1" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5120"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter
+     inkscape:collect="always"
+     id="filter5126"><feGaussianBlur
+       inkscape:collect="always"
+       stdDeviation="0.56377237"
+       id="feGaussianBlur5128" /></filter><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5134"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996" /></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1440"
+   inkscape:window-height="838"
+   id="namedview341"
+   showgrid="false"
+   inkscape:zoom="0.63555556"
+   inkscape:cx="224.82424"
+   inkscape:cy="-52.085109"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_1" /><g
+   id="g5130"
+   transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path
+     transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)"
+     id="path5122"
+     style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)"
+     d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc"
+     inkscape:connector-curvature="0"
+     d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z"
+     style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none"
+     id="path5080" /></g><path
+   fill="#E2E2E2"
+   d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36  c-2.646,0-4.8-2.153-4.8-4.8V165.236z"
+   id="path3" /><path
+   d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path5"
+   inkscape:connector-curvature="0"
+   style="fill:#e2e2e2" /><path
+   fill="#F5F5F5"
+   d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36  c-2.646,0-4.8-2.153-4.8-4.8V163.236z"
+   id="path7" /><g
+   id="g9"><g
+   id="g11"><path
+   fill="#FBFDF8"
+   d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663    c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path13" /><path
+   fill="#F0F4E1"
+   d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663    c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663    c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527    C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z"
+   id="path15" /></g><defs
+   id="defs17"><filter
+   id="Adobe_OpacityMaskFilter"
+   filterUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix20" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"
+   id="SVGID_1_"><g
+   filter="url(#Adobe_OpacityMaskFilter)"
+   id="g23"><image
+   overflow="visible"
+   width="422"
+   height="480"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAg2AAAQ4QAAF1b/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAeMBqQMBIgACEQEDEQH/ xACjAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAgEBAQAAAAAAAAAAAAAAAAAAAAEQAAEDAQQKAwAC AwEAAAAAAAABAwQCMRMUBRBQEjMVJQYWNgcgESEwI5AiMkARAAEBAwsEAQIFAwUBAAAAAAABMQID EFAycqOz0wQ0RaURIXGRIEFRMGEiExRAgRKh0SMzQxUSAQAAAAAAAAAAAAAAAAAAAJD/2gAMAwEA AhEDEQAAANUJsrZYFfFgV8WBXxYEL0ki5fo6GjJuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRu aRuaMHQ5dR3ojnJ9XxYFfFgV8WD0jxf2AodbslbAD6mDhlpLvI/qkuiovZL7CGzNfRCJwQacEGnB Bp0QSdEEnRBJ0QSdEEnRBJ3BBpwQacEHidwQXzPfBA6bBqK5w2nlKVH3iJitt+gAeweP+wFDrdkr Y+vmaN02k6+e3d2Gjo6N0c2zoyaM7xozuGluGluGluGluGluGluGluGluGluGluGluGnG8c/z1YO PVIfJF80xoIGPsfBVVrl6hIrD7+B7B4/7AUOt2StnXaYyxHTJ6ZKvrqb4x9MgAAAAAAAAAAAAAAA DGR8692Dh4pbkIKJscTVNiLdVY1+weP+wFDgJ+JLJORs3XbIc3dGz6ZAAAAAAAAAAAAAAAAAAAPn R0ayMi5uLqv1S51eIT2Dx/2AofB38Ra5uIm6kOzm6o+gAAAAAAAAAAAAAAAAAAAPj7+TkjJWNIOt 2et1WfYPH/YIofH2cZcJyEnKkenn6IyAAAAAAAAAAAAAAAAAAABjODmjZONIWt2WtVWPYPH/AGCK Hx9nIXGcg5ypLfo3xkAAAAAAAAAAAAAAAAAAADGcHPGyUaQ1astaqseweP8AsEUPk6+QuM7BTtSW 7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAA AAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4Oe OkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsH j/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYK dqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAA AAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f8AYIofJ18hcZ2Cnakt2ndGQAAAAAAAAAAAAAAAAAAA MZwc8dIxxDVmzVmqx7B4/wCwRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNm rNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr 5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3Rk AAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAA AAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ 1Zs1ZqseweP+wRQ+Tr4y5TkHOVJb9G+MgAAAAAAAAAAAAAAAAAAAYzg542SjSGrVlrVVj2Dx/wBg ih8fZxlxnIKcqT6ObpjIAAAAAAAAAAAAAAAAAAAGM4OeNkY0h61Za1VY9g8f9gih8Xbwlxm4GbqW 6uLrj7AAAAAAAAAAAAAAAAAAAA+fr5OaNkI0ia1Y61Vb9g8f9gihxknCl1m65N1OdsZ3x0ZxkAAA AAAAAAAAAAAAAAAAx8fek5ozui6jazYKsRPsHj/sEUOu2Ktlqn6XZ6scjBSRLbOPpjYxkAAAAAAA AAAAAAAAAAYfJjm+uM0xXVE1xVOZr0Y9g8f9gKHW7JWz7s1W6i9SdYlasXXB9pLbI7fHY5/s3NeT 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs DyhP1cpjbLcVojtDLY3QIn1qZU+yugebJDRKaJ7CVUvtq27o9geURaLx6C19JFbI7Y1QU0/WqFQd oH6CS2TG/wAzZrZd0ewPKMqo2n4VH5FoGKBunVTifj9JJpJdBnVH+mj2B5RkqfdcOki0jFJQn5qm pPx5CTSS6TOKf6tHsDyjI0/2hIRU/GUKbNU1DyfklCWhm6f06PYHlGRf9QkIqfjKCWapWx4kkszj daPYHlGQ2wrItjImqlseJJMM43Wj2B5RkNsEjWNarUeJJMM43Oj2B5RkNsEjWNarUeJJMM43Oj2B 5RkNsGyLY1qtR6ySTDONzo9geUZDbBsi2NarUesk2TDON1o9geUZDbBsjWNarUesk2TDON1o9geU ZDbBsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDb BsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsj WNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNa rUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUe skkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskk wzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzj daPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzjdaP YHlGQ2wbI1jWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJJMM43Oj2B 5RkNsGyNY1qtR4kkwzjc6PYHlGQ2wSNY1qtR4kkwzjc6PYHlGQ2wrItjImqlseJJMM43Wj2B5RkV sJSKv4yolmqVseJJLM43Wj2B5Rkf/UJSKv4ypTZqmoeX8kqS1M43Oj2B5Rki/wC0Koi1DKlC/mqa h5SSpLUzdf6tHsDyjJ6/p2HURaxiobX81TWv4/USaiXUZy59N6PYHlGXubEiE5+RaxisaqEXVCjl Q/WSayXX+Zy59ro9geUUVbNeXPpVRFdI7gzWUVfeqK6h2skOElwmu/ST3bx/R7A8oMpk/SxHiM8M OjThTX9iLqWqr6HHB50kOkp4zSVsUVKqro9geUDLit15fLSumM+MPjTw26UuCVH2moPsWoqcK3R1 4feJD5MkIiTpKvO6fYHlGiFLViuHLSpGJAzIGnyh8peKXRHEEcQ20NtDbQ2kNpDaQ2kNpDaQ2kNp DaQ2kNpDaQ2kNpDaQ2kNpDaQ2kNpDaQ20NtDbQVxBXEFdKnit8cfHpA/IJMn6TMp+0vw9geUaYU+ pmqJNprRmUNSRuSUSSmQgkgSQI+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X4r4sgWQV SCuSOSR2SPSiRLREzDMlUVVVfh7A8o+EeW4wsTNKKxmYijcsollMspliSxJZjDGIYxDGIYxDGIYx DGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxBZYssqllUsrljksdmISsxooSVmLjyqq r8vYHlHxRVRWZ77QznNI3mzSlGZUKU5hSJmKHEUOIocRQ4jScRQ4ihxFDiKHEUOIocRQ4ihxFDiK HEUOIocRQ4ihxFDiKHEUOIocRpOIocRQ4ihxFBcxQXMEKsxpHM1aQezmhB/M3nCquqtfn7A8o/hS utC9dL50vnS/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/ eL50vnS9dLytT7X+PrDhvHuTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOT HJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY/pP/aAAgBAgIGPwBR f//aAAgBAwIGPwBRf//aAAgBAQEGPwCPk8jmv2su47DV1z9uE90V5xHl7vuKrTXWMHDNdYwcM11j BwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHD NdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11 jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMH DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z"
+   transform="matrix(0.24 0 0 0.24 174.5615 142.499)"
+   id="image25"></image></g></mask><g
+   opacity="0.09"
+   mask="url(#SVGID_1_)"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   id="g27"><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M195.361,251.626    c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527    c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path29" /><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M255.024,152.499    c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527    c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527    c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499    L255.024,144.499z"
+   id="path31" /></g></g><g
+   id="g33"><g
+   id="g35"><linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="152.499"
+   x2="225.1929"
+   y2="247.6265"><stop
+   offset="0.0123"
+   style="stop-color:#C1D72F"
+   id="stop38" /><stop
+   offset="0.1394"
+   style="stop-color:#BCD631"
+   id="stop40" /><stop
+   offset="0.5859"
+   style="stop-color:#AFD136"
+   id="stop42" /><stop
+   offset="1"
+   style="stop-color:#ABD037"
+   id="stop44" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="0.3086"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="1"
+   style="stop-color:#ABD037" /></linearGradient><path
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527    c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path46"
+   fill="url(#SVGID_2_)" /></g><defs
+   id="defs48"><filter
+   id="Adobe_OpacityMaskFilter_1_"
+   filterUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix51" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"
+   id="SVGID_3_"><g
+   filter="url(#Adobe_OpacityMaskFilter_1_)"
+   id="g54"><image
+   overflow="visible"
+   width="356"
+   height="414"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAXBAAALIQAAEOP/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAaEBawMBIgACEQEDEQH/ xACYAAEAAgMBAQAAAAAAAAAAAAAABAcBBQYDAgEBAAAAAAAAAAAAAAAAAAAAABAAAAMIAwEAAgMB AAAAAAAAAAIGATIDBBQFFjZQMwcRECKQMRMSEQABAgQEBgEBBwQDAQAAAAAAAQIxcgMEEFCRsyGC M6PTNBFBIGFxEiIyE1GB0UKhscFiEgEAAAAAAAAAAAAAAAAAAACQ/9oADAMBAAIRAxEAAADy0npz Z0Dnx0DS7Q9kr0IKcIKeICeICeICeICeICeICeICeICeICeICeICeICfggp2CElQD1aXxOgc+O1s um7kKj5vpObG6d2Q9zspRA9JmSGmCHmWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIaYIeJo1sPe 4OK5C2tCVS3OmN5clN3IVHod9EOv6zWb0zkAAAAAAAAAAAAAAAAAMRJnwcVXltVuetyU3chUfp5+ 5YexhTgAAAAAAAAAAAAAAAAABjODUVxZNbnjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwaut rJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAA AAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjy Cx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1t ZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAA AAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQ WPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautr JrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAA AAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyC x5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZ NbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAA AAAAAAABjODV1tZNbHjclN3IVH7+HqWTO1uxMgAAAAAAAAAAAAAAAAAYzg1Vb2NXB5XJTdyFRx5G jLc3XG9SS2MgAAAAAAAAAAAAAAAAD4+ohqq47GvTa3JTdyFR830nNm/7qp+gLVk8fuDcZgehLRBL RBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBKQohP0MbkT40OcG8uSm7kKj5vpObAJm45sd n98SO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3xxI7PX84JcQAN5 clN3IAAAAAAAAAAAAAAAAAAAAAAAf//aAAgBAgABBQD+G3//2gAIAQMAAQUA/ht//9oACAEBAAEF AFgq7/bL9narGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxn arGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qx narGdqsZ2qxnarCYVyhn78PQNo/MCUmJhssm48QEScNrGJGEMQgjEIIxCCMQgjEIIxCCMQgjEIIx CCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIQakYQOlI bGTCajw2R5SPLm/KK2gegbR+LVYzzDZGzFKyBaysYS3FYGSBBQkFCQUJBQkFCQUJBQkFCQUJBQkF CQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQNkCA9uK0R7WVrJ+ykMy6WI8BrW NY0IraB6BtAsdqbMHtttYxkvKFKxhCs4JpCtExKFMy5W5jWX22NgRAitoHoG0SsBsePZZFhSSkuw peFm5dhi3qRKYk1BbAjoraB6BtCcl/8ASYtUBjCkL8Lwp2fS3WCxpVDA/wA5lFbQPQNoShGNLbif CcM3+roX9VQz4ZFbQPQNoSLP0t7P04e5uql5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW 0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5F bQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnk VtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqe RW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp 5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6q nkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubq qeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5u qp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m 6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSLlvb+nD3N1UvIraB6BtCTN8Jbj /ScM3+rob9VQ36ZFbQPQNoTUx/xGtcdjSlb9ZwsRvwt1jMYVRR/+5hFbQPQNokZinmbPOsaWVjsM XhZuOwpbxOsYWcjtjzCK2gegbQLDdv8ANtuuDGsgTJTMYZjeCaZjBHmSlZcbgxjL9dGxDBFbQPQN oDGtK2z31pBJXYrWQLmVrCz5Whk8QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFa QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkDZ4gNPkYI9zKxk7dysZdr80zTGaZoRW0D0DaPzK3Oalmyy oYwEVEv8yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGV S4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXB1RL/JlUMMyauU1Mt/KK2gegbRxaK2jj/wD/ 2gAIAQICBj8AG3//2gAIAQMCBj8AG3//2gAIAQEBBj8Ar2djdfxW7G01az+Ok74VzEcvF7FWJ73Z o+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+ M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M9 7s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s 0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+Ms7O7u/5Leq5yVGfx0m/KIxzotYixTC5kpbbfsfFJir 9/0EWo74+5qHH8y/3IO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U g7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U4fmT+5803fP3Kn+D4qsVP v+n2LCd22/C5kpbbcUqVkX4+jf8AIiI34QTgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIEBe AqK1FRfuFqUE/SkWf4PhY4WE7tt+FzJS224JWqJw+f0ov/YnATgcMi4i8BeAtdifpX9yf+4WE7tt +FzJS22jKSfVeP4DUROCCcMmXgORU4KPpL/qvD8CwndtvwuZKW20dUVIcEE4Hxkyi8BHon7uC/2L Cd22/C5kpbbT5/8AoTKFG/iWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttp zKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+Fz JS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu 234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFG zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k="
+   transform="matrix(0.24 0 0 0.24 182.5615 150.499)"
+   id="image56"></image></g></mask><g
+   opacity="0.35"
+   mask="url(#SVGID_3_)"
+   a:adobe-opacity-share="1"
+   id="g58"><path
+   a:adobe-opacity-share="0"
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663    c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path60"
+   fill="#1D2915" /></g></g><linearGradient
+   id="SVGID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="226.1924"
+   y1="159.7139"
+   x2="226.1924"
+   y2="200"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop63" /><stop
+   offset="0.3788"
+   style="stop-color:#F8FBF3"
+   id="stop65" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop67" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.4383"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></linearGradient><polygon
+   fill="url(#SVGID_4_)"
+   points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61   227.655,173.61 236.978,159.714 "
+   id="polygon69" /><g
+   id="g71"><g
+   id="g73"><g
+   id="g75"><image
+   overflow="visible"
+   opacity="0.75"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="392"
+   height="242"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAD2CAYAAADF97BZAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHohJREFUeNrsnYlu40gSBZMU5Z75 /4+dbUsiFwtY2JrqvIqHSEoRACFZPtqk3BV8WVcvAAAACXouAQAAIAwAAEAYAADwWgYuwSp0XAKA wzJxCRAGIgCANf8fIxaE8RIxIBaA8yeMDokgjLkNfLfyzwOAfWTRNX49EkEY5h9N6+sIAuC8/++n mXKZjJ/5UfIYPuyPRXut9WOEAXDuxOGJYEqKZPpEebyjMOYKoTO+BmEAfIYwSjG0JJFaHm8rjncS RkYE2uutwkAgAO8liezzTPqY3jl1vIMwooa+fi0SRvQzshIBgHMKYwpez5Su3jJ1nFUYLWWlznne KpHW5AEAx5fF5Aijfi0jDy91nFocZxRGJgnUMvDkkf3arDiQCMD+YshIwxKE93xy5CGJ1HFqcZxJ GEsE4b0WHa3JA2EAHEcYU8PjlJREdESp47TiOIMwIlG0yqEPPl4iDmQBcCxpZMtOmWNs+Fy2n6M7 kzSOLIy5oogk0SsfZwWCNADeSxhZMYzGYy2I8uslIY5TpY2jCiMzsikjCO2xDz4fiaNFGggDYD9h LJGF9uh9rq8+7hxxWLI4vDiOJozsKCdPFJoc5ry2JG0gDYDzJouxOrTXLJHUsuiKz4uROurS1GHL VEcShpcqNGFoZSZLBBfla6zXO0MeGXGQMgCOkyyyopgCMfzveDifs44yRdQlLKtEdei0cRRhaLKI UkXZoFtCeH7uUn3dJfF9UV8HwgA4tzDG6nktjYfy/OF8zhJLZ0hjEns01SHTxt7C8EpQmdKTlhQu lSguxmu1TLSfNac8hTQAji+MMZEsahHUx6g8743v1aQxOudzSGnsKYyoBOUlCk0StQQGRRrW4aUO bWRVpj8DYQDsI4xaFJEwPFk8FGHcDYGUR1/Jon7uzf84bIlqL2FkS1BWP8XFSRKDIozBEclgiMPq CJ8rDSQCsI0cWmWRTRaWDO7BYy2OXhFH2SE+BudymLSxhzAsWbSkCk8S3vNBkUdGGJE06pTUIgTE AbCOKLRylCYNqxyVTRV347gYX9sr4nhUotDKVPXw292l8WphtMrCSxWeEOrjqghDE0hUlrKkYaUL ZACwj1S8lBGli1oYWpL433Eznl8qWdxFL2trfRsiev/GIaTxSmFkJ99po5+0RBHJoXy8Bt+j9WmU /743qU/E7vxGGgD7JBBrCRCvs9sqRd2NZHErRDEY4iiTxV1p72ppiPx/IqDVr7GbNF4ljBZZaKnC E0UtBu3jq5E0PGFcgpJUH8gCcQDsJworXWQTRiSMWyWM5/Oheu3ZltzFLmk/lPbhkCOoXiEMreHM 9FVYsrhWz8vjS3lNE8dglKiyHd9ewqAsBbB/KcoThjbvwhpCG6WL8vgu2pRb0XbdnGpFKY26vbCG 3u4mja2Fkemz8EpQZWOulZq+gkdNIlFZaq4wBGkAHFYWIm2d3lG6uFeiKNPFt9Ku3ESfEOyJY3TS xi7S2FIYc2ThpQpLFF/Bx6U4auFckiWpFlkgCoBjiCPb8T01Jow6WVx/JHEtZPEt+oCaaD6XRUYa b1OSapXFEJSdsodVporKUZlRUpEsEAbAcaWhpYx6WK02lPamSKOWxVBIo1UY3QJpbC6PrYTROhLK SxW1LH5VUvhlvG5JQ0sXWv/FReYNp0UaAPvKYq4wxoQwvIQRlbojYayRNDaVxhbCaFmKXJNFPcrp q5LFL0UUGWlE6UJ7Y7MT9hAGwDmFEaUMb/5F3X/hjb70hulnZVFL4/Sd3l2iLNUHsrBKUL+M48v4 2EoX0ZvqlaIEYQCcWhalNKwNkrz5GPeftuRWtCk30ed8aUsYzU0WdZoo25ZaHJsJZMuSVMs8i6iv opbEX4FAnt+jdXZnZaEtby6IAuBtUsac/oxaGoPy6A2mWZoupiJldK8uTa0pjLmlKK2DOxLFX8br WllKG5Lbsn4UO+0BII1B/uzLqG9Av+XPKQHZNsU7H22IcF2e0qRx2ISRkYU1g3sISlB/KY9/OUlD 67vIyOKSKEO1JAzEAbCfKFqF4c0CL1PGUKSNm9hr1LXchHYJWYjoy4RYZSnZQhxbz8OIRDEYwvhl SOIvQxh/KenC6+hu7eSOpIEwAM4hjCXSuBRp47lW1F1p16wtoFvShSYLa++MUV7Un7GGMFpKUV66 qPssaln8bUijFoY1u9vbOGnp8NkucX0A4LWyEGmbCT6KvnzIWMjiUcgjsyGbdQOa+V0nyW/p2r2i NLVmSWqJLLR0Ycnib6ck5U3S85JFy8KCSzq5kQfA9pJokUX52AdJo6/EkVmwdM6ci2nG0TmyWE0c S4URDaPN9ltkZPG3U5bS5l1kFhecu2w55SeAfcl0FncJgXh9G30hivqxXIE2Gl3ZO6KIymPZo0xI m/VjrFWSmjsqanBkYfVd/K2kC6uj25JFZ7yxraJAEADHF8pUvTYFjbZUd+5T0UY8hfEQfapAZnRl lCpG0eeHaB/XKcOS5CriGFZ6Qyx5aPMuhiBZ/FJkoaUMTRblMNpoFvfS3fOQBcB55DEp/3e9DuJa GE9ZWO1bpvRkNeZWp7u1Z0emNDUp579YGsOCNyBKF9HIqEFp7K1U4Q2lteZcWOu4tM6xoAQF8H7S EKN0Uz9qd/B90Xh3ku+r6IxUMTpHuWWsdvRGacrr09g9YWTnW7RM0rPKU9oyIN7CgpYs1twxD3EA HJcp+f9UuxPvFGnMFUUXpANLGJ5Qyu+t/+1Ddnp3iXKUNu/iy0gYvyQ/Qa8cGaUt+5FJFiJtI5+Q A8D50kVGIpNy0zgtkIYY/0b5PLOnuHZcqpTRK0nIK0+9TBjZLVfnzOrOJI0vQxbafAuvzyJbfmK4 LMB7JAzv/+zU8H+9lEZL2zApopgMcURHVJrqRO+72a0Pw0oX0YZIVsKIylDWkuVav0UpK2upj7mi QA4A504YnkCmoLpQfm/r3hbWarmRHJ5rV3kpwytNaalqljiGhRc+U4qKNkb6ctJFnSa0uRaaLC7J ZEEZCgCBRCOoLHFMxd19JuVEndyeMLIpo98yZcwtSWWXL5/bf/El9kioL7H3tYhmW1rpYm4pCgDe RyCt4pCigRaxZ297w2fHIFWU6aJ8HOTf61uVbd5mKWOYcVFb08Wc/bm1RQTrVFH3WViy6INUgSgA oEUcWn9HL7kFEOtS1BiIojy+5P97cdSlqUfVDnspYzZLh9Vq+3Rn5mBcE6KwtlgtReEli16YiAcA 64vDayt65XszQ2ejhFFu3FTuxfFQksYo+kitXfowOrFHSnmlqGgLVi9daEt9ZCbmibAzHgBsK46u kIFUlY3pp416CmNIlqNulShuRVtYbuB0r26aR6MsNYm/d8aqwpi7DEhm74urU36K9rTQ1p23Fg9E FgCwpjjqmeFdlTK8ctS1eNT2DP+qZPFVSOMm+grcUV/G4s7v1j6MOcuYe3MwNGl8KV8b7cFd/w4i /pR8RAEAc8QRSUOqlPH8+jpljEVJqZbGl5Iq6qPc7e9eScPry5AlKWONeRjeUNpLUI7SEsUg9sxt bwZ3L/RVAMBr04bXCT5Wpam6XF+WpK7y7z6Ka5EqynQxiL2DaC/xaKnNJ+5Fayi1jpQagtKTNXN7 SKSLaClhZAEAa6cNSxrlXX5fpYyxaNdqadyVdnBuyli187ufeaG0foJMyhgMMdSlp0wZykoXIu3b qAIAzE0b2nNtBGl2YdbBaRsHJ2W0rMg9q23sGy5My2S9PnExhsTFyG6BmHkDAQBeLRFNGpeqNOXt RJppG7Wb6i6Qxiz6hpP3RNIHCSNj0swF6WaUopAFALwyZWRvri1xXIL2sWVqQbR67qrCaEkaLUNr 6wtxCWRh7ZVryQFJAMAe0ojazWe7dWlsI6/JhKG1l6KUoma1lf3Ci2RdiGyyuIg+CspbRLA3TD7n jQQA2EIe0Y21Nw1hUB6z0sgkDC8dLRZGNlVkR0hZpSdLFpfkBVhkTgCADVJGZoM5qyLjyaN1o7hV +jH6mTHL2gcjugjWBfHKUN1WJw8AsFG6iGSRLeNn2spoFOlqbWXfeDG6IHK1ysI76cyOeaQLADhr maqfIY2L5Pt5rQ7vzYfVZspUfXC0CsLq5LbGEgMAnC1laP0Z1giqls7ubBl/k07vaOiYtp6TdjKa JKJJJ9n5FqQLADhj2vCG20Y33NlSVNfwu62SMLqkNb2E0SviyMzgXrUOBwDw4pThrY6R6QPOVmo2 7fvNTNzrgs9F9bhIHH3ihC07C+kCAE4mE00ctUCiakymhN+vfZPdz4gm2fHFXSALK0V409pFWPID AM6XNrwUklnANSpZzRlS29x+zllLqiVpZBKHNwoqE6OQBgAcXRTeIoCd0x564siW8K2RUs0MMy9E 9tBOwNv4KFtjQxwA8C5C8drOLlmlya4h5a21Fy513q948llbdo48okglQn8FAJxLCt68Ma1Bt9pD 7fW1O7q7LYQRxausLaPaGivPAsC7yyTbZnZiTznIyENk4UipfuZJtp68VXLyxJGZoEfaAIAzSaJl TtuaCWOVdrJ18UHrJCNZRFErU3ZCCgDwjglDa+u6GQkjszjr5sLIJI2oA8dLGtKYMBAHAJxVDJ4s Mmv1ZWURlaNeKgxJnmBmT9kueZFFKEEBwGdJJjui9CU7j/YrnJTX6Gcn3m1SbwMAOEnyyDT4SxNF tGrtLGF4nc3euN7MbMKsGDIlKMQCAO8kjeyNdIs0Vm0vt+jDiGQS2TVbtgIAOKMkoopMa5uaEc4q 9C+8EF4UmyMpAIB3Tx4tfcGb32T3G52sVzN7iQkBAA4ogJYbbetjbxe9zFp8s8v8/Y4XCQAAkeiN uwSJQiQ3qbn1Jn/zhNHNuDCR5RAKAHyKLDKfjxJG9t/YpdNbpH1/7ZY4BgDw6TKJSvWtW0Espt/g ROes/eQtxYtQAAAOsJFc/6KTmxPJAADAF8RL29F+5xMHAEAGfz5fvHfFFu1tf8ILCgDwbrLIrAi+ xs/+CGEAACCX/FpTm9x4IwwAgPMkka2+/jDCoJwEAPAGbSoJAwDgwxr+owuDlAEAcHJIGAAAgDAA AD6At5jpDQAAJAwAAPikdIEwAAAAYQAAAMIAAACEAQAACAMAABAGAAAgDAAAAIQBAAAIAwAAEAYA ACAMAABAGAAAgDAAAABhAAAAIAwAAEAYAACAMAAAAGEAAADCAAAAhAEAAAgDAAAAYQAAAMIAAACE AQAACAMAABAGAAAgDAAAQBgAAAAIAwAAEAYAACAMAABAGAAAgDAAAABhAAAAwgAAAEAYAACAMAAA AGEAAADCAAAAhAEAAAgDAAAQBgAAAMIAAACEAQDwMUwIAwAASBgAAHDOlIEwAADgUMKYuNQAAOdu F0kYAABwGGGQLgAA1mtHd2tTSRgAAOeThvX58vhYYZBSAOBTJDAl0sXU0EauJhESBgDA/tKoG/U1 GvnVk0a/08UhNQAArJtENqff4KQydbTpyBcFAODA0titA7xf+MtPM09YuwDT1nEKAOCEaSLqw5he 1Wb2K51c5hedErYkUQDAJ0ohalen4KZ9esXN9h4zvefIBQDgE6QxSVyJmSRXllq9xN9vdBEiM2ai FwDAp0hjMm6sWxKGN9oqandTbW+/0clnkkXr8DFkAgBnl8KcG+dJ/AFFU9DGZqUQ3uT3G1yUKGJ5 1pyEkVIA8BkCySSOKHVMiTZ2tfazn3liU/IEopPPXBhkAQDvKIu5N9JTcGx2o903xpLopDIXyJNB JIgp+XsCAJxBHNkb6czN+ZT8Ppl7Q96vcNItJxHZUoKTRBAA8K4CiYbIPp+PDW1t5qb+ZcKQwIxZ C3oJA2kAwLumi0w7OiqSGKWtI3yV9rNPntyc2KQdkRk9cQAAvIscJidZWG3mqHy89IZ804SR6Zix RDFWJzlK23Axz4zIBQDOJBCRuDQ/OqLItKOrDx5asw/DkoRmxFH5mlH8OhzDbQHg3WQRtZuZhDE6 clky9201YURlqDFIGGODGT0rAwCcVRxRKX9MtJ8tJarF7WffcIJZY3mmtKJVFK+s+AYAcBYxRJ+L Sk5jcMzp12iq2myVMFpO0CpXtdoRgQDAGSQSdW5bCePRII1R8h3tL1lLaq4kyhN/SNwhHtkaUQDA UdOFVRXxkoUmh0fQfmZK/SILy/t94mS9dUsiI3on6J209jNF4o5w5AEAZxFHNM/iURxLZbFKGT+7 ltSUSBjRCKjoRB/BBaQjHADOKAmvKqP1UTyM9jFqQz2BaL/D6sJoPenROdHoKC+EVdfLCAJ5AMCR xJGpzHg32I9EW9pSltosYXiiECNWRXW4R0PUmrOoFgDAEdOFJpEoSTyPe/U4VxpzfvdFCSNKGi1W fF6Au7T1a7SsagsAsHe6EMmVo7yb63tSFF5ZalHq6Gc2utnRUZEkshdgSpw8ogCAI6YLWUEUd+fj pQkj3W6uMXEvEkdWEnfR63abxSsAgBeki7k32Hfj0BJH3W5uMlqqbzh5TyCtUSpzEVpKU6QMADhi uvCE8VBuqj1R3IMb72iY7WLmrlabnXuRsWXGng/xZ4KTMgDgiOlCGiowLdKIOr6jzetm7ZGx1bDa TN/F87glLkhLR44IczQAYL90kZnYbI2EqtvEW4M8Mqt/L2of+4YLEfVfaOb0TvJWXIybcWE8e86Z owEAsJUsrOkGmVLUXZFG1D5mb7BXm4vRz7worQkjEsVNsanVqROtzLjYogAAM2URdXA/GtrIW0Ic L524Nyy4UJm+jEdwEerj+vM4/DxeiuN/P6P7kdz487z7ed4rF6P7ea0rfueOv3EA2KAMJZLbEygr iqjNbE0X2u/YfEM9JC9MV/3gLlGWsmpz1vH98/uUx70QRl8cXXFIJY5IGoI4AGBFWbR0cFtTDeo2 8ltpH7W+jUyHt7fH92YJY3JEkZFFfVG+fxLFd5EsbkXCGKqEEQmjThmlLOp0QdoAgLVkUYujbrSt AUC3QBLWa9mEYW0V8fKSVH1xygbbGjJWlppuijQG5Yhk0SmJoa+k4EmDtAEAS0RRPnorz1ojoer2 sD40aUQDgzJbts5KGUPDxeoco0bjiy9KuhgUWVyLz1+MhOEJoyt+v1H5Gk0SpA0AyIoiksUYVFse jizqR00ac6YeTMnzWj1haHfpVsdOb0SwoUgadbK4FsmiTBnZhNFVKUNDEwdpAwCyohCZtyzSwyhD 1cdvI2lEKcOTxSpTEJb0YZSNb1mailLGUxpRGWqoRKHJonMa+k7aO8ERBwCiiEShVVesEaLlTbM1 2Oe3IwpLGLdkyvDKaZsnDE0cXSGLTMrISKNMFhdHFpYwpkIWnZM4InEgDwBEYcnCWnVWW+LDE0Ut jUgcmc7uVdeQWiIMcS5iJmXcqpLTt/w5IqpFFlGjXs/b6BrEQeoAQBTRpLxphiwsUXji8EpSWv+F yEqd3XOFMTl34V7KuFelpUtwaGWovlEW5UXqg5SRKU1NhmQA4NyCyIpCjGShDZ3V5lV8B3L4bXzu OyhFeSOkWs5/s4RhDVEt7+QfRUNfSqNMGV6qqKXRBymjlsTFKFPV3zsVH7eUpqagzAUAxxRDNmFk k8XDSBfaCKhaCv/5OTxpRB3eXt/FquvtrdGHUd+p18t2PIqGXytNXZTk4U3Sy7zxtTiespjEHmk1 JctVmWQDAOcSibXQamYDJGvobCmL34njP+L3YWRLUasOpS25zPy+srPZKhFpX+Md3pDZqA+j5Y9k 6UXrFn4eAPZPGNnyU3borCaLm1KG+k+VLLzDG17rSWOTdLFEGCJ+B7IllEgCEryWbaCjWZlrxVlE AXA+cSyRxST6sFlNFjdHFnU5yhPGb0cW1gipTSofwwpvRl3S0dZ+19JEn0waljCiIW7Px6EqS12K z2n9IyL+pEBGTQGcUxaZ5T2iDm5v8yNtUp7VZ/FPQ7Lw9gpqWdJ8t+XNPVlIUhqZklSXSBGj2JNn roU0xh9ZjIU4ns9HRxzWo9dBjlAAjlOGmgJJiCzbz8KSxbfofRSRLH47Zaho7oXIhpvKrTUPo1N+ wbFoOLPSyAgjMw66vJClLMpjlD9HYdXikMSjJocu+SYhFYBlMmhJFa2y0EZCZWRxE33IbC2Hf6rH WhatI6M230RurZKUNcy2FkerNLw33lvw6/mmXos3tlyj6iH6aKw+WRaLZIEgAPYTSKs0rEUEvdFQ 1uZH2qQ8r5/iH4k7uVtGRmlltdVYM2FYb9RYNbgZaXiNq/amWtseatJ4iD9JcKk0WjrnAWB7aXhr QXk3oJP4o6G0mdzakh9WZ/c/Ys/DiFanrTdM8q7BoUpSUWmqbOSz0rB+flSGeiSkcRF7rw1vhrlI bhgx0gDYVxhT0GjWd+FjsmJxF31TuGg2dzSk9rdRjlpj7+7DJYxsaapMG1oDG02Es5ZR90RRvsHP pdOfW79mpZFdUh1hABxfGN5EvKws6r6Let8Kq/8imt3tLWWe2fNis1LUFgnDeyNHpeF8JGThJYxo 8kx5J3AtJHFVUoa1LIkmjH6mMJAFwPbCyHZyjzOqFlay0Pa1aJnR7Y2KinbV82SxujS2Kklpo4Qm RRwtPzsShZUqvooL/0wX9QZN1gq5njhE2kZSIQ2A7WQxNT5qZai6P3SU3G559RIgVsqwEoW1wGA0 jFacEtQpEoYnjXLOQ7bxzAyh9UYtfBXiuMq/d/UbnKShiWOuNJAFwHGkYQnj0ZAublU5yts5L1qy /DuQRVSCispzpyhJlfLwImGLLKw+DC8yluIYKnFo0uiN8hTSAHgfYYwSz+HKlqIyW61qaULbqzsq Q2X7LTaTx7DRm9gF4sjKQpKi8IRx/XkjalnUfRmeNCxhRP0ZCAPgGMLwZDGJP4imlsXdKEdF+3Pf xO+rqDu4DyWLLRNG1J8RScMaAjc69UUrXVyrhOGVpYbGlIEwAM6TLsZkwshULW4N0rgpj9oM7nr4 bKss3qIkNVcaIvl16LWRUc9SVJkwhiphWH0ZLSlj7dngANAuCi1R1M+z6WIUe85FnTK+FWnclBRR J4rspLwWWWwujuGFb3KLNDL9F1Z0/DJKUbUwWstSnjSQBcDxpRHJIprRHaWMmyEIL1FEqSLb0X36 Tu9SFFlpTOKvSZ8dVntVRKEJo+78tvYWvyQSBsIAOFZJKhKG1p6MTtXCGimlPY9E8RB9BvdDkdok L1qN9ggJo0Ua2T0vvIRxlT/7MKwSVDS8NprINzdlIA6AdUQRJYy6HOUtLGi1KZnSlCWSjChaS1C7 yGKPklQkDS1teEnjUr3JQ/H4nKh3q4RxUaRxCRJGZngtHd8Ax0oYmXJUZq+LaB0p77WHxP0UD4nX htqlz2IvYWSkMUnbHhhjII5aCjcjTXjlqOxcjEgaiAJge3FkN0NqmYORKU9ZcmhJFNYM7sPI4tXC mFue0t703hFH+ca2pIkoXWRkkU0ZHogFoK1BbNk9L+rH8OZ5ZYRgPc+Iwis/7S6LPYThSUOTxyh/ 7hNei6N+oy/y7z0v7skk4fVdZIWxRBaIAmC+OLKyyHZ+eyth3wOpRENkWzc/OoQs9hJGNmlMSmNc v+F9lTZ6+fduehdFHPXn+oQoMsIQsffKQAwA24ukRRqZlOF1hkevWf0To1IWkzPIYk9hlCffGc8l SBudkjaejXmdNHrjMRLEnHSBMAD2k4WIP2CmRRqePEbxl/Cw0kRUftp1nsWRhdFaotI6xbW00RWl qmfi0NJDS5pAGADnF4ZIbk0pSxjWx1lJjOL3URwyVRxNGFrasGRRp43668dKFmVD/0gKwtqiNdrn m/kXAPsJQyS3rPmkNN7185bDks00s/R0WFkcSRiiJAxLIJNxh1+nkzFICr3zemY01JzlzZEGwD7C kERpKtv4j4mUUm9L3ZImpqNe+OHAfwzRwoWROLoqcXTiL1MepYmlu+0hCoDXlaZapZFJHlMghslJ FJnf7dCyOKoworSREYcYAukqeWTkQKoAeO+kIQl5eK+PkptDccpUcRZhiPgjqTKd4p2TRGSGIJYI A2kAbC+LrDBE8qOpWo45SWI6y0UfTvbHEZWp6mSSafQzH4vkJ+chDIB9hRHdxWdGKUWL/0Wd2G8l irMJQ5OBKOnDk4bX6GdSw1qLCyINgNcKo0UakUhE5o1yOrUozioMcWTRkjqyKSGbJOjgBjiuSLyG u6V/YU5fxFuI4szC0N6MOaljmiGDTOkJUQAcM31MM59PC37GW4jiXYShiUMkP7JK+16SBMBnp45s w9/6McI48B9GlDrq2eNTQjgIA+D9hLH11yCME6cOCdJHy89AGADnFEbm89PCr0UYb5A6ZIFAsn8o SATguIJo+fppxX8HYZz8D6n75DcfAGE0ff3HtxEDf1ipdNDyh9LxhwVwOmkgB4Sx6h9Kxx8aAGJB GLDmHxb9FwCIAGEAf6gA8Ln0XAIAAEAYAACAMAAAAGEAAADCAACAs/JfAQYAL3iXmIlSiu4AAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 179.2061 198.1514)"
+   id="image77"></image><g
+   id="g79"><radialGradient
+   id="SVGID_5_"
+   cx="225.1929"
+   cy="226.1387"
+   r="30.8299"
+   gradientTransform="matrix(1 0 0 0.75 0 56.5347)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop82" /><stop
+   offset="0.4828"
+   style="stop-color:#FDFEFB"
+   id="stop84" /><stop
+   offset="0.7611"
+   style="stop-color:#F8FBF3"
+   id="stop86" /><stop
+   offset="0.989"
+   style="stop-color:#F2F8E8"
+   id="stop88" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop90" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.8025"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><path
+   fill="url(#SVGID_5_)"
+   d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801      v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path92" /><path
+   fill="none"
+   stroke="#EDF5E5"
+   stroke-width="5"
+   stroke-miterlimit="10"
+   d="M186.706,235.825      c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801      h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path94" /></g></g><path
+   opacity="0.74"
+   fill="#FFFFFF"
+   a:adobe-blending-mode="lighten"
+   d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107    v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324    c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z"
+   id="path96" /><linearGradient
+   id="SVGID_6_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="204.3135"
+   x2="225.1929"
+   y2="246.626"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0"
+   id="stop99" /><stop
+   offset="0.0141"
+   style="stop-color:#FDFDFC;stop-opacity:2.231669e-04"
+   id="stop101" /><stop
+   offset="0.1344"
+   style="stop-color:#BEBEAF;stop-opacity:0.0148"
+   id="stop103" /><stop
+   offset="0.2565"
+   style="stop-color:#94957C;stop-opacity:0.0297"
+   id="stop105" /><stop
+   offset="0.3796"
+   style="stop-color:#747759;stop-opacity:0.0446"
+   id="stop107" /><stop
+   offset="0.5029"
+   style="stop-color:#5D633F;stop-opacity:0.0596"
+   id="stop109" /><stop
+   offset="0.6263"
+   style="stop-color:#4D552E;stop-opacity:0.0746"
+   id="stop111" /><stop
+   offset="0.75"
+   style="stop-color:#414B23;stop-opacity:0.0896"
+   id="stop113" /><stop
+   offset="0.8742"
+   style="stop-color:#3B461E;stop-opacity:0.1047"
+   id="stop115" /><stop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12"
+   id="stop117" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="0.2901"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path
+   fill="url(#SVGID_6_)"
+   a:adobe-blending-mode="darken"
+   d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801    h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962    c0,0,10.063,0.328,10.801,10.799V221.954z"
+   id="path119" /></g><g
+   id="g121"><g
+   id="g123"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 216.5547)"
+   id="image125"></image><g
+   id="g127"><radialGradient
+   id="SVGID_7_"
+   cx="202.6289"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop130" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop132" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop134" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_7_)"
+   cx="202.629"
+   cy="219.704"
+   r="2.999"
+   id="circle136" /></g></g><g
+   id="g138"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 213.9448 216.5547)"
+   id="image140"></image><g
+   id="g142"><radialGradient
+   id="SVGID_8_"
+   cx="217.5439"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop145" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop147" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop149" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_8_)"
+   cx="217.544"
+   cy="219.704"
+   r="2.999"
+   id="circle151" /></g></g><g
+   id="g153"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 216.5547)"
+   id="image155"></image><g
+   id="g157"><radialGradient
+   id="SVGID_9_"
+   cx="232.459"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop160" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop162" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop164" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_9_)"
+   cx="232.459"
+   cy="219.704"
+   r="2.999"
+   id="circle166" /></g></g><g
+   id="g168"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 243.7749 216.5547)"
+   id="image170"></image><g
+   id="g172"><radialGradient
+   id="SVGID_10_"
+   cx="247.374"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop175" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop177" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop179" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_10_)"
+   cx="247.374"
+   cy="219.704"
+   r="2.999"
+   id="circle181" /></g></g><g
+   id="g183"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 230.2217)"
+   id="image185"></image><g
+   id="g187"><radialGradient
+   id="SVGID_11_"
+   cx="202.6289"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop190" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop192" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop194" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_11_)"
+   cx="202.629"
+   cy="233.37"
+   r="2.999"
+   id="circle196" /></g></g><g
+   id="g198"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 213.9448 230.2217)"
+   id="image200"></image><g
+   id="g202"><radialGradient
+   id="SVGID_12_"
+   cx="217.5439"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop205" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop207" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop209" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_12_)"
+   cx="217.544"
+   cy="233.37"
+   r="2.999"
+   id="circle211" /></g></g><g
+   id="g213"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 230.2217)"
+   id="image215"></image><g
+   id="g217"><radialGradient
+   id="SVGID_13_"
+   cx="232.459"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop220" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop222" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop224" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_13_)"
+   cx="232.459"
+   cy="233.37"
+   r="2.999"
+   id="circle226" /></g></g><g
+   id="g228"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 243.7749 230.2217)"
+   id="image230"></image><g
+   id="g232"><radialGradient
+   id="SVGID_14_"
+   cx="247.374"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop235" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop237" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop239" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_14_)"
+   cx="247.374"
+   cy="233.37"
+   r="2.999"
+   id="circle241" /></g></g></g></g><path
+   d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path243"
+   inkscape:connector-curvature="0"
+   style="fill:#f5f5f5" /><g
+   id="g245"
+   transform="translate(0,16)"><g
+   id="g247"><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path249"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path251"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path253"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path255"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path257"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path259"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path261"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path263"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path265"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path267"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /></g><g
+   id="g269"><linearGradient
+   id="SVGID_15_"
+   gradientUnits="userSpaceOnUse"
+   x1="324.1611"
+   y1="239.7637"
+   x2="324.1611"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop272" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop274" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path276"
+   style="fill:url(#SVGID_15_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_16_"
+   gradientUnits="userSpaceOnUse"
+   x1="377.45459"
+   y1="239.7637"
+   x2="377.45459"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop279" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop281" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path283"
+   style="fill:url(#SVGID_16_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_17_"
+   gradientUnits="userSpaceOnUse"
+   x1="435.17719"
+   y1="239.7637"
+   x2="435.17719"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop286" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop288" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path290"
+   style="fill:url(#SVGID_17_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_18_"
+   gradientUnits="userSpaceOnUse"
+   x1="474.83691"
+   y1="239.7637"
+   x2="474.83691"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop293" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop295" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path297"
+   style="fill:url(#SVGID_18_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_19_"
+   gradientUnits="userSpaceOnUse"
+   x1="512.28223"
+   y1="239.7637"
+   x2="512.28223"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop300" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop302" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path304"
+   style="fill:url(#SVGID_19_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_20_"
+   gradientUnits="userSpaceOnUse"
+   x1="546.65918"
+   y1="239.7637"
+   x2="546.65918"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop307" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop309" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path311"
+   style="fill:url(#SVGID_20_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_21_"
+   gradientUnits="userSpaceOnUse"
+   x1="580.69629"
+   y1="239.7637"
+   x2="580.69629"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop314" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop316" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path318"
+   style="fill:url(#SVGID_21_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_22_"
+   gradientUnits="userSpaceOnUse"
+   x1="622.7832"
+   y1="239.7637"
+   x2="622.7832"
+   y2="155.3268"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop321" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop323" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path325"
+   style="fill:url(#SVGID_22_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_23_"
+   gradientUnits="userSpaceOnUse"
+   x1="655.6709"
+   y1="239.7637"
+   x2="655.6709"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop328" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop330" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path332"
+   style="fill:url(#SVGID_23_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_24_"
+   gradientUnits="userSpaceOnUse"
+   x1="697.92969"
+   y1="239.7637"
+   x2="697.92969"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop335" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop337" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path339"
+   style="fill:url(#SVGID_24_)"
+   inkscape:connector-curvature="0" /></g></g><g
+   id="g4141"
+   transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g
+   id="g4143"></g><g
+   id="g4165"><linearGradient
+   y2="155.3275"
+   x2="324.1611"
+   y1="239.7637"
+   x1="324.1611"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4167"><stop
+   id="stop4169"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4171"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="377.45459"
+   y1="239.7637"
+   x1="377.45459"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4175"><stop
+   id="stop4177"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4179"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="435.17719"
+   y1="239.7637"
+   x1="435.17719"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4183"><stop
+   id="stop4185"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4187"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="474.83691"
+   y1="239.7637"
+   x1="474.83691"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4191"><stop
+   id="stop4193"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4195"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="512.28223"
+   y1="239.7637"
+   x1="512.28223"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4199"><stop
+   id="stop4201"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4203"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="546.65918"
+   y1="239.7637"
+   x1="546.65918"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4207"><stop
+   id="stop4209"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4211"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="580.69629"
+   y1="239.7637"
+   x1="580.69629"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4215"><stop
+   id="stop4217"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4219"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3268"
+   x2="622.7832"
+   y1="239.7637"
+   x1="622.7832"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4223"><stop
+   id="stop4225"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4227"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="655.6709"
+   y1="239.7637"
+   x1="655.6709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4231"><stop
+   id="stop4233"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4235"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="697.92969"
+   y1="239.7637"
+   x1="697.92969"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4239"><stop
+   id="stop4241"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4243"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient></g></g></svg>
+    </a>
+
+    <div class="spinner" id='spinner'></div>
+    <div class="emscripten" id="status">Downloading...</div>
+
+<span id='controls'>
+  <span><input type="checkbox" id="resize">Resize canvas</span>
+  <span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
+  <span><input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked, 
+                                                                            document.getElementById('resize').checked)">
+  </span>
+</span>
+
+    <div class="emscripten">
+      <progress value="0" max="100" id="progress" hidden=1></progress>
+    </div>
+
+    
+    <div class="emscripten_border">
+      <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
+    </div>
+    <textarea id="output" rows="8"></textarea>
+
+    <script type='text/javascript'>
+      var statusElement = document.getElementById('status');
+      var progressElement = document.getElementById('progress');
+      var spinnerElement = document.getElementById('spinner');
+
+      var Module = {
+        preRun: [],
+        postRun: [],
+        print: (function() {
+          var element = document.getElementById('output');
+          if (element) element.value = ''; // clear browser cache
+          return function(text) {
+            if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+            // These replacements are necessary if you render to raw HTML
+            //text = text.replace(/&/g, "&amp;");
+            //text = text.replace(/</g, "&lt;");
+            //text = text.replace(/>/g, "&gt;");
+            //text = text.replace('\n', '<br>', 'g');
+            console.log(text);
+            if (element) {
+              element.value += text + "\n";
+              element.scrollTop = element.scrollHeight; // focus on bottom
+            }
+          };
+        })(),
+        printErr: function(text) {
+          if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+          if (0) { // XXX disabled for safety typeof dump == 'function') {
+            dump(text + '\n'); // fast, straight to the real console
+          } else {
+            console.error(text);
+          }
+        },
+        canvas: (function() {
+          var canvas = document.getElementById('canvas');
+
+          // As a default initial behavior, pop up an alert when webgl context is lost. To make your
+          // application robust, you may want to override this behavior before shipping!
+          // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
+          canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
+
+          return canvas;
+        })(),
+        setStatus: function(text) {
+          if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
+          if (text === Module.setStatus.text) return;
+          var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
+          var now = Date.now();
+          if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
+          if (m) {
+            text = m[1];
+            progressElement.value = parseInt(m[2])*100;
+            progressElement.max = parseInt(m[4])*100;
+            progressElement.hidden = false;
+            spinnerElement.hidden = false;
+          } else {
+            progressElement.value = null;
+            progressElement.max = null;
+            progressElement.hidden = true;
+            if (!text) spinnerElement.style.display = 'none';
+          }
+          statusElement.innerHTML = text;
+        },
+        totalDependencies: 0,
+        monitorRunDependencies: function(left) {
+          this.totalDependencies = Math.max(this.totalDependencies, left);
+          Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
+        }
+      };
+      Module.setStatus('Downloading...');
+      window.onerror = function(event) {
+        // TODO: do not warn on ok events like simulating an infinite loop or exitStatus
+        Module.setStatus('Exception thrown, see JavaScript console');
+        spinnerElement.style.display = 'none';
+        Module.setStatus = function(text) {
+          if (text) Module.printErr('[post-exception status] ' + text);
+        };
+      };
+    </script>
+    <script>
+
+          (function() {
+            var memoryInitializer = 'bigWigToBedGraph_static.js.html.mem';
+            if (typeof Module['locateFile'] === 'function') {
+              memoryInitializer = Module['locateFile'](memoryInitializer);
+            } else if (Module['memoryInitializerPrefixURL']) {
+              memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer;
+            }
+            var xhr = Module['memoryInitializerRequest'] = new XMLHttpRequest();
+            xhr.open('GET', memoryInitializer, true);
+            xhr.responseType = 'arraybuffer';
+            xhr.send(null);
+          })();
+
+          var script = document.createElement('script');
+          script.src = "bigWigToBedGraph_static.js.js";
+          document.body.appendChild(script);
+
+</script>
+  </body>
+</html>
diff --git a/bedTools/bigWigToBedGraph_static.js.html.mem b/bedTools/bigWigToBedGraph_static.js.html.mem
new file mode 100644
index 0000000000000000000000000000000000000000..b702dd7e3457f37f720ceece9e68af444320e66d
Binary files /dev/null and b/bedTools/bigWigToBedGraph_static.js.html.mem differ
diff --git a/bedTools/bigWigToBedGraph_static.js.js b/bedTools/bigWigToBedGraph_static.js.js
new file mode 100644
index 0000000000000000000000000000000000000000..a825496ceba38a3f80b50d3e4e81c64ad412d5e1
--- /dev/null
+++ b/bedTools/bigWigToBedGraph_static.js.js
@@ -0,0 +1,16 @@
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26720;__ATINIT__.push();memoryInitializer="bigWigToBedGraph_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=kc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=20709;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=20736;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=hc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=20686;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=20709;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=20756;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=oi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=20820;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=20849;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=hc(o,q,r)|0;else o=kc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=oi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=21023;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=hc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11204+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=21044;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=kc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}fe(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11204+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=20885;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9028;c[H>>2]=9;c[I>>2]=11076;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=20801;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=20910;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=20910;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=20936;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=20973;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21001;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=21119;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;fe(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=kc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=21097;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=20781;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=kc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=21067;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Ic(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=hc(j,h,k)|0;else h=kc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6002]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=24048+(b<<1<<2)|0;e=d+8|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[6006]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6002]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6004]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=24048+(b<<1<<2)|0;e=d+8|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[6006]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6004]|0;break}else Za()}else{c[6002]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6007]|0;b=l>>>3;d=24048+(b<<1<<2)|0;a=c[6002]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{m=a;n=b}}else{c[6002]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6004]=h;c[6007]=e;N=j;i=O;return N|0}a=c[6003]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24312+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6006]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6003]=c[6003]&~(1<<a);break}}else{if(h>>>0<(c[6006]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6006]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6006]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6004]|0;if(a|0){f=c[6007]|0;b=a>>>3;e=24048+(b<<1<<2)|0;a=c[6002]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{r=a;s=b}}else{c[6002]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6004]=d;c[6007]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6003]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24312+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24312+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6004]|0)-q|0)>>>0:0){f=c[6006]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6003]=c[6003]&~(1<<a);break}}else{if(g>>>0<(c[6006]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6006]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6006]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=24048+(a<<1<<2)|0;b=c[6002]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{w=a;x=b}}else{c[6002]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24312+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6003]|0;b=1<<d;if(!(a&b)){c[6003]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6006]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6004]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6007]|0;if(a>>>0>15){N=b+q|0;c[6007]=N;c[6004]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6004]=0;c[6007]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6005]|0;if(a>>>0>q>>>0){L=a-q|0;c[6005]=L;N=c[6008]|0;M=N+q|0;c[6008]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6120]|0)){c[6122]=4096;c[6121]=4096;c[6123]=-1;c[6124]=-1;c[6125]=0;c[6113]=0;x=p&-16^1431655768;c[p>>2]=x;c[6120]=x}h=q+48|0;g=c[6122]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6112]|0;if(a|0?(w=c[6110]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6113]&4)){a=c[6008]|0;c:do if(a){d=24456;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6005]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6121]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6110]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6112]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6122]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6113]=c[6113]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6110]|0)+f|0;c[6110]=a;if(a>>>0>(c[6111]|0)>>>0)c[6111]=a;j=c[6008]|0;do if(j){e=24456;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6005]|0)|0;c[6008]=M;c[6005]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6009]=c[6124];break}a=c[6006]|0;if(h>>>0<a>>>0){c[6006]=h;k=h}else k=a;d=h+f|0;a=24456;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24456;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6007]|0)){N=(c[6004]|0)+g|0;c[6004]=N;c[6007]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24312+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6006]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6003]=c[6003]&~(1<<b);break e}while(0);e=c[6006]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6006]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=24048+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6002]=c[6002]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=24048+(a<<1<<2)|0;b=c[6002]|0;a=1<<a;do if(!(b&a)){c[6002]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6006]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24312+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6003]|0;b=1<<d;if(!(a&b)){c[6003]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6006]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6005]|0)+g|0;c[6005]=N;c[6008]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24456;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6008]=N;c[6005]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6009]=c[6124];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6114];c[a+4>>2]=c[6115];c[a+8>>2]=c[6116];c[a+12>>2]=c[6117];c[6114]=h;c[6115]=f;c[6117]=0;c[6116]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=24048+(a<<1<<2)|0;b=c[6002]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{J=a;K=b}}else{c[6002]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24312+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6003]|0;b=1<<d;if(!(a&b)){c[6003]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6006]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6006]|0;if((N|0)==0|h>>>0<N>>>0)c[6006]=h;c[6114]=h;c[6115]=f;c[6117]=0;c[6011]=c[6120];c[6010]=-1;a=0;do{N=24048+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6008]=M;c[6005]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6009]=c[6124]}while(0);a=c[6005]|0;if(a>>>0>q>>>0){L=a-q|0;c[6005]=L;N=c[6008]|0;M=N+q|0;c[6008]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(Qh()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0}while((Vi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=ad(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23839+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ad(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23848+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=ad(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=ad(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Qh()|0)>>2]=22;Wf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=ad(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ad(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;k=Ih(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Ih(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=ad(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Wf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Ih(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=qc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Wf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=jh(o|0,n|0,2)|0;H=Ih(H|0,C|0,-32,-1)|0;e=Ih(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Qh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(Qh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Ih(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=th(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Ih(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+gj(+Jd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Qh()|0)>>2]=34;g=+hj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=ad(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Ih(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Ih(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=ad(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=qc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Wf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Ih(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Qh()|0)>>2]=22;Wf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Qh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(Qh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8996+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8996+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8996+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=jh(c[p>>2]|0,0,29)|0;o=Ih(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=ji(o|0,n|0,1e9,0)|0;o=ug(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+gj(+Jd(1.0,105-o|0),j);m=+pj(j,+Jd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+pj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Qh()|0)>>2]=34}while(0);g=+hj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Qh()|0)>>2]=22;Wf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Qh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Tc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[21147+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}pc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=nh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21627;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21627;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=th(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21627;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21627:21629;L=76}else{p=1;r=21628;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21627;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21627;o=N;break}case 109:{o=ge(c[(Qh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23529;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){xd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23537:23542}else{G=1;H=23539}else{q=-q;G=1;H=23536}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+ij(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=_d(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21611+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;xd(e,32,K,r,I);if(!(c[e>>2]&32))Tc(y,w,e)|0;xd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Tc(ea,o,e)|0;f=ba-p|0;xd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Tc(t,f,e)|0;xd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=jh(c[r>>2]|0,0,t|0)|0;B=Ih(B|0,C|0,o|0,0)|0;o=C;A=ug(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=ji(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=_d(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;xd(e,32,K,w,I);if(!(c[e>>2]&32))Tc(H,G,e)|0;xd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=_d(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ke(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Tc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Tc(23567,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=_d(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ke(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Tc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}xd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=_d(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Tc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Tc(23567,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ke(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Tc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}xd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Tc(u,ba-u|0,e)|0}while(0);xd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;xd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Tc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Tc(s?(t?23848:23563):t?23555:23559,3,e)|0;xd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21627;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21611+(o&15)>>0]|r;o=nh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21627;L=77}else{o=t;t=2;r=21627+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21627;L=77}}else if((L|0)==76){f=_d(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Jc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21627;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=di(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}xd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=di(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Tc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;xd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;xd(e,32,o,s,p);if(!(c[e>>2]&32))Tc(v,w,e)|0;xd(e,48,o,s,p^65536);xd(e,48,r,t,0);if(!(c[e>>2]&32))Tc(f,t,e)|0;xd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;pc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Hj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Vi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Wf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ad(e)|0}while((Vi(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Wf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((ad(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ke(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ke(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=ad(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(yc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=ee(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(ki(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=ee(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=ad(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Wf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ad(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Vi(d[m>>0]|0)|0))break;else n=m}Wf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=ad(e)|0}while((Vi(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)Gj(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Ih(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[33]|0)==0?(gf(c[a+8>>2]|0,19343)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Ih(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Ih(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Ih(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Ih(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=th(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Ih(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=th((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=th(k|0,j|0,f|0,d|0)|0;fe(b|0,B+f|0,o|0)|0;e=Ih(o|0,E|0,e|0,n|0)|0;f=C;d=th(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Ih(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Fg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=$d(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Ih(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=th(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[33]|0){y=Ih(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Ih(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=ji(k|0,j|0,w|0,0)|0;t=Ih(A|0,B|0,-1,-1)|0;t=Ih(t|0,C|0,w|0,0)|0;w=ji(t|0,C|0,w|0,0)|0;t=m+52|0;Ff(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((Fi(u,d,s)|0)<(s|0))f=0;else{ej(u);j=B;k=A;continue}while(1){o=Fi(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Oi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Gg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Gg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Ih(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=th(f|0,j|0,p|0,q|0)|0;k=C;f=de(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Fg(Z,c[K>>2]|0,p,0)|0;ef(Z,c[K>>2]|0,f,j);fi(W)}Td(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Fg(P,c[t>>2]|0,da+64|0,0)|0;ef(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}ej(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Fg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}hf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Uh(19355,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;ph(4,19411,$);ph(4,19457,aa);S=0;T=0;break}else if((n|0)==36){hf(Z,j,f,h);S=ba;S=Ih(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Ih(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[33]|0:d;c[I>>2]=b;c[I+4>>2]=m;ph(4,19573,I);if(0){c[e>>2]=b;dh(0,19594,e)|0}c[h>>2]=0;c[n>>2]=0;ld(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){ej(d);u=Mh(19343)|0;c[h>>2]=u;ej(c[n>>2]|0);c[n>>2]=Mh(b)|0;j=1}else{u=d;j=0}h=u;g=$d(16)|0;do if(!(gf(u,19603)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=19603}else{if(!(gf(u,19838)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=19838;break}if(gf(u,18732)|0?gf(u,19999)|0:0){if(!(gf(u,20005)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=20005;break}if(!(gf(u,19343)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=19343;break}else{c[k>>2]=u;Uh(20041,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=18732}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[33]|0?(l=(ue(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){fi(o);ej(u);ej(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=$d(312)|0;c[d+4>>2]=Mh(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;Zc(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[33]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(Gh(c[g>>2]|0)|0))t=29;else{ae(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[33]|0;if(g){Ad(c[d+40>>2]|0);p=d+44|0;n=Ac(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(Gh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;ph(4,20130,s);$h(G);uf(c[p>>2]|0)|0;uf(c[K>>2]|0)|0;g=d+52|0;if(Gh(c[g>>2]|0)|0)uf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];ph(4,20221,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Ed(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=Ih(h|0,k|0,8191,0)|0;k=nh(k|0,C|0,13)|0;Xe(j,A,4);Xe(j,x,4);Xe(j,I,8);Xe(j,v,8);Xe(j,w,4);Xe(j,y,4);Xe(j,z,8);Xe(j,z,8);Xe(j,z,8);Xe(j,z,8);g=d+136|0;h=Fg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Uh(20271,D)}a[E>>0]=0;Fg(g,j,((k+7|0)/8|0)+-1|0,1)|0;ef(g,j,E,1);Xf(B);c[B>>2]=Ed(c[d+48>>2]|0,577)|0;Xf(B);g=Ac(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Uh(20338,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=xf(c[f+52>>2]|0,0,1)|0;Fd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=Ih(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=nh(H|0,C|0,13)|0;H=(Fi(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Fg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Ed(c[d+48>>2]|0,2)|0;if(mg(18732,u)|0){c[I>>2]=0;j=d+52|0;if(Gh(c[j>>2]|0)|0)eg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;uf(c[j>>2]|0)|0;break}else{if(!(Hg(g,h)|0))break;K=Zf(c[j>>2]|0,20368)|0;H=c[f>>2]|0;Jg(K,H,Nd(H)|0);Ng(K,c[j>>2]|0)|0;ej(K);break}}else c[d+132>>2]=Mh(c[I>>2]|0)|0;while(0);ej(c[I>>2]|0)}}}else{if(!(Gh(b)|0)){d=0;break}K=Ed(b,0)|0;c[d+56>>2]=K;se(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}ej(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6006]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6007]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6004]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=24048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6002]=c[6002]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=24312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6003]=c[6003]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6006]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6006]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6006]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6008]|0)){p=(c[6005]|0)+g|0;c[6005]=p;c[6008]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6007]|0))return;c[6007]=0;c[6004]=0;return}if((m|0)==(c[6007]|0)){p=(c[6004]|0)+g|0;c[6004]=p;c[6007]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=24312+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6003]=c[6003]&~(1<<a);break}}else{if(f>>>0<(c[6006]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6006]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6006]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=24048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6006]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6002]=c[6002]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6006]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6007]|0)){c[6004]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=24048+(a<<1<<2)|0;b=c[6002]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6006]|0)>>>0)Za();else{o=a;p=b}}else{c[6002]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24312+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6003]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6006]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6006]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6003]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6010]|0)+-1|0;c[6010]=q;if(!q)a=24464;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6010]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10792;C=256;D=10918}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11242;C=-1;D=11368}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6006]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6007]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6004]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=24048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6002]=c[6002]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=24312+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6003]=c[6003]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6006]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6006]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6006]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6006]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6008]|0)){q=(c[6005]|0)+g|0;c[6005]=q;c[6008]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6007]|0))return;c[6007]=0;c[6004]=0;return}if((o|0)==(c[6007]|0)){q=(c[6004]|0)+g|0;c[6004]=q;c[6007]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=24312+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6003]=c[6003]&~(1<<d);break}}else{if(f>>>0<(c[6006]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6006]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6006]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=24048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6002]=c[6002]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6007]|0)){c[6004]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=24048+(d<<1<<2)|0;a=c[6002]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6006]|0)>>>0)Za();else{p=d;q=a}}else{c[6002]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24312+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6003]|0;a=1<<b;if(!(d&a)){c[6003]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6006]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6006]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Yh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Ne(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Jc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Qh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0}while((Vi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=ad(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ad(b)|0;if((d[23574+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Wf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23574+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Wf(b,0);c[(Qh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=ad(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Gg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Ih(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23830+((e*23|0)>>>5&7)>>0]|0;j=a[23574+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23574+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=nh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=jh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23574+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23574+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23574+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=ji(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Gg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Ih(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0;j=a[23574+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23574+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=ad(b)|0}while((d[23574+i>>0]|0)>>>0<e>>>0);c[(Qh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Qh()|0)>>2]=34;g=Ih(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Qh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=th(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=21067;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=21097;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=21119;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=le(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(gf(r,16933)|0)){j=g;h=k;N=4;break}s=Yh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Vi(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Nd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)ri(Q,o,(m|0)==0?17355:m)|0;else{l=Ug(o,f)|0;if(!l){l=Ug(o,68)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}mi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}li(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+bj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+bj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17355:m;l=Ug(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=Kh(Q,o)|0;l=uh(m)|0;if(!n){ri(Q,o,l)|0;break}else{kh(n,l);break}}ri(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Uh(16944,z);break}case 34:{c[A>>2]=o;Uh(16970,A);break}case 36:{c[K>>2]=o;Uh(17009,K);break}case 38:{c[L>>2]=o;Uh(17045,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Uh(17078,B);break}case 43:{c[C>>2]=o;Uh(17045,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Uh(17120,D);break}case 48:{c[E>>2]=o;Uh(17164,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Uh(17199,F);break}case 53:{c[G>>2]=o;Uh(17239,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Uh(17275,H);break}case 57:{c[I>>2]=c[l>>2];Uh(17316,I);break}case 65:{Uh(17358,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,13590)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Me(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(og(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(Qh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(mg(14402,f)|0))m=c[F>>2]|0;else{Hf(F)|0;f=Hf(F)|0;if(!f){O=20;break a}if((((mg(15042,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(gf(f,15045)|0)if(gf(f,15049)|0){if(I?(g=gf(f,15053)|0,!((H|g|0)==0&G)):0)if(!(gf(f,15057)|0)){f=o;break}else{O=30;break a}if(!(gf(f,15144)|0)){O=34;break a}if(!(gf(f,15053)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Yh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=oh(f+1|0)|0}if(!(mf(m,15196)|0)){if(o|0)c[e>>2]=Mh(f)|0;if(k)h=Mh(f)|0}}while(!(I&(mf(m,15205)|0)==0));if((mg(15219,f)|0)!=0?(q=(Yh(f,32)|0)+1|0,r=Yh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=jd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=jd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=ge(f)|0;c[z+4>>2]=d;Ch(14853,z);f=0;break}case 10:{c[v>>2]=d;Ch(14890,v);f=0;break}case 11:{c[x>>2]=d;Ch(14946,x);f=0;break}case 15:{c[y>>2]=2e3;Ch(14978,y);f=0;break}case 20:{c[u>>2]=d;Ch(15016,u);f=0;break}case 30:{if(!g)Ch(15061,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Ch(15104,E);f=0;break}case 34:{c[w>>2]=d;Ch(15148,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Ch(15173,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Sg(N,256,13692,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Ch(15226,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24632:15320;c[K+8>>2]=f?15045:15049;c[K+12>>2]=h|0?h:15336;Ch(15346,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Sg(N,256,13692,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Ch(15387,M);f=0}break}}i=P;return f|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=vi(h)|0;c[b+16>>2]=e;f=td(c[f>>2]|0)|0;if(!f){s=0;break}s=Nd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;ej(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}ke(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Lf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=jg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;ke(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;_f(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Pd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Uh(18284,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Pd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Pd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Zb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((mg(18347,b)|0)==0?(mg(18355,b)|0)==0:0)?(mg(18364,b)|0)==0:0){c[j>>2]=b;Uh(18427,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;ph(4,18371,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=th(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;ph(4,18662,m);Xf(x);j=h+128|0;if((c[j>>2]|0)>0)Xf(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;ph(4,18509,n);j=h+256|0;k=c[x>>2]|0;if(!(c[5988]|0)){c[5988]=$d(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=cf(j,k,c[5988]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=th(l|0,m|0,n|0,I|0)|0;J=C;I=Ih(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;Uf(18558,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=Ih(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Uh(18611,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=Ih(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=he(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;Sg(y,2048,18713,z)|0;j=fc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(mg(18732,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Hc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){ej(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Uh(18737,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=cf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)Uf(18766,G);else F=j;K=h+120|0;J=K;J=Ih(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function _b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6006]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6122]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6008]|0)){d=(c[6005]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6008]=l;c[6005]=m;return a|0}if((k|0)==(c[6007]|0)){e=(c[6004]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6004]=d;c[6007]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=24312+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6003]=c[6003]&~(1<<d);break}}else{if(h>>>0<(c[6006]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6006]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6006]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=24048+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6002]=c[6002]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function $b(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;dh(0,20391,b)|0}b=d+112|0;if(c[b>>2]|0)Xf(b);b=d+128|0;if(c[b>>2]|0)Xf(b);ej(c[d+4>>2]|0);ej(c[d+8>>2]|0);fi(d+12|0);ej(c[d+40>>2]|0);ej(c[d+44>>2]|0);ej(c[d+48>>2]|0);ej(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Xf(b);$h(d+80|0)}fi(a);i=e;return}function ac(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(12091,12111,448,12127);h=ya()|0;c[s>>2]=h;if((h|0)<0)Uf(12140,l);if(h|0)if(!(Lg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Uf(12678,k)}r=_h()|0;c[s>>2]=r;if(Lg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Uf(12151,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=zg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Of(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Sf(t);if(c[k>>2]|0)Sf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Uf(12140,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){id(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Uf(12385,o)}id(k,0,h,e);h=ng(1,f,g)|0;if((h|0)<0)Uf(12296,p);if((h|0)==(g|0)){Tg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Uh(12331,q)}}else if((b|0)==28){Tg(0)|0;Tg(1)|0;mh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Of(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Uf(12458,u);else if((b|0)==35){c[v>>2]=h;Uh(12473,v)}else if((b|0)==39){v=Pe(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Uh(12503,w)}else if((b|0)==41)Da(12558,12111,242,12582);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2112]|0;v=Pe(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;dh(h,12601,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12648,12111,396,12668);else if((b|0)==49)_a(0)}}function bc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+64|0;J=K+8|0;I=K+56|0;H=K+52|0;E=K+48|0;D=K+44|0;F=K+40|0;G=K+16|0;if((c[a+12>>2]|0)!=-2003829722)Uh(17944,K);Yf(a);c[I>>2]=0;g=Be(a,c[a+96>>2]|0,b,d,e,0)|0;c[H>>2]=g;A=c[a+8>>2]|0;B=c[a+16>>2]|0;y=a+80|0;b=c[y>>2]|0;if(!b)z=0;else z=de(b)|0;t=(z|0)==0;u=G+20|0;v=G+4|0;w=G+16|0;x=G+12|0;b=g;a:while(1){if(!b){b=32;break}re(b,E,D);s=b+8|0;p=c[s>>2]|0;s=c[s+4>>2]|0;q=c[E>>2]|0;o=q+8|0;q=q+16|0;r=c[q>>2]|0;q=c[q+4>>2]|0;o=th(c[o>>2]|0,c[o+4>>2]|0,p|0,s|0)|0;q=Ih(o|0,C|0,r|0,q|0)|0;r=C;Af(A,p,s);s=de(q)|0;Ce(A,s,q,r);r=s;while(1){if((b|0)==(c[D>>2]|0))break;q=b+16|0;a=c[q>>2]|0;if(t){c[F>>2]=r;p=r+a|0}else{c[F>>2]=z;p=Ve(r,a,z,c[y>>2]|0)|0;p=(c[F>>2]|0)+p|0}Gd(F,G,B);n=c[u>>2]|0;o=n>>>16;b:do switch(n&255|0){case 1:{g=0;while(1){if((g|0)==(o|0))break b;k=gg(F,B)|0;a=gg(F,B)|0;j=+we(F,B);k=k>>>0<d>>>0?d:k;a=a>>>0>e>>>0?e:a;if(k>>>0<a>>>0){n=qf(f,24)|0;c[n+4>>2]=k;c[n+8>>2]=a;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}g=g+1|0}}case 2:{a=c[w>>2]|0;k=0;while(1){if((k|0)==(o|0))break b;l=gg(F,B)|0;g=a+l|0;j=+we(F,B);l=l>>>0<d>>>0?d:l;g=g>>>0>e>>>0?e:g;if(l>>>0<g>>>0){n=qf(f,24)|0;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}k=k+1|0}}case 3:{m=c[v>>2]|0;a=c[x>>2]|0;k=(c[w>>2]|0)+m|0;l=0;while(1){if((l|0)==(o|0))break b;j=+we(F,B);n=m>>>0<d>>>0?d:m;g=k>>>0>e>>>0?e:k;if(n>>>0<g>>>0){L=qf(f,24)|0;c[L+4>>2]=n;c[L+8>>2]=g;h[L+16>>3]=j;c[L>>2]=c[I>>2];c[I>>2]=L}k=a+k|0;l=l+1|0;m=a+m|0}}default:{b=27;break a}}while(0);if((c[F>>2]|0)!=(p|0)){b=29;break a}b=c[b>>2]|0;r=r+(c[q>>2]|0)|0}ej(s)}if((b|0)==27){c[J>>2]=18e3;c[J+4>>2]=269;Uh(20009,J)}else if((b|0)==29)Da(18016,18e3,272,18036);else if((b|0)==32){ej(z);lh(H);Eg(I);i=K;return c[I>>2]|0}return 0}function cc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Pf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Pf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Ih(m|0,l|0,-1,-1)|0;d=C;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;th(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=th(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Le(a,b,d)|0){b=Ah()|0;if((b|0)>=0){if((Rd(b,1)|0)<0){Tg(b)|0;b=-1;break}b:do if((bf(b,d,16)|0)<0){n=Qh()|0;d=c[n>>2]|0;if((d|0)!=115){w=ge(d)|0;c[e>>2]=d;c[e+4>>2]=w;Ch(13526,e);Tg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Df(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=ge(d)|0;c[t>>2]=d;c[t+4>>2]=C;Ch(13302,t);Tg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Ch(13434,u);Tg(b)|0;e=23;break}c[r>>2]=4;do if((Qe(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=ge(d)|0;c[w>>2]=d;c[w+4>>2]=C;Ch(13390,w);Tg(b)|0;break}}else{B=c[n>>2]|0;C=ge(B)|0;c[v>>2]=B;c[v+4>>2]=C;Ch(13360,v);Tg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Rd(b,0)|0)<0){Tg(b)|0;b=-1;break}if((kf(b,120)|0)<0){Tg(b)|0;b=-1}}}else b=-1;else{Ch(13182,x+24|0);b=-1}while(0);i=x;return b|0}function ec(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Lf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ke(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ec(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(Qh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,13586)|0))e=_e(b,0,r)|0;else{if((mg(18347,b)|0)==0?(mg(18355,b)|0)==0:0){if(!(mg(18364,b)|0)){c[g>>2]=b;Uh(14786,g)}jc(b,o);if(gf(o,20005)|0){c[f>>2]=b;Uh(14449,f)}b=o+4112|0;g=kd(b,Kd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(Oh(g,14496,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,Sg(m,256,14503,j)|0,(Oh(g,m,0,0)|0)==0):0){Tg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Nd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14515:14520;c[k+4>>2]=j;Sg(m,256,14525,k)|0;Ci(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Yh(j,40)|0;a[(Yh(j,41)|0)>>0]=0;if((Ae(s+1|0,14533,k,7)|0)!=6)Uh(14535,h);f=(Kd(c[k+16>>2]|0)|0)<<8;f=dc(b,(Kd(c[k+20>>2]|0)|0)+f|0)|0;Wh(l);if((f|0)<0){Tg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((md(f,1e6)|0)>0){b=26;break}if((md(g,0)|0)>0?(wc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Ch(14571,n);Tg(g)|0;Tg(f)|0;e=-1;break}else if((b|0)==24){Tg(g)|0;Tg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}pd(c[2141]|0)|0;pd(c[2082]|0)|0;pd(c[2112]|0)|0;b=$d(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;fe(b+20|0,o|0,10280)|0;f=b+4|0;if(qh(f)|0){c[p>>2]=ge(c[(Qh()|0)>>2]|0)|0;Uh(14636,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=ge(b)|0;c[q>>2]=b;c[q+4>>2]=s;Uh(14740,q)}}}else{Tg(g)|0;e=-1}while(0)}break}e=ni(b,14430,0)|0}while(0);i=r;return e|0}function gc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=nh(d|0,m|0,52)|0;e=e&2047;j=nh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=jh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=jh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=jh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=jh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=jh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=jh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=jh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=jh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=th(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=jh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=th(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=jh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Ih(d|0,f|0,0,-1048576)|0;d=C;e=jh(e|0,0,52)|0;d=d|C;e=o|e}else{e=nh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;jc(b,h);if(gf(h,20005)|0){c[g>>2]=b;Uh(13715,g)}b=h+6176|0;if(gf(b,19538)|0){p=kd(h+4112|0,Kd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;Sg(k,256,13873,q)|0;c[t>>2]=0;do if(Oh(p,k,t,0)|0){if((Ae(c[(c[t>>2]|0)+4>>2]|0,13602,l,3)|0)!=2)Uh(13883,j);n=l+4|0;j=jd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Wh(t);c[s>>2]=b;Sg(k,256,13919,s)|0;if(!(Oh(p,k,t,0)|0)){Tg(p)|0;f=0;break}b=Ae(c[(c[t>>2]|0)+4>>2]|0,13602,l,3)|0;if((b|0)!=2){c[m>>2]=b;Uh(13929,m)}j=c[n>>2]|0;if((Nd(j)|0)>>>0<14){c[o>>2]=j;Uh(13971,o)}b=s;g=14020;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14040,q|0)|0)){c[r>>2]=s;Uh(14058,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Uh(14091,u)}else{c[e>>2]=b;Wh(t);Tg(p)|0;f=1;break}}else{Tg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Nd(b)|0)>>>0>4095){c[e>>2]=b;Uh(13567,e)}Yi(f,b)|0;Rh(f)|0;b=Tb(f,13586)|0;if(!b){a[d>>0]=a[18732]|0;a[d+1>>0]=a[18733]|0;a[d+2>>0]=a[18734]|0;a[d+3>>0]=a[18735]|0;a[d+4>>0]=a[18736]|0}else{a[b>>0]=0;bh(f)|0;vf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Yh(f,47)|0;if(g){Me(g,b,e,1);if(!((mf(d,18732)|0)!=0?(mf(d,19999)|0)!=0:0)){e=Hd(g,13602,13604)|0;vf(d+6176|0,4096,e);ej(e)}a[g>>0]=0;if(!(mf(d,20005)|0)){g=g+1|0;Md(g,d+6176|0,Nd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Yh(f,64)|0;if(!g){if(!((mf(d,18732)|0)!=0?(mf(d,19999)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(mf(d,20005)|0)){b=d+16|0;e=13608;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13618;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Yh(f,58)|0;if(!b){e=d+16|0;vf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;vf(e,2048,f);f=d+2064|0;vf(f,2048,b+1|0);b=f}wd(e,e,Nd(e)|0);wd(b,b,Nd(b)|0);f=g+1|0}b=Yh(f,58)|0;do if(!b){if(!(mf(d,18732)|0)){h=d+6160|0;a[h>>0]=a[13636]|0;a[h+1>>0]=a[13637]|0;a[h+2>>0]=a[13638]|0}if(!(mf(d,19999)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(mf(d,20005)|0)){h=d+6160|0;a[h>>0]=a[13639]|0;a[h+1>>0]=a[13640]|0;a[h+2>>0]=a[13641]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){vf(d+6160|0,16,e);break}else{c[h>>2]=e;Uh(13642,h)}}while(0);vf(d+4112|0,2048,f);i=j;return}function kc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[136+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[136+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function lc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Af(t,f,g);Ce(t,s,1,0);Ce(t,w+32|0,1,0);u=c[b+12>>2]|0;v=tg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;ph(3,16382,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=sg(t,u)|0;c[p+(f<<2)>>2]=sg(t,u)|0;c[q+(f<<2)>>2]=sg(t,u)|0;c[r+(f<<2)>>2]=sg(t,u)|0;g=Bf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if($e(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;lc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=sg(t,u)|0;s=sg(t,u)|0;e=sg(t,u)|0;b=sg(t,u)|0;f=Bf(t,u)|0;g=C;m=Bf(t,u)|0;n=C;if($e(h,j,k,r,s,e,b)|0){b=$d(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function mc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=ai(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=ai(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=ai(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=ai(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=ai(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=ai(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=ai(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function nc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=zh(512)|0;jc(b,s);h=ab(14210)|0;p=(h|0)!=0;if(p){jc(h,q);fe(r|0,q|0,10280)|0;h=Re(r,b)|0}else{fe(r|0,s|0,10280)|0;h=Re(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=Mh(b)|0;j=Ji(b,59)|0;if((j|0)!=0?(mg(13590,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;eh(k,14221,l);ej(b);c[m>>2]=f;eh(k,14232,m);if((gf(s,18732)|0)==0?(gf(13636,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((gf(s,19999)|0)==0?(gf(13671,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;eh(k,14260,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;eh(k,14249,n)}b=c[t>>2]|0;fe(r|0,s|0,10280)|0;ne(r,14274,b);if(p){fe(r|0,q|0,10280)|0;ne(r,14288,b);k=c[t>>2]|0}else k=b;Di(k,14308);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;eh(k,14347,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;eh(k,14322,u);break}}while(0);if(g|0)Di(c[t>>2]|0,g);v=c[t>>2]|0;Di(v,14368);Xe(h,c[v+4>>2]|0,c[v+12>>2]|0);Wh(t)}i=w;return h|0}function oc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=$d(120)|0;c[l+4>>2]=Mh(a)|0;m=xg(a,Fj()|0)|0;c[l+8>>2]=m;Ce(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=jj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Uh(20600,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=tg(m,n)|0;g=l+26|0;b[g>>1]=tg(m,n)|0;h=Bf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Bf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Bf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=tg(m,n)|0;b[l+58>>1]=tg(m,n)|0;j=Bf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Bf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=sg(m,n)|0;j=Bf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=$d(32)|0;c[j+4>>2]=sg(m,n)|0;c[j+8>>2]=sg(m,n)|0;p=Bf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Bf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Eg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Af(m,g,h);b[l+104>>1]=tg(m,n)|0;b[l+106>>1]=tg(m,n)|0;p=Bf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Af(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=cd(a,m)|0;i=o;return l|0}function pc(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 qc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Gg(f|0,b|0,10,0)|0;f=C;e=Ih(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Ih(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=ad(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=th(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;ph(4,18808,p);f=b+36|0;e=0;while(1){d=le(0,1)|0;c[p>>2]=d;d=Si(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=Bh(c[p>>2]|0,18894)|0;c[f>>2]=Mh(d)|0;d=he(a,d)|0;Qd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;Ch(18841,g);n=0}else if((h|0)==7){d=Bh(c[p>>2]|0,18904)|0;do if(!d){d=te(a)|0;e=C;if((e|0)<0){Qd(p);c[j>>2]=a;Uh(18920,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=jd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=Bh(c[p>>2]|0,18987)|0;if(!d){d=Bh(c[p>>2]|0,19002)|0;if(!d){Qd(p);c[m>>2]=a;Uh(19008,m)}else o=d}else o=d;if(!(Ua(o|0,19083,k|0)|0)){Qd(p);c[l>>2]=o;Uh(19108,l)}d=sf(k)|0;if((d|0)==-1){Qd(p);c[q>>2]=o;Uh(19150,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Qd(p);n=200;break}}while(0);i=r;return n|0}function sc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Af(c[t>>2]|0,d,e);Ce(c[t>>2]|0,o,1,0);Ce(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=tg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Ce(c[t>>2]|0,r,q,h);e=Bf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=Ne(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Ce(c[t>>2]|0,r,q,h);e=Bf(c[t>>2]|0,p)|0;d=C;j=Ne(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=vi(c[t>>2]|0)|0;m=C;sc(b,k,l,f,g);Af(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}sc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Ce(c[t>>2]|0,r,q,d);Ce(c[t>>2]|0,j,c[h>>2]|0,0);if(!(Ne(f,r,q)|0))Jh(g,bi(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function tc(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[5989]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ai(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ai(yb(146,m|0)|0)|0;la(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 uc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Jc(23569,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Yh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Yh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5990]|0))c[e+76>>2]=-1;mb(23984);f=c[5995]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5995]=e;eb(23984)}}else{c[(Qh()|0)>>2]=22;e=0}i=o;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=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+64|0;r=s+24|0;q=s;m=s+60|0;o=s+56|0;n=s+52|0;p=s+48|0;l=Zi(a)|0;c[m>>2]=l;c[o>>2]=dd(b,18144)|0;l=wg(l)|0;c[n>>2]=l;while(1){if(!l)break;a=c[5967]|0;k=c[l+4>>2]|0;if(!((a|0)!=0?(gf(a,k)|0)!=0:0)){g=Vg(0)|0;c[p>>2]=g;f=c[2]|0;j=c[3]|0;e=1;g=bc(c[m>>2]|0,k,(f|0)>0?f:0,(j|0)>0?j:c[l+12>>2]|0,g)|0;j=-1;f=-1;d=-1.0;while(1){if(!g)break;b=g+4|0;a=c[b>>2]|0;do if(e)d=+h[g+16>>3];else{e=g+16|0;if((j|0)==(a|0)?d==+h[e>>3]:0){a=f;break}a=c[o>>2]|0;c[q>>2]=k;c[q+4>>2]=f;c[q+8>>2]=j;h[q+16>>3]=d;dh(a,11865,q)|0;a=c[b>>2]|0;d=+h[e>>3]}while(0);j=c[g+8>>2]|0;e=0;g=c[g>>2]|0;f=a}if(!e){g=c[o>>2]|0;c[r>>2]=k;c[r+4>>2]=f;c[r+8>>2]=j;h[r+16>>3]=d;dh(g,11865,r)|0}Sh(p)}l=c[l>>2]|0}Vf(n);ti(o);ig(m);i=s;return}function wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=zh(4096)|0;while(1){if((md(b,1e6)|0)<=0){j=3;break}g=og(b,m,4096)|0;if(g){af(c[o>>2]|0,m,g);if(!(hh(c[(c[o>>2]|0)+4>>2]|0,13799)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Nd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Nd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Ch(13755,n);g=0}else if((j|0)==18){g=Kd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Ch(13801,p);g=0;break}if(!e)Wh(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function xc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Af(c[n>>2]|0,d,e);Ce(c[n>>2]|0,p,1,0);Ce(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=tg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Ce(c[n>>2]|0,l,c[k>>2]|0,0);q=Bf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;xc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Ce(c[n>>2]|0,l,c[k>>2]|0,0);Ce(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function yc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?24004:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8680+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Qh()|0)>>2]=84;f=-1}i=l;return f|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=og(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=th(1,0,g|0,e|0)|0;b=Ih(b|0,C|0,d|0,h|0)|0}r=(ng(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Jf(14684,l);if((b|0)==-1)Jf(14715,o);Tg(c[m>>2]|0)|0;Tg(c[a+12>>2]|0)|0;Tg(c[n>>2]|0)|0;i=q;return 0}function Ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=_e(a,2,h)|0;if((e|0)<0)if((c[(Qh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;Uf(20080,d)}else{se(e,h)|0;if((c[h+36>>2]|0)<64){Tg(e)|0;b=0}else{Fd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=jj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Uh(20103,j)}}else f=0;b=$d(56)|0;c[b+4>>2]=qg(e,f)|0;g=yf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=yf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=qg(e,f)|0;qg(e,f)|0;yf(e,f)|0;yf(e,f)|0;yf(e,f)|0;yf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Cd(b);break}if((Tg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Uh(12836,k)}}else{if(!(c[a+20>>2]&2)){if(Ig(d)|0){c[f>>2]=c[a+12>>2];Uh(12805,f)}}else{pd(d)|0;if(Ig(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Uh(12775,e)}}if((oe(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Uh(12836,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Uf(12458,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Uh(12866,l)}if(b|0)Da(12907,12111,435,12925);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Uh(12941,m)}i=n;return d>>>8&255|0}function Cc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Hj(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Gj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Dc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Af(c[n>>2]|0,d,e);Ce(c[n>>2]|0,h,1,0);Ce(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=tg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Ce(c[n>>2]|0,l,d,0);e=Bf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Ce(c[n>>2]|0,l,c[k>>2]|0,0);if((Ne(f,l,c[k>>2]|0)|0)<0)break;e=Bf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Dc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Ce(c[n>>2]|0,l,d,0);Ce(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(Ne(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=Mh(24632)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=$d(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;Sg(h,4,11905,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ke(b|0,0,e|0)|0;return b|0}function Gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=zh(512)|0;c[h>>2]=f;Di(f,b);Di(f,13586);d=b+16|0;if(a[d>>0]|0){d=Ec(d)|0;Di(f,d);ej(d);d=b+2064|0;if(a[d>>0]|0){Di(f,13667);d=Ec(d)|0;Di(f,d);ej(d)}Di(f,13669)}Di(f,b+4112|0);if(!((gf(b,20005)|0)==0?!(gf(13639,b+6160|0)|0):0))e=7;do if((e|0)==7){if((gf(b,18732)|0)==0?(gf(13636,b+6160|0)|0)==0:0)break;d=b+6160|0;if((gf(b,19999)|0)==0?(gf(13671,d)|0)==0:0)break;Di(f,13667);Di(f,d)}while(0);Di(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,eh(f,13675,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;eh(f,13692,k)}k=$g(h)|0;i=l;return k|0}function Hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}Tg(a)|0;if((h|0)>0)ej(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((mg(18347,f)|0)==0?(mg(18355,f)|0)==0:0){g=11;break}f=he(g,f)|0;c[j>>2]=f;a=fc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Ch(15435,k);g=14}else if((g|0)==11){c[l>>2]=f;Ch(15489,l);g=14}else if((g|0)==13){c[m>>2]=f;Ch(20374,m);g=14}if((g|0)==14)if((b|0)>0){ej(f);b=0}else b=0;i=n;return b|0}function Ic(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){fe(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;fe(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){fe(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Jc(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|0)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?b:0)|0}function Kc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=ai(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(Qh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=ai(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;mc(e,2,j)|0}if(b&2048){c[h>>2]=mc(e,3,k)|0|2048;mc(e,4,h)|0}}}}while(0);i=l;return e|0}function Lc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5989]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ai(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ai(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Oc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16252,16304,388,16316);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=ii(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Eg(b);d=d+1|0}ej(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ce(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=jj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Uh(16338,j)}}else f=0;c[d+24>>2]=sg(b,f)|0;j=Bf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=sg(b,f)|0;c[d+44>>2]=sg(b,f)|0;c[d+48>>2]=sg(b,f)|0;c[d+52>>2]=sg(b,f)|0;g=Bf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=sg(b,f)|0;Ce(b,h,4,0);b=vi(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Qc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;ph(4,19843,p);Ag(500);l=a+5|0;k=dd(l,19750)|0;c[p>>2]=k;Qi(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Ag(250);g=e-j|0;g=jf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;ph(4,19896,m);if(Ig(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;Ch(19918,o);c[n>>2]=l;Uf(19802,n)}else if((g|0)==6){ti(p);i=q;return a|0}return 0}function Rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=$d(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=zh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){Di(e,12039);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){Di(e,13602);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}Di(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=$g(j)|0;if(!(c[a>>2]|0))Uh(12043,k);if(!(b&8))e=0;else{kh(l,ye(56,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;kh(l,ye(d,l)|0);e=e+1|0}i=m;return l|0}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Hj(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;fe(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(be(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Gj(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Gj(f);return e|0}function Tc(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(!(df(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);fe(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 Uc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{fe(l|0,b|0,d|0)|0;Ke(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Uh(16860,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Dc(a,j,k,l,g)|0;else{sc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Wc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Nd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=$d(16)|0;else l=qf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=Ei(d,e)|0;else{k=qf(h,e+1|0)|0;c[l+4>>2]=k;fe(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Oc(b,Lh(m)|0);return l|0}function Yc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Mj()|0;Bj(23872)|0;if((c[5975]|0)!=0&(a|0)==(c[5976]|0)){ng(2,12965,61)|0;_a(1)}zj(23872)|0;Bj(23908)|0;Bj(23872)|0;c[5976]=a;c[5975]=1;zj(23872)|0;if(!(c[5984]|0))c[5984]=le(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Sg(d,64,13692,b)|0;a=Se(c[5984]|0,d)|0;if(!a){a=$d(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=ri(c[5984]|0,d,a)|0}Bj(23872)|0;c[5975]=0;zj(23872)|0;zj(23908)|0;i=e;return c[a+8>>2]|0}function Zc(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=zh(Nd(f)|0)|0;c[j>>2]=g;h=f;f=Yh(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;Di(g,h);Di(g,19538);m=f+1|0;h=m;f=Yh(m,47)|0}Di(g,h);f=$g(j)|0;j=Nd(d)|0;m=Nd(e)|0;m=j+3+m+(Nd(f)|0)|0;j=$d(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;Sg(j,m,19540,k)|0;c[b+44>>2]=Tf(b,19549)|0;c[b+48>>2]=Tf(b,19556)|0;c[b+52>>2]=Tf(b,19567)|0}i=l;return}function _c(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=ni(b,d,0)|0;if((d|0)>-1){b=rg(b,1,d)|0;c[h>>2]=b;a:do if((((Yb(b,g,0)|0)!=0?(mg(14402,c[g>>2]|0)|0)!=0:0)?(Hf(g)|0,f=Hf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Kd(f)|0;if(e)while(1){if(!(Yb(c[h>>2]|0,g,0)|0))break a;f=Hf(g)|0;if(!f)break a;b=ah(f)|0;ri(e,b,Mh(oh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Cd(h)}else d=c[(Qh()|0)>>2]|0;i=j;return d|0}function ad(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Nf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8884;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Qh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Cc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ce(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=jj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Uh(16821,j)}}else f=0;c[d+12>>2]=sg(b,f)|0;c[d+16>>2]=sg(b,f)|0;c[d+20>>2]=sg(b,f)|0;g=Bf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Ce(b,h,4,0);Ce(b,h,4,0);b=vi(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(gf(b,18274)|0){if(!(gf(b,15646)|0)){f=c[2082]|0;break}e=Ud(b,d)|0;if(!e){a:do if(!d)e=24632;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15674;break a}case 119:{e=15664;break a}default:{e=e<<24>>24==97?15653:24632;break a}}}while(0);d=ge(c[(Qh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Uh(15683,g)}else f=e}else f=c[2141]|0;while(0);i=h;return f|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;ld(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=$d(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;Zc(a,b,h,d);c[e>>2]=0;b=a+44|0;j=uh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=uh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=uh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Eg(e);ej(c[a+40>>2]|0);ej(c[b>>2]|0);ej(c[f>>2]|0);ej(a);ej(h);ej(d);d=c[e>>2]|0}i=g;return d|0}function fd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ue(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=qj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;xj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Ch(15560,f);b=0;break}}else{ff(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function gd(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=$d(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20535+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20535+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20535+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20535+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function hd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[17860+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[17860+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Uf(12184,k);l=_h()|0;if(Lg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=_h()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Uf(12207,f)}if(b|0?($f(b,0)|0)<0:0)Uf(12234,g);if((d|0)!=1?($f(d,1)|0)<0:0)Uf(12254,h);if((e|0)!=2?($f(e,2)|0)<0:0)Uf(12275,j);mh();i=k;return}function jd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Gg(c|0,d|0,10,0)|0;b=b+1|0;c=th(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=th(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function kd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=dc(a,b)|0;if((a|0)<0)a=-1;else{if((md(a,1e6)|0)>0)Oh(a,24632,0,0)|0;c[g>>2]=0;c[h>>2]=d;Sg(f,256,13844,h)|0;do if(Oh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,Sg(f,256,13854,j)|0,(Oh(a,f,0,0)|0)==0):0){Tg(a)|0;a=-1;break}if(!(Oh(a,13864,0,0)|0)){Tg(a)|0;a=-1}}else{Tg(a)|0;a=-1}while(0)}i=k;return a|0}function ld(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Yh(b,58)|0;if(!h)h=0;else{m=Ei(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Yh(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){qe(l,1024,b,k+1-b|0);c[g>>2]=Id(l)|0}j=Yh(b,47)|0;if(!j)j=b+(Nd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Id(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Df(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(Qh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=ge(a)|0;Ch(13697,m)}i=n;return a|0}function nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=_e(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=$d(5)|0;c[g>>2]=f;if((og(e,f,4)|0)<4)fi(g);else a[f+4>>0]=0;Tg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Xd(e)|0,fi(h),(g|0)!=0):0){h=yg(He(b)|0,33,b,0)|0;e=rg(b,d,oj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function od(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Nc(g,20680,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ie(g)|0;i=j;return h|0}ie(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function pd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Wd(a)|0;break}d=(Hj(a)|0)==0;b=Wd(a)|0;if(!d)Gj(a)}else{if(!(c[2111]|0))b=0;else b=pd(c[2111]|0)|0;mb(23984);a=c[5995]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Hj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Wd(a)|0|b;if(d|0)Gj(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(23984)}while(0);return b|0}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Qf(e,0)|0;c[n>>2]=g;kg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Qf(d,e)|0;else if(!f){e=_e(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Uf(12744,k)}else j=e}else j=0;c[m>>2]=j;e=of(a,b,j,g)|0;Sf(m);if(!l)Sf(n);i=o;return e|0}function rd(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[(Qh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function sd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=_h()|0;c[g>>2]=f;Sg(a,256,17620,g)|0;d=We(a,1)|0;c[g>>2]=d;if(!d){j=c[2112]|0;c[b>>2]=a;dh(j,17657,b)|0;a=j}else{while(1){if(!(dg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,17636)|0){j=5;break}}if((j|0)==5){j=c[2112]|0;c[h>>2]=f;c[h+4>>2]=a;dh(j,17643,h)|0}Cd(g);a=c[2112]|0}pd(a)|0;i=k;return}function td(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=de(k)|0;fe(j|0,d|0,e|0)|0;ej(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=Mh(d)|0;ej(c);c=l}i=h;return c|0}function ud(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;ph(4,19609,j);h=Ie(a)|0;n=dd(h,19750)|0;c[j>>2]=n;Qi(n,b,0)|0;a=jf(g+256|0,f,e,n)|0;if(!(Ig(n)|0)){ti(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;Ch(19753,k);c[l>>2]=h;Uf(19802,l)}return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;ph(4,19228,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(ic(a,f,e)|0){a=sf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Uh(19260,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function wd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((gh(f,11901,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function xd(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;Ke(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){Tc(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;Tc(h,f,a)|0}while(0);i=j;return}function yd(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(!(df(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function zd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){fh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=bd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;fh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Ad(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(Gh(b)|0)){c=(Nd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Yi(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Yh(b,47)|0;if(!b){Rf(e)|0;b=0;continue}else{a[b>>0]=0;Rf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Hj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=yd(d,b)|0;Gj(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=yd(d,b)|0}while(0);return e|0}function Cd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Xh(c[2141]|0)|0):0){Tg(c[d>>2]|0)|0;ej(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)$b(d)}else Dh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);ej(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Qd(g);fi(b)}return}function Dd(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=th(h^a|0,g^b|0,h|0,g|0)|0;b=C;cc(a,b,th(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=th(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(gf(a,18274)|0)if(gf(a,15646)|0){c[d>>2]=436;d=_e(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15674:15653;else d=15664;else d=15827;else d=15803;c[f>>2]=a;c[f+4>>2]=d;Uf(15838,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Fd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=og(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Uf(15866,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Uh(15891,g)}else if((d|0)==8){i=h;return}}function Gd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=gg(h,f)|0;c[e+4>>2]=gg(h,f)|0;c[e+8>>2]=gg(h,f)|0;c[e+12>>2]=gg(h,f)|0;c[e+16>>2]=gg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=Pg(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Nd(b)|0;h=Nd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Nd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=$d((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Yi(d,e)|0;j=a+g|0;i=d+(a-e)|0;Yi(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Yi(d,e)|0;return f|0}function Id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(fg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=$d(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(fg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;ch(g,19532,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Jd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=jh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Kd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Vi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Md(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((gh(f,11901,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Nd(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 Od(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=nh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Od(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 Pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Se(c[e>>2]|0,d)|0)){ri(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;dh(g,18280,h)|0}}}while(0);i=j;return}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Ti(d);d=g}e=e+1|0}}else{Sh(b);b=d+8|0}while(0);ej(c[b>>2]|0);fi(a)}return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=mc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((mc(a,4,f)|0)<0){c[g>>2]=ge(c[(Qh()|0)>>2]|0)|0;Ch(13271,g);d=-1}else d=0}else{c[e>>2]=ge(c[(Qh()|0)>>2]|0)|0;Ch(13240,e);d=-1}i=h;return d|0}function Sd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=23852;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Td(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[17868+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[17876+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[17876+f>>0]}while(0);return}function Ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Jc(23569,a[d>>0]|0,4)|0){h=wf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=ai(jb(5,e|0)|0)|0;if((e|0)>=0){b=uc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(Qh()|0)>>2]=22;b=0}i=g;return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Uh(16571,d)}d=$i(a,b)|0;if(!d){g=c[(Qh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Uh(16635,e)}else{i=f;return d|0}return 0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(mg(18146,a)|0))if(!(mg(18149,a)|0))if(!(mg(18153,a)|0))if(!(mg(18156,a)|0))a=0;else{a=18161;e=5}else{a=18165;e=5}else{a=18169;e=5}else{a=18171;e=5}if((e|0)==5){c[d>>2]=a;Sg(b,20,18174,d)|0;a=Mh(b)|0}i=f;return a|0}function Yd(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=th(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return th((cc(h,g,th(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Wf(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function _d(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=ug(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=ji(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 $d(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Uh(16707,b)}b=vj(a)|0;if(!b){f=c[(Qh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Uh(16760,d)}else{Ke(b|0,0,a|0)|0;i=e;return b|0}return 0}function ae(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(Gh(a)|0)){d=Ud(a,18144)|0;c[b>>2]=d;if(!d){a=0;break}else{ti(b);a=1;break}}else{f=Ph()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;Ch(18114,d);a=0;break}}while(0);i=e;return a|0}function be(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ce(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=17808;break}case 2:{a=17787;break}case -1:{a=17776;break}case -2:{a=17760;break}case -3:{a=17760;break}case -4:{a=17745;break}case -5:{a=17730;break}case -6:{a=17711;break}case 0:{a=0;break}default:{c[b>>2]=a;Sg(24504,128,17692,b)|0;a=24504}}i=d;return a|0}function de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Uh(16447,b)}b=vj(a)|0;if(!b){f=c[(Qh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Uh(16505,d)}else{i=e;return b|0}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(Qh()|0)>>2]=12;a=0;return a|0}d=_b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;fe(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 ge(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21637+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21725;e=5;break}}if((e|0)==2)if(!c)b=21725;else{b=21725;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 he(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;jc(b,g);jc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){vf(e,2048,d);vf(f+2064|0,2048,g+2064|0)}g=Gc(f)|0;i=h;return g|0}function ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function je(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;Eh(e,b,16);c[5967]=Mf(11878,c[5967]|0)|0;c[2]=Ge(11884,c[2]|0)|0;c[3]=Ge(11890,c[3]|0)|0;aj(Mf(11894,Fj()|0)|0);if((c[e>>2]|0)!=3)Uh(11494,d);vc(c[b+4>>2]|0,c[b+8>>2]|0);if((Ij()|0)>1)sd();i=d;return 0}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16252,16304,357,16327);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Vg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=ii(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function me(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Wf(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ne(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;Sg(h,256,14189,j)|0;j=gd(h,Nd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;eh(e,14195,k);fi(g)}i=l;return}function oe(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(23984);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5995]|0)==(a|0))c[5995]=b;eb(23984)}b=pd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function pe(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=xf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16068;else e=(d|0)==2?16027:16036;else e=16059;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Uf(16077,g);return 0}function qe(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Uh(16192,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;yi(b,e,f)|0;a[b+g>>0]=0;i=j;return}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=Ih(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Sd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=ai(Pa(195,f|0)|0)|0}else d=ai(d)|0;i=g;return d|0}function te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;Sg(g,4096,14413,e)|0;a=le(0,1)|0;c[e>>2]=a;if((($c(g,14430,a)|0)==206?(b=Bh(a,14434)|0,(b|0)!=0):0)?(d=Yh(b,47)|0,(d|0)!=0):0){b=jd(d+1|0)|0;a=C}else{a=-1;b=-1}Qd(e);C=a;i=f;return b|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ph()|0;a=ed(a,(b|0)==0?c[33]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(hh(e,19549)|0){if(!(Gh(e)|0))break a;if((vg(e)|0)>>>0<b>>>0)b=vg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ve(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2082]|0;if((c[f+76>>2]|0)>-1)g=Hj(f)|0;else g=0;do if((Ni(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=(yd(f,10)|0)<0}while(0);if(g|0)Gj(f);return d<<31>>31|0}function we(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=oi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;ej(e);f=f+1|0}ej(b);ej(i);i=h}fi(g+12|0);fi(g+28|0);fi(a)}return}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=$d((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=Mh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;ph(4,19966,d);Ag(500);if((Mg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ae(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Mc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Vc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Be(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(Nh(k,d,Nd(d)|0,h,8)|0))a=0;else{ih(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Gf(b,a,e,f)|0}i=j;return a|0}function Ce(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Uh(19480,g)}else{i=h;return}}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;ph(4,19810,d);if((Mg(Ie(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ee(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2082]|0);if((b|0)==(c[2141]|0)|d)if(d){pd(b)|0;b=1}else b=1;else if(!(oe(b)|0))b=1;else{Jf(16127,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Sc(b,d,1,a)|0)!=1:0){b=Ig(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Uh(15772,f)}else{f=ge(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Uh(15743,e)}}i=g;return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Qg(b)|0;do if((f|0)!=0?(gf(f,17355)|0)!=0:0){d=mi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Uh(17078,h)}else e=d;while(0);i=j;return e|0}function He(a){a=a|0;var b=0;b=Mh(a)|0;if(!(((mg(18347,a)|0)==0?(mg(18355,a)|0)==0:0)?!(mg(18364,a)|0):0))wd(a,b,Nd(a)|0);if(!(hh(b,18186)|0))if(!(hh(b,18190)|0))if(!(hh(b,18193)|0)){a=(hh(b,18198)|0)==0;a=a?0:84}else a=120;else a=108;else a=96;ej(b);return a|0}function Ie(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(mg(19657,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Uh(19664,e);if(((((Tb(b,19691)|0)==0?(Yh(b,126)|0)==0:0)?(Tb(b,19694)|0)==0:0)?(Tb(b,19697)|0)==0:0)?(hh(19701,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Uh(19704,d);return 0}function Je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=ii(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Uh(17544,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ke(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 Le(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Xi(e&65535)|0;if(d){h=rj(fd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Me(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Ji(b,59)|0;if((g|0?mg(13590,g)|0:0)?(i=(Yh(g,61)|0)+1|0,h=Yh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=jd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=jd(b)|0;c[e>>2]=f}}return}function Ne(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 Oe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=ai(pa(102,h|0)|0)|0;i=g;return e|0}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=zh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){Di(e,13602);b=c[d>>2]|0}Di(e,b);f=f+1|0}g=$g(g)|0;i=h;return g|0}function Qe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=ai(pa(102,h|0)|0)|0;i=g;return e|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(gf(a,18732)|0)if(!(gf(a,19999)|0)){d=wh(a+4112|0,Kd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Uh(14147,e)}else d=dc(a+4112|0,Kd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((gf(c[e+4>>2]|0,d)|0)!=0);return e|0}function Te(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((ai(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ue(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Yh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=od(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=ce(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Uh(17824,g)}return 0}function We(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(gf(a,18274)|0){if(He(a)|0){c=nd(a,b)|0;break}c=_e(a,0,c)|0;if((c|0)==-1)c=0;else c=rg(a,b,c)|0}else c=Ki(b)|0;while(0);i=d;return c|0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=ng(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Uf(15933,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Uh(15959,e)}}function Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){ih(c[a+4>>2]|0,e);f=$d(16)|0;c[f+4>>2]=Ei(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(20620,20647,206,20662)}function Ze(b){b=b|0;var d=0,e=0,f=0;d=c[2112]|0;f=ge(c[(Qh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=Hj(d)|0;else e=0;if(b|0?a[b>>0]|0:0){zf(b,Nd(b)|0,1,d)|0;Bd(58,d)|0;Bd(32,d)|0}zf(f,Nd(f)|0,1,d)|0;Bd(10,d)|0;if(e|0)Gj(d);return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=ai(jb(5,f|0)|0)|0;i=e;return d|0}function $e(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);fh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;fe(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=ai(pa(102,f|0)|0)|0;i=e;return d|0}function cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=og(b,d,e)|0;a=a+16|0;b=a;b=Ih(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function df(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 ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Xe(b,d,e);return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ec(2,a,d)|0)<0){b=ge(c[(Qh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Ch(15519,e);a=0}else{c[b>>2]=qj(c[d>>2]|0)|0;a=1}i=f;return a|0}function gf(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 hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Fd(b,d,e);return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Sc(b,1,d,e)|0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Oe(a,1,20,d,8)|0)>=0)if((Oe(a,1,21,d,8)|0)<0){Ch(13135,e);a=-1}else a=0;else{Ch(13085,f);a=-1}i=f;return a|0}function lf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=tc(b,d,e)|0;i=g;return f|0}function mf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Hi(a[e>>0]|0)|0;c=c<<24>>24;b=(Hi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function nf(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 of(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;kg(b);a=Rc(a,b)|0;if(!(b&1)){b=zg(a+16|0)|0;c[f>>2]=b;ac(a,b,d,e,0,0);Sf(f)}else bg(a,d,e,0,0);i=g;return a|0}function pf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Je(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function rf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=bd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Uh(16141,g)}return 0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16241)|0;d=(b|0)!=0;if(d)vf(e,100,b);qa(16241,16244,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16241,e|0,1)|0;else ob(16241)|0;Oa();i=f;return b|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Jc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;fe(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function uf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=ai(ib(10,b|0)|0)|0;if(b){if((c[(Qh()|0)>>2]|0)==21){c[d>>2]=a;b=ai(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Nd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Uh(15600,f)}else{Yi(a,d)|0;i=g;return}}function wf(b){b=b|0;var c=0,d=0,e=0;d=(Yh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Yh(b,120)|0)==0;d=e?d:d|128;b=(Yh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function xf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(ai(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Fd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function zf(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=(Hj(e)|0)==0;a=Tc(a,f,e)|0;if(!g)Gj(e)}else a=Tc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=Ih(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[33]|0)Fg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Ce(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=Bi(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Cf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2082]|0;else{ve(13027)|0;ve(13052)|0;d=c[2082]|0;Cc(d,a,b)|0;Bd(10,d)|0;pd(d)|0}pd(d)|0;d=c[2112]|0;Cc(d,a,b)|0;Bd(10,d)|0;pd(d)|0}return}function Df(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=ai(kb(142,h|0)|0)|0;i=g;return d|0}function Ef(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Ff(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=de(h)|0;a=a+136|0;Fg(a,b,d+64|0,0)|0;hf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;lc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Eg(f);i=g;return c[f>>2]|0}function Hf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=oh(e)|0,(a[d>>0]|0)!=0):0){e=ag(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function If(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=ge(c[(Qh()|0)>>2]|0)|0;c[g+4>>2]=a;ch(f,13079,g)|0;Hh(f,e);i=d;return}function Kf(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?(zf(b,d,1,a)|0)!=1:0){a=ge(Ig(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Uh(15713,e)}i=f;return}function Lf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else fe(b,c,d)|0;return b|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[5987]|0;if((d|0?(e=Ug(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Uh(17476,f);f=Qg(a)|0;i=g;return ((f|0)==0?b:f)|0}function Nf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(be(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Uh(12401,e)}}function Pf(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 Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=_e(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Uf(12712,d)}else{i=e;return b|0}return 0}function Rf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Og(a,511)|0)<0)if((c[(Qh()|0)>>2]|0)==17)b=0;else{Ze(24632);c[d>>2]=a;Uh(18056,d)}else b=1;i=e;return b|0}function Sf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Tg(b)|0)<0){c[d>>2]=b;Uf(12436,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Nd(c[g>>2]|0)|0;e=Nd(d)|0;b=$d(f+2+e|0)|0;fe(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;fe(f+1|0,d|0,e|0)|0;return b|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=ge(c[(Qh()|0)>>2]|0)|0;c[f+4>>2]=a;ch(e,13079,f)|0;hi(e,d)}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Th(b);d=f}c[a>>2]=0;i=e;return}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Xf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((Tg(b)|0)<0)Uf(16109,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Yf(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Af(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Pc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Nd(a)|0;g=g+1+(Nd(b)|0)|0;d=$d(g)|0;c[f>>2]=a;c[f+4>>2]=b;Rg(d,g,16122,f)|0;i=e;return d|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=qi(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18218,18240,352,18256)}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=ai(d)|0;i=f;return e|0}function ag(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Vi(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function bg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=zg(h)|0;ac(a,b,c[h>>2]|0,d,e,f);Sf(h);i=g;return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(Mg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function dg(b,d){b=b|0;d=d|0;a:while(1){if(!(Yb(b,d,0)|0)){b=0;break}switch(a[(oh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=cg(b)|0;b=dd(b,19750)|0;g=de(f+1|0)|0;c[d>>2]=g;Fe(b,g,f);a[g+f>>0]=0;oe(b)|0;if(e|0)c[e>>2]=f;return}function fg(a){a=a|0;a:do if(!(Pi(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function gg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=oi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;fe(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ig(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){tj(b+96|0);d=b+100|0;lh(d);lh(d);wj(b+20|0);$b(b+8|0);ej(c[b+4>>2]|0);fi(a)}return}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=og(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function kg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Uh(11910,c);break}default:{}}if((a&18|0)==16)Uh(11976,b);else{i=c;return}}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Hj(a)|0)==0;b=Ld(a,b,d)|0;if(!e)Gj(a)}else b=Ld(a,b,d)|0;return b|0}function mg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=ai(pb(4,f|0)|0)|0;i=e;return a|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=ai(sb(3,f|0)|0)|0;i=e;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;Sg(e,256,16249,f)|0;ah(e)|0;b=Se(a,e)|0;i=d;return b|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fd(a,d,4);a=c[d>>2]|0;if(b){a=oi(a|0)|0;c[d>>2]=a}i=e;return a|0}function rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=$d(104)|0;c[f+4>>2]=Mh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=$d(65537)|0;return f|0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ce(a,d,4,0);a=c[d>>2]|0;if(b){a=jj(a)|0;c[d>>2]=a}i=e;return a|0}function tg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ce(a,d,2,0);a=b[d>>1]|0;if(c){a=kj(a)|0;b[d>>1]=a}i=e;return a|0}function ug(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;cc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((Mg(a,b)|0)<0){c[d>>2]=a;Uh(18083,d)}else{i=e;return c[b+56>>2]|0}return 0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];Fh(c[a+20>>2]|0,b,1);Eg(b);i=d;return c[b>>2]|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;Uh(20374,d)}else{i=e;return b|0}return 0}function yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=qd(g,b,d,e)|0;i=f;return e|0}function zg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((qh(b)|0)<0)Uf(12073,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Ag(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Df(0,0,0,0,b)|0}i=d;return}function Bg(b){b=b|0;var c=0,d=0;c=Nd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Vi(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[16]|0)>=(a|0)){a=c[5985]|0;if(!a){a=c[2112]|0;c[5985]=a}Cc(a,b,d)|0;pd(c[5985]|0)|0}return}function Dg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return pe(b,d,e)|0}function Gg(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=Ef(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Hg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(gf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Ig(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Hj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Gj(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Jg(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;a=dd(a,18144)|0;c[f>>2]=a;Kf(a,b,d);ti(f);i=e;return}function Kg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=20030;c[a+4>>2]=352;Uh(20009,a);return 0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=ai(cb(57,e|0)|0)|0;i=d;return a|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=ai(Pa(195,e|0)|0)|0;i=d;return a|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=ai(hb(38,e|0)|0)|0;i=d;return a|0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=ai(Ia(39,e|0)|0)|0;i=d;return a|0}function Pg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=dj(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function Qg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5986]|0;if(!b)Uh(17444,d);else{a=Kh(b,a)|0;i=d;return a|0}return 0}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=bd(a,b,d,g)|0;i=f;return e|0}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=rf(a,b,d,g)|0;i=f;return e|0}function Tg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=ai((a|0)==-4?-115:a)|0;i=b;return a|0}function Ug(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(gf(d,a)|0))break;b=b+8|0}return b|0}function Vg(a){a=a|0;var b=0;b=$d(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Je(b,a)|0;return b|0}function Wg(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=ai(Wa(6,d|0)|0)|0;i=b;return a|0}function Xg(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]}function Yg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=$d(d+1|0)|0;c=(c|0)<(d|0)?c:d;fe(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function $g(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(17573,17584,40,17600);else{b=c[b+4>>2]|0;fi(a);return b|0}return 0}function ah(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Hi(c<<24>>24)|0;d=d+1|0}return b|0}function bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Ii(c<<24>>24)|0;d=d+1|0}return b|0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=ui(a,b,f)|0;i=e;return d|0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Cc(a,b,f)|0;i=e;return d|0}function eh(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;zd(a,b,f);i=e;return}function fh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=qi(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=pf(a,b,f)|0;i=e;return d|0}function hh(a,b){a=a|0;b=b|0;var c=0;c=Nd(a)|0;c=c-(Nd(b)|0)|0;if((c|0)<0)c=0;else c=(gf(a+c|0,b)|0)==0&1;return c|0}function ih(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=jj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=jj(c[a>>2]|0)|0}return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function kh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;ej(b);b=d}c[a>>2]=0;return}function mh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Tg(b)|0;b=b+1|0}return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function oh(b){b=b|0;if(!b)b=0;else while(1)if(!(Vi(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function ph(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;Cg(a,b,f);i=e;return}function qh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ai(wa(42,d|0)|0)|0;i=b;return a|0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;a=Vd(a,c)|0;if(c>>>0>b>>>0)Ke(a+b|0,0,c-b|0)|0;return a|0}function sh(){}function th(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 (C=d,a-c>>>0|0)|0}function uh(a){a=a|0;var b=0;if(!a)a=$d(8)|0;else{b=$d((Nd(a)|0)+8|0)|0;Yi(b+4|0,a)|0;a=b}return a|0}function vh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[16]=a;c[d>>2]=0;i=b;return}function wh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Uh(17884,d);return 0}function xh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function yh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=20030;c[a+4>>2]=360;Uh(20009,a);return 0}function zh(a){a=a|0;var b=0;b=$d(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=$d(a+1|0)|0;c[b+8>>2]=a;return b|0}function Ah(){var a=0,b=0;b=i;i=i+16|0;a=Kc(2,1,0)|0;if((a|0)<0)Ch(13210,b);i=b;return a|0}function Bh(a,b){a=a|0;b=b|0;a=pg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Ch(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;Hh(a,e);i=d;return}function Dh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Bc(b)|0;xe(a)}return b|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5986]|0)){ei(Wb(a,b,0,d,0)|0);c[5987]=d}return}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;xc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function Gh(a){a=a|0;if((gf(a,18274)|0)!=0?(gf(a,15646)|0)!=0:0)a=(cg(a)|0)!=-1&1;else a=1;return a|0}function Hh(a,b){a=a|0;b=b|0;var d=0;d=Yc()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Jh(a,b){a=a|0;b=b|0;var d=0;d=$d(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function Kh(a,b){a=a|0;b=b|0;a=Se(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Lh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function Mh(a){a=a|0;var b=0;if(!a)a=0;else{b=Nd(a)|0;a=_g(a,b,b)|0}return a|0}function Nh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Uc(a,b,c,e,0,d,0)|0}function Oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ci(a,b);return wc(a,b,c,d)|0}function Ph(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function Qh(){var a=0;if(!(c[5989]|0))a=24e3;else a=c[(Mj()|0)+64>>2]|0;return a|0}function Rh(a){a=a|0;if(!a)a=0;else{a=oh(a)|0;Bg(a)}return a|0}function Sh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){lh(b);ej(b);c[a>>2]=0}return}function Th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ej(c[b+4>>2]|0);fi(a)}return}function Uh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;hi(a,d)}function Vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Wh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ej(c[b+4>>2]|0);fi(a)}return}function Xh(a){a=a|0;if((c[a+76>>2]|0)>-1?Hj(a)|0:0)Gj(a);return c[a+60>>2]|0}function Yh(b,c){b=b|0;c=c|0;b=Wc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Zh(){var a=0;a=Yc()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function _h(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function $h(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Xf(b+52|0);fi(a)}return}function ai(a){a=a|0;if(a>>>0>4294963200){c[(Qh()|0)>>2]=0-a;a=-1}return a|0}function bi(a,b){a=a|0;b=b|0;var c=0;c=de(b)|0;fe(c|0,a|0,b|0)|0;return c|0}function ci(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function di(a,b){a=a|0;b=b|0;if(!a)a=0;else a=rd(a,b,0)|0;return a|0}function ei(a){a=a|0;c[5986]=a;if(Qg(16936)|0)vh(Ge(16936,0)|0);return}function fi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)yj(b);return}function gi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function hi(a,b){a=a|0;b=b|0;c[(Yc()|0)+4>>2]=1;Hh(a,b);Zh()}function ii(a){a=a|0;var b=0;b=de(a)|0;Ke(b|0,0,a|0)|0;return b|0}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cc(a,b,c,d,0)|0}function ki(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function li(a,b,c){a=a|0;b=b|0;c=c|0;a=me(a,b,c,0,-2147483648)|0;return a|0}function mi(a,b,c){a=a|0;b=b|0;c=c|0;a=me(a,b,c,-2147483648,0)|0;return a|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;return nc(a,b,14371,14380,c)|0}function oi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function pi(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return rh(a,b,c)|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,b,Nd(b)|0,c)|0}function si(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ti(a){a=a|0;if(!(Ee(a)|0))Zh();else return}function ui(a,b,c){a=a|0;b=b|0;c=c|0;return bd(a,2147483647,b,c)|0}function vi(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function wi(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function xi(){if((ab(13060)|0)==0?(ab(13070)|0)==0:0)_a(-1);Za()}function yi(a,b,c){a=a|0;b=b|0;c=c|0;Fc(a,b,c)|0;return a|0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;return tf(a,b,c)|0}function Bi(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function Ci(a,b){a=a|0;b=b|0;Xe(a,b,Nd(b)|0);return}function Di(a,b){a=a|0;b=b|0;af(a,b,Nd(b)|0);return}function Ei(a,b){a=a|0;b=b|0;return _g(a,Nd(a)|0,b)|0}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,0,c)|0}function Gi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Hi(a){a=a|0;var b=0;b=(mj(a)|0)==0;return (b?a:a&95)|0}function Ii(a){a=a|0;var b=0;b=(lj(a)|0)==0;return (b?a:a|32)|0}function Ji(a,b){a=a|0;b=b|0;return Dg(a,b,(Nd(a)|0)+1|0)|0}function Ki(a){a=a|0;return rg(18274,a,Xh(c[2141]|0)|0)|0}function Li(a){a=a|0;if(!(c[a+68>>2]|0))Gj(a);return}function Mi(a){a=a|0;if(!(c[a+68>>2]|0))Gj(a);return}function Ni(a,b){a=a|0;b=b|0;return (zf(a,Nd(a)|0,1,b)|0)+-1|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,1,c)|0}function Pi(a){a=a|0;return ((a+-48|0)>>>0<10|(fj(a)|0)!=0)&1|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;return lg(a,b,c)|0}function Ri(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Si(a,b){a=a|0;b=b|0;return $c(a,14408,b)|0}function Ti(a){a=a|0;ej(c[a+4>>2]|0);ej(a);return}function Ui(a,b){a=a|0;b=b|0;i=a;j=b}function Vi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Xi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Yi(a,b){a=a|0;b=b|0;_c(a,b)|0;return a|0}function Zi(a){a=a|0;return oc(a,-2003829722,17936)|0}function _i(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function $i(a,b){a=a|0;b=b|0;return ee(a,b)|0}function aj(a){a=a|0;c[33]=Mh(a)|0;return}function bj(a,b){a=a|0;b=b|0;return +(+Zd(a,b,1))}function cj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function dj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function ej(a){a=a|0;if(a|0)yj(a);return}function fj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function gj(a,b){a=+a;b=+b;return +(+If(a,b))}function hj(a,b){a=+a;b=b|0;return +(+Jd(a,b))}function ij(a,b){a=+a;b=b|0;return +(+Od(a,b))}function jj(a){a=a|0;return oi(a|0)|0}function kj(a){a=a|0;return dj(a|0)|0}function lj(a){a=a|0;return (a+-65|0)>>>0<26|0}function mj(a){a=a|0;return (a+-97|0)>>>0<26|0}function nj(a,b){a=a|0;b=b|0;Qb(b);return}function oj(a){a=a|0;return c[a+16>>2]|0}function pj(a,b){a=+a;b=+b;return +(+gc(a,b))}function qj(a){a=a|0;return oi(a|0)|0}function rj(a){a=a|0;return oi(a|0)|0}function sj(a,b){a=a|0;b=b|0;ba(7);return 0}function tj(a){a=a|0;fi(a);return}function uj(a){a=a|0;Hb[a&1]()}function vj(a){a=a|0;return Kb(a)|0}function wj(a){a=a|0;fi(a);return}function xj(a){a=a|0;Qb(a);return}function yj(a){a=a|0;Qb(a);return}function zj(a){a=a|0;return 0}function Aj(a,b){a=a|0;b=b|0;ba(3)}function Bj(a){a=a|0;return 0}function Cj(a){a=a|0;i=a}function Dj(a){a=a|0;C=a}function Ej(a){a=a|0;ba(5);return 0}function Fj(){return c[33]|0}function Gj(a){a=a|0;return}function Hj(a){a=a|0;return 0}function Ij(){return c[16]|0}function Jj(){return C|0}function Kj(){return i|0}function Lj(a){a=a|0;ba(2)}function Mj(){return 0}function Nj(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[cj,lf,Te,tc,Lc,hg,zi,Ai];var Cb=[Gi,Ye];var Db=[Lj,Mi,Li,Lj];var Eb=[Aj,Cf,nj,Aj];var Fb=[gi,ud,Qc,Zb,Kg,gi,gi,gi];var Gb=[Ej,Wg,zc,Ej];var Hb=[Nj,xi];var Ib=[sj,De,ze,rc,vd,yh,sj,sj];return{_llvm_bswap_i16:dj,_i64Subtract:th,_free:Qb,_main:je,_htonl:rj,_realloc:ee,_i64Add:Ih,_memmove:Lf,_pthread_self:Mj,_pthread_mutex_unlock:zj,_memset:Ke,_malloc:Kb,_pthread_mutex_lock:Bj,_memcpy:fe,_llvm_bswap_i32:oi,_bitshift64Lshr:nh,_htons:Xi,_bitshift64Shl:jh,___errno_location:Qh,_ntohs:Wi,runPostSets:sh,stackAlloc:ci,stackSave:Kj,stackRestore:Cj,establishStackSpace:Ui,setThrew:si,setTempRet0:Dj,getTempRet0:Jj,dynCall_iiii:Vh,dynCall_viiiii:xh,dynCall_vi:_i,dynCall_vii:wi,dynCall_iiiiiii:Yg,dynCall_ii:Ri,dynCall_v:uj,dynCall_iii:pi}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigWigToBedGraph_static.js.mem b/bedTools/bigWigToBedGraph_static.js.mem
new file mode 100644
index 0000000000000000000000000000000000000000..b702dd7e3457f37f720ceece9e68af444320e66d
Binary files /dev/null and b/bedTools/bigWigToBedGraph_static.js.mem differ
diff --git a/bedTools/bigWigToWig.c b/bedTools/bigWigToWig.c
new file mode 100644
index 0000000000000000000000000000000000000000..172096e90e1df18c515096a36e638d26ce27103e
--- /dev/null
+++ b/bedTools/bigWigToWig.c
@@ -0,0 +1,84 @@
+/* bigWigToWig - Convert bigWig to wig.  This will keep more of the same structure of the 
+ * original wig than bigWigToBedGraph does, but still will break up large stepped sections into 
+ * smaller ones. */
+
+/* Copyright (C) 2011 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+#include "common.h"
+#include "linefile.h"
+#include "hash.h"
+#include "options.h"
+#include "udc.h"
+#include "bigWig.h"
+#include "obscure.h"
+
+
+char *clChrom = NULL;
+int clStart = -1;
+int clEnd = -1;
+
+void usage()
+/* Explain usage and exit. */
+{
+errAbort(
+  "bigWigToWig - Convert bigWig to wig.  This will keep more of the same structure of the\n"
+  "original wig than bigWigToBedGraph does, but still will break up large stepped sections\n"
+  "into smaller ones.\n"
+  "usage:\n"
+  "   bigWigToWig in.bigWig out.wig\n"
+  "options:\n"
+  "   -chrom=chr1 - if set restrict output to given chromosome\n"
+  "   -start=N - if set, restrict output to only that over start\n"
+  "   -end=N - if set, restict output to only that under end\n"
+  "   -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs\n"
+  );
+}
+
+static struct optionSpec options[] = {
+   {"chrom", OPTION_STRING},
+   {"start", OPTION_INT},
+   {"end", OPTION_INT},
+   {"udcDir", OPTION_STRING},
+   {NULL, 0},
+};
+
+void bigWigToWig(char *inFile, char *outFile)
+/* bigWigToWig - Convert bigWig to wig.  This will keep more of the same structure of the 
+ * original wig than bigWigToBedGraph does, but still will break up large stepped sections into 
+ * smaller ones. */
+{
+struct bbiFile *bwf = bigWigFileOpen(inFile);
+FILE *f = mustOpen(outFile, "w");
+struct bbiChromInfo *chrom, *chromList = bbiChromList(bwf);
+for (chrom = chromList; chrom != NULL; chrom = chrom->next)
+    {
+    if (clChrom != NULL && !sameString(clChrom, chrom->name))
+        continue;
+    char *chromName = chrom->name;
+    int start = 0, end = chrom->size;
+    if (clStart > 0)
+        start = clStart;
+    if (clEnd > 0)
+        end = clEnd;
+    bigWigIntervalDump(bwf, chromName, start, end, 0, f);
+    }
+bbiChromInfoFreeList(&chromList);
+carefulClose(&f);
+bbiFileClose(&bwf);
+}
+
+int main(int argc, char *argv[])
+/* Process command line. */
+{
+optionInit(&argc, argv, options);
+if (argc != 3)
+    usage();
+clChrom = optionVal("chrom", clChrom);
+clStart = optionInt("start", clStart);
+clEnd = optionInt("end", clEnd);
+udcSetDefaultDir(optionVal("udcDir", udcDefaultDir()));
+bigWigToWig(argv[1], argv[2]);
+if (verboseLevel() > 1)
+    printVmPeak();
+return 0;
+}
diff --git a/bedTools/bigWigToWig_static.js b/bedTools/bigWigToWig_static.js
new file mode 100644
index 0000000000000000000000000000000000000000..5a22015cc2a60d1c798091f562914234af6540cc
--- /dev/null
+++ b/bedTools/bigWigToWig_static.js
@@ -0,0 +1,16 @@
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+27008;__ATINIT__.push();memoryInitializer="bigWigToWig_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=kc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=21006;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=21033;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=hc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=20983;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=21006;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=21053;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=pi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=21117;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=21146;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=hc(o,q,r)|0;else o=kc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=pi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=21320;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=hc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11204+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=21341;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=kc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}fe(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11204+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=21182;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9028;c[H>>2]=9;c[I>>2]=11076;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=21098;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=21207;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=21207;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=21233;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=21270;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21298;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=21416;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;fe(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=kc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=21394;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=21078;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=kc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=21364;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Hc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=hc(j,h,k)|0;else h=kc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6076]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=24344+(b<<1<<2)|0;e=d+8|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[6080]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6076]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6078]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=24344+(b<<1<<2)|0;e=d+8|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[6080]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6078]|0;break}else Za()}else{c[6076]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6081]|0;b=l>>>3;d=24344+(b<<1<<2)|0;a=c[6076]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{m=a;n=b}}else{c[6076]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6078]=h;c[6081]=e;N=j;i=O;return N|0}a=c[6077]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24608+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6080]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24608+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6077]=c[6077]&~(1<<a);break}}else{if(h>>>0<(c[6080]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6080]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6080]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6078]|0;if(a|0){f=c[6081]|0;b=a>>>3;e=24344+(b<<1<<2)|0;a=c[6076]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{r=a;s=b}}else{c[6076]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6078]=d;c[6081]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6077]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24608+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24608+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6078]|0)-q|0)>>>0:0){f=c[6080]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24608+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6077]=c[6077]&~(1<<a);break}}else{if(g>>>0<(c[6080]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6080]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6080]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=24344+(a<<1<<2)|0;b=c[6076]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{w=a;x=b}}else{c[6076]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24608+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6077]|0;b=1<<d;if(!(a&b)){c[6077]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6080]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6078]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6081]|0;if(a>>>0>15){N=b+q|0;c[6081]=N;c[6078]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6078]=0;c[6081]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6079]|0;if(a>>>0>q>>>0){L=a-q|0;c[6079]=L;N=c[6082]|0;M=N+q|0;c[6082]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6194]|0)){c[6196]=4096;c[6195]=4096;c[6197]=-1;c[6198]=-1;c[6199]=0;c[6187]=0;x=p&-16^1431655768;c[p>>2]=x;c[6194]=x}h=q+48|0;g=c[6196]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6186]|0;if(a|0?(w=c[6184]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6187]&4)){a=c[6082]|0;c:do if(a){d=24752;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6079]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6195]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6184]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6186]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6196]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6187]=c[6187]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6184]|0)+f|0;c[6184]=a;if(a>>>0>(c[6185]|0)>>>0)c[6185]=a;j=c[6082]|0;do if(j){e=24752;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6079]|0)|0;c[6082]=M;c[6079]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6083]=c[6198];break}a=c[6080]|0;if(h>>>0<a>>>0){c[6080]=h;k=h}else k=a;d=h+f|0;a=24752;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24752;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6081]|0)){N=(c[6078]|0)+g|0;c[6078]=N;c[6081]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24608+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6080]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6077]=c[6077]&~(1<<b);break e}while(0);e=c[6080]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6080]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=24344+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6076]=c[6076]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=24344+(a<<1<<2)|0;b=c[6076]|0;a=1<<a;do if(!(b&a)){c[6076]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6080]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24608+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6077]|0;b=1<<d;if(!(a&b)){c[6077]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6080]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6079]|0)+g|0;c[6079]=N;c[6082]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24752;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6082]=N;c[6079]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6083]=c[6198];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6188];c[a+4>>2]=c[6189];c[a+8>>2]=c[6190];c[a+12>>2]=c[6191];c[6188]=h;c[6189]=f;c[6191]=0;c[6190]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=24344+(a<<1<<2)|0;b=c[6076]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{J=a;K=b}}else{c[6076]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24608+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6077]|0;b=1<<d;if(!(a&b)){c[6077]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6080]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6080]|0;if((N|0)==0|h>>>0<N>>>0)c[6080]=h;c[6188]=h;c[6189]=f;c[6191]=0;c[6085]=c[6194];c[6084]=-1;a=0;do{N=24344+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6082]=M;c[6079]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6083]=c[6198]}while(0);a=c[6079]|0;if(a>>>0>q>>>0){L=a-q|0;c[6079]=L;N=c[6082]|0;M=N+q|0;c[6082]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(Rh()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0}while((Wi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=$c(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[24136+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=$c(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[24145+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=$c(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=$c(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Rh()|0)>>2]=22;Wf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=$c(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=$c(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;k=Ih(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Ih(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=$c(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Wf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Ih(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=qc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Wf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=jh(o|0,n|0,2)|0;H=Ih(H|0,C|0,-32,-1)|0;e=Ih(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Rh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(Rh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Ih(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=th(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Ih(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+hj(+Jd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Rh()|0)>>2]=34;g=+ij(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=$c(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Ih(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Ih(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=qc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Wf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Ih(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Rh()|0)>>2]=22;Wf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Rh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(Rh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8996+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8996+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8996+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=jh(c[p>>2]|0,0,29)|0;o=Ih(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=ki(o|0,n|0,1e9,0)|0;o=ug(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+hj(+Jd(1.0,105-o|0),j);m=+qj(j,+Jd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+qj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Rh()|0)>>2]=34}while(0);g=+ij(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Rh()|0)>>2]=22;Wf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Rh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Sc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[21444+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}pc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=nh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21924;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21924;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=th(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21924;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21924:21926;L=76}else{p=1;r=21925;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21924;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21924;o=N;break}case 109:{o=ge(c[(Rh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23826;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){wd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23834:23839}else{G=1;H=23836}else{q=-q;G=1;H=23833}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+jj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=_d(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21908+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;wd(e,32,K,r,I);if(!(c[e>>2]&32))Sc(y,w,e)|0;wd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Sc(ea,o,e)|0;f=ba-p|0;wd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Sc(t,f,e)|0;wd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=jh(c[r>>2]|0,0,t|0)|0;B=Ih(B|0,C|0,o|0,0)|0;o=C;A=ug(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=ki(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=_d(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;wd(e,32,K,w,I);if(!(c[e>>2]&32))Sc(H,G,e)|0;wd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=_d(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ke(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Sc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Sc(23864,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=_d(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ke(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Sc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}wd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=_d(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Sc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Sc(23864,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ke(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Sc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}wd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Sc(u,ba-u|0,e)|0}while(0);wd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;wd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Sc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Sc(s?(t?24145:23860):t?23852:23856,3,e)|0;wd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21924;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21908+(o&15)>>0]|r;o=nh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21924;L=77}else{o=t;t=2;r=21924+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21924;L=77}}else if((L|0)==76){f=_d(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Ic(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21924;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=ei(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}wd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=ei(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Sc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;wd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;wd(e,32,o,s,p);if(!(c[e>>2]&32))Sc(v,w,e)|0;wd(e,48,o,s,p^65536);wd(e,48,r,t,0);if(!(c[e>>2]&32))Sc(f,t,e)|0;wd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;pc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Ij(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Wi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Wf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=$c(e)|0}while((Wi(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Wf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if(($c(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ke(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ke(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=$c(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(xc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=ee(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(li(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=$c(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=ee(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=$c(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=$c(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Wf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=$c(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Wi(d[m>>0]|0)|0))break;else n=m}Wf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=$c(e)|0}while((Wi(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)Hj(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Ih(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[33]|0)==0?(gf(c[a+8>>2]|0,19640)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Ih(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Ih(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Ih(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Ih(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=th(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Ih(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=th((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=th(k|0,j|0,f|0,d|0)|0;fe(b|0,B+f|0,o|0)|0;e=Ih(o|0,E|0,e|0,n|0)|0;f=C;d=th(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Ih(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Fg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=$d(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Ih(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=th(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[33]|0){y=Ih(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Ih(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=ki(k|0,j|0,w|0,0)|0;t=Ih(A|0,B|0,-1,-1)|0;t=Ih(t|0,C|0,w|0,0)|0;w=ki(t|0,C|0,w|0,0)|0;t=m+52|0;Ff(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((Gi(u,d,s)|0)<(s|0))f=0;else{fj(u);j=B;k=A;continue}while(1){o=Gi(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Pi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Gg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Gg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Ih(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=th(f|0,j|0,p|0,q|0)|0;k=C;f=de(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Fg(Z,c[K>>2]|0,p,0)|0;ef(Z,c[K>>2]|0,f,j);gi(W)}Td(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Fg(P,c[t>>2]|0,da+64|0,0)|0;ef(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}fj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Fg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}hf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Vh(19652,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;ph(4,19708,$);ph(4,19754,aa);S=0;T=0;break}else if((n|0)==36){hf(Z,j,f,h);S=ba;S=Ih(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Ih(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[33]|0:d;c[I>>2]=b;c[I+4>>2]=m;ph(4,19870,I);if(0){c[e>>2]=b;dh(0,19891,e)|0}c[h>>2]=0;c[n>>2]=0;kd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){fj(d);u=Nh(19640)|0;c[h>>2]=u;fj(c[n>>2]|0);c[n>>2]=Nh(b)|0;j=1}else{u=d;j=0}h=u;g=$d(16)|0;do if(!(gf(u,19900)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=19900}else{if(!(gf(u,20135)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=20135;break}if(gf(u,19029)|0?gf(u,20296)|0:0){if(!(gf(u,20302)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=20302;break}if(!(gf(u,19640)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=19640;break}else{c[k>>2]=u;Vh(20338,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=19029}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[33]|0?(l=(ue(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){gi(o);fj(u);fj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=$d(312)|0;c[d+4>>2]=Nh(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;Yc(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[33]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(Gh(c[g>>2]|0)|0))t=29;else{ae(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[33]|0;if(g){Ad(c[d+40>>2]|0);p=d+44|0;n=zc(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(Gh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;ph(4,20427,s);ai(G);uf(c[p>>2]|0)|0;uf(c[K>>2]|0)|0;g=d+52|0;if(Gh(c[g>>2]|0)|0)uf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];ph(4,20518,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Ed(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=Ih(h|0,k|0,8191,0)|0;k=nh(k|0,C|0,13)|0;Xe(j,A,4);Xe(j,x,4);Xe(j,I,8);Xe(j,v,8);Xe(j,w,4);Xe(j,y,4);Xe(j,z,8);Xe(j,z,8);Xe(j,z,8);Xe(j,z,8);g=d+136|0;h=Fg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Vh(20568,D)}a[E>>0]=0;Fg(g,j,((k+7|0)/8|0)+-1|0,1)|0;ef(g,j,E,1);Xf(B);c[B>>2]=Ed(c[d+48>>2]|0,577)|0;Xf(B);g=zc(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Vh(20635,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=xf(c[f+52>>2]|0,0,1)|0;Fd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=Ih(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=nh(H|0,C|0,13)|0;H=(Gi(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Fg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Ed(c[d+48>>2]|0,2)|0;if(mg(19029,u)|0){c[I>>2]=0;j=d+52|0;if(Gh(c[j>>2]|0)|0)eg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;uf(c[j>>2]|0)|0;break}else{if(!(Hg(g,h)|0))break;K=Zf(c[j>>2]|0,20665)|0;H=c[f>>2]|0;Jg(K,H,Nd(H)|0);Ng(K,c[j>>2]|0)|0;fj(K);break}}else c[d+132>>2]=Nh(c[I>>2]|0)|0;while(0);fj(c[I>>2]|0)}}}else{if(!(Gh(b)|0)){d=0;break}K=Ed(b,0)|0;c[d+56>>2]=K;se(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}fj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6080]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6081]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6078]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=24344+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6076]=c[6076]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=24608+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6077]=c[6077]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6080]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6080]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6080]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6082]|0)){p=(c[6079]|0)+g|0;c[6079]=p;c[6082]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6081]|0))return;c[6081]=0;c[6078]=0;return}if((m|0)==(c[6081]|0)){p=(c[6078]|0)+g|0;c[6078]=p;c[6081]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=24608+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6077]=c[6077]&~(1<<a);break}}else{if(f>>>0<(c[6080]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6080]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6080]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=24344+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6080]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6076]=c[6076]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6080]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6081]|0)){c[6078]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=24344+(a<<1<<2)|0;b=c[6076]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{o=a;p=b}}else{c[6076]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24608+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6077]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6080]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6077]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6084]|0)+-1|0;c[6084]=q;if(!q)a=24760;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6084]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10792;C=256;D=10918}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11242;C=-1;D=11368}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6080]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6081]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6078]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=24344+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6076]=c[6076]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=24608+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6077]=c[6077]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6080]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6080]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6080]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6080]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6082]|0)){q=(c[6079]|0)+g|0;c[6079]=q;c[6082]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6081]|0))return;c[6081]=0;c[6078]=0;return}if((o|0)==(c[6081]|0)){q=(c[6078]|0)+g|0;c[6078]=q;c[6081]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=24608+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6077]=c[6077]&~(1<<d);break}}else{if(f>>>0<(c[6080]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6080]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6080]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=24344+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6076]=c[6076]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6081]|0)){c[6078]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=24344+(d<<1<<2)|0;a=c[6076]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6080]|0)>>>0)Za();else{p=d;q=a}}else{c[6076]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24608+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6077]|0;a=1<<b;if(!(d&a)){c[6077]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6080]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6080]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Zh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Ne(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Ic(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Rh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0}while((Wi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=$c(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=$c(b)|0;if((d[23871+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Wf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23871+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Wf(b,0);c[(Rh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=$c(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Gg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Ih(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[24127+((e*23|0)>>>5&7)>>0]|0;j=a[23871+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;j=a[23871+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=nh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=jh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;j=a[23871+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23871+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;j=a[23871+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=ki(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Gg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Ih(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;j=a[23871+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23871+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0}while((d[23871+i>>0]|0)>>>0<e>>>0);c[(Rh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Rh()|0)>>2]=34;g=Ih(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Rh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=th(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=21364;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=21394;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=21416;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=le(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(gf(r,17045)|0)){j=g;h=k;N=4;break}s=Zh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Wi(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Nd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Qi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)si(Q,o,(m|0)==0?17467:m)|0;else{l=Ug(o,f)|0;if(!l){l=Ug(o,68)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}ni(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}mi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+cj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+cj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17467:m;l=Ug(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=Kh(Q,o)|0;l=uh(m)|0;if(!n){si(Q,o,l)|0;break}else{kh(n,l);break}}si(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Vh(17056,z);break}case 34:{c[A>>2]=o;Vh(17082,A);break}case 36:{c[K>>2]=o;Vh(17121,K);break}case 38:{c[L>>2]=o;Vh(17157,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Vh(17190,B);break}case 43:{c[C>>2]=o;Vh(17157,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Vh(17232,D);break}case 48:{c[E>>2]=o;Vh(17276,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Vh(17311,F);break}case 53:{c[G>>2]=o;Vh(17351,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Vh(17387,H);break}case 57:{c[I>>2]=c[l>>2];Vh(17428,I);break}case 65:{Vh(17470,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,13702)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Me(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(og(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(Rh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(mg(14514,f)|0))m=c[F>>2]|0;else{Hf(F)|0;f=Hf(F)|0;if(!f){O=20;break a}if((((mg(15154,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(gf(f,15157)|0)if(gf(f,15161)|0){if(I?(g=gf(f,15165)|0,!((H|g|0)==0&G)):0)if(!(gf(f,15169)|0)){f=o;break}else{O=30;break a}if(!(gf(f,15256)|0)){O=34;break a}if(!(gf(f,15165)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Zh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=oh(f+1|0)|0}if(!(mf(m,15308)|0)){if(o|0)c[e>>2]=Nh(f)|0;if(k)h=Nh(f)|0}}while(!(I&(mf(m,15317)|0)==0));if((mg(15331,f)|0)!=0?(q=(Zh(f,32)|0)+1|0,r=Zh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=id(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=id(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=ge(f)|0;c[z+4>>2]=d;Ch(14965,z);f=0;break}case 10:{c[v>>2]=d;Ch(15002,v);f=0;break}case 11:{c[x>>2]=d;Ch(15058,x);f=0;break}case 15:{c[y>>2]=2e3;Ch(15090,y);f=0;break}case 20:{c[u>>2]=d;Ch(15128,u);f=0;break}case 30:{if(!g)Ch(15173,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Ch(15216,E);f=0;break}case 34:{c[w>>2]=d;Ch(15260,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Ch(15285,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Sg(N,256,13804,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Ch(15338,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24928:15432;c[K+8>>2]=f?15157:15161;c[K+12>>2]=h|0?h:15448;Ch(15458,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Sg(N,256,13804,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Ch(15499,M);f=0}break}}i=P;return f|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=wi(h)|0;c[b+16>>2]=e;f=sd(c[f>>2]|0)|0;if(!f){s=0;break}s=Nd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;fj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}je(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Lf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=jg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;je(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;_f(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Pd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Vh(18581,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Pd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Pd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Zb(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 j=0,k=0,l=0,m=0,n=0.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,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+160|0;T=V+96|0;Q=V+88|0;P=V+72|0;O=V+56|0;N=V+48|0;R=V+24|0;M=V+8|0;G=V+144|0;L=V+120|0;U=V+112|0;K=V+108|0;J=V+104|0;if((c[a+12>>2]|0)!=-2003829722)Vh(18072,V);Yf(a);k=Be(a,c[a+96>>2]|0,b,d,e,0)|0;c[U>>2]=k;H=c[a+8>>2]|0;I=a+80|0;j=c[I>>2]|0;if(!j)S=0;else S=de(j)|0;F=(S|0)==0;y=a+16|0;z=L+20|0;A=L+4|0;B=L+8|0;D=L+16|0;E=L+12|0;j=0;a:while(1){if(!k){a=38;break}re(k,K,J);x=k+8|0;u=c[x>>2]|0;x=c[x+4>>2]|0;v=c[K>>2]|0;t=v+8|0;v=v+16|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=th(c[t>>2]|0,c[t+4>>2]|0,u|0,x|0)|0;v=Ih(t|0,C|0,w|0,v|0)|0;w=C;Af(H,u,x);x=de(v)|0;Ce(H,x,v,w);w=x;while(1){if((k|0)==(c[J>>2]|0))break;v=k+16|0;a=c[v>>2]|0;if(F){u=w+a|0;a=w}else{u=S+(Ve(w,a,S,c[I>>2]|0)|0)|0;a=S}t=c[y>>2]|0;c[G>>2]=a;Gd(G,L,t);r=c[z>>2]|0;s=r>>>16&65535;b:do switch(r&255|0){case 1:{p=c[A>>2]|0;o=c[B>>2]|0;c[M>>2]=b;c[M+4>>2]=p;c[M+8>>2]=o;dh(g,18127,M)|0;o=(f|0)==0;p=0;a=0;while(1){if((p&65535)>=(s&65535))break b;l=gg(G,t)|0;m=gg(G,t)|0;n=+we(G,t);if((Lh(d,e,l,m)|0)>0){c[R>>2]=b;c[R+4>>2]=l;c[R+8>>2]=m;h[R+16>>3]=n;dh(g,18155,R)|0;a=a+1|0;if(!(o|(a|0)<(f|0)))break b}p=p+1<<16>>16}}case 2:{m=c[D>>2]|0;c[N>>2]=b;c[N+4>>2]=m;dh(g,18168,N)|0;o=(f|0)==0;p=0;a=0;while(1){if((p&65535)>=(s&65535))break b;l=gg(G,t)|0;n=+we(G,t);if((Lh(d,e,l,l+m|0)|0)>0){c[O>>2]=l+1;h[O+8>>3]=n;dh(g,18199,O)|0;a=a+1|0;if(!(o|(a|0)<(f|0)))break b}p=p+1<<16>>16}}case 3:{m=c[D>>2]|0;o=c[E>>2]|0;p=(f|0)==0;l=0;q=0;a=0;r=c[A>>2]|0;while(1){if((q&65535)>=(s&65535))break b;n=+we(G,t);if((Lh(d,e,r,r+m|0)|0)>0){if(!l){c[P>>2]=b;c[P+4>>2]=r+1;c[P+8>>2]=o;c[P+12>>2]=m;dh(g,18206,P)|0;l=1}h[Q>>3]=n;dh(g,18251,Q)|0;a=a+1|0;if(!(p|(a|0)<(f|0)))break b}q=q+1<<16>>16;r=r+o|0}}default:{a=30;break a}}while(0);if(!((f|0)!=0&(f|0)<=(a|0)|(c[G>>2]|0)==(u|0))){a=32;break a}j=a+j|0;if(!f)f=0;else{if((f|0)<=(a|0)){k=0;break}f=f-a|0}k=c[k>>2]|0;w=w+(c[v>>2]|0)|0}fj(x)}if((a|0)==30){c[T>>2]=18056;c[T+4>>2]=142;Vh(20306,T)}else if((a|0)==32)Da(18255,18056,145,18320);else if((a|0)==38){fj(S);lh(U);i=V;return j|0}return 0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((mg(18644,b)|0)==0?(mg(18652,b)|0)==0:0)?(mg(18661,b)|0)==0:0){c[j>>2]=b;Vh(18724,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;ph(4,18668,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=th(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;ph(4,18959,m);Xf(x);j=h+128|0;if((c[j>>2]|0)>0)Xf(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;ph(4,18806,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6062]|0)){c[6062]=$d(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=cf(j,k,c[6062]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=th(l|0,m|0,n|0,I|0)|0;J=C;I=Ih(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;Uf(18855,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=Ih(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Vh(18908,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=Ih(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=he(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;Sg(y,2048,19010,z)|0;j=fc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(mg(19029,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Gc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){fj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Vh(19034,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=cf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)Uf(19063,G);else F=j;K=h+120|0;J=K;J=Ih(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6080]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6196]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6082]|0)){d=(c[6079]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6082]=l;c[6079]=m;return a|0}if((k|0)==(c[6081]|0)){e=(c[6078]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6078]=d;c[6081]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=24608+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6077]=c[6077]&~(1<<d);break}}else{if(h>>>0<(c[6080]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6080]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6080]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=24344+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6076]=c[6076]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;dh(0,20688,b)|0}b=d+112|0;if(c[b>>2]|0)Xf(b);b=d+128|0;if(c[b>>2]|0)Xf(b);fj(c[d+4>>2]|0);fj(c[d+8>>2]|0);gi(d+12|0);fj(c[d+40>>2]|0);fj(c[d+44>>2]|0);fj(c[d+48>>2]|0);fj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Xf(b);ai(d+80|0)}gi(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(12203,12223,448,12239);h=ya()|0;c[s>>2]=h;if((h|0)<0)Uf(12252,l);if(h|0)if(!(Lg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Uf(12790,k)}r=$h()|0;c[s>>2]=r;if(Lg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Uf(12263,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=zg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Of(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Sf(t);if(c[k>>2]|0)Sf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Uf(12252,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){hd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Uf(12497,o)}hd(k,0,h,e);h=ng(1,f,g)|0;if((h|0)<0)Uf(12408,p);if((h|0)==(g|0)){Tg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Vh(12443,q)}}else if((b|0)==28){Tg(0)|0;Tg(1)|0;mh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Of(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Uf(12570,u);else if((b|0)==35){c[v>>2]=h;Vh(12585,v)}else if((b|0)==39){v=Pe(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Vh(12615,w)}else if((b|0)==41)Da(12670,12223,242,12694);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2112]|0;v=Pe(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;dh(h,12713,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12760,12223,396,12780);else if((b|0)==49)_a(0)}}function cc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Pf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Pf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Ih(m|0,l|0,-1,-1)|0;d=C;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;th(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=th(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Le(a,b,d)|0){b=Ah()|0;if((b|0)>=0){if((Rd(b,1)|0)<0){Tg(b)|0;b=-1;break}b:do if((bf(b,d,16)|0)<0){n=Rh()|0;d=c[n>>2]|0;if((d|0)!=115){w=ge(d)|0;c[e>>2]=d;c[e+4>>2]=w;Ch(13638,e);Tg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Df(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=ge(d)|0;c[t>>2]=d;c[t+4>>2]=C;Ch(13414,t);Tg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Ch(13546,u);Tg(b)|0;e=23;break}c[r>>2]=4;do if((Qe(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=ge(d)|0;c[w>>2]=d;c[w+4>>2]=C;Ch(13502,w);Tg(b)|0;break}}else{B=c[n>>2]|0;C=ge(B)|0;c[v>>2]=B;c[v+4>>2]=C;Ch(13472,v);Tg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Rd(b,0)|0)<0){Tg(b)|0;b=-1;break}if((kf(b,120)|0)<0){Tg(b)|0;b=-1}}}else b=-1;else{Ch(13294,x+24|0);b=-1}while(0);i=x;return b|0}function ec(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Lf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ke(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ec(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(Rh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,13698)|0))e=_e(b,0,r)|0;else{if((mg(18644,b)|0)==0?(mg(18652,b)|0)==0:0){if(!(mg(18661,b)|0)){c[g>>2]=b;Vh(14898,g)}jc(b,o);if(gf(o,20302)|0){c[f>>2]=b;Vh(14561,f)}b=o+4112|0;g=jd(b,Kd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(Ph(g,14608,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,Sg(m,256,14615,j)|0,(Ph(g,m,0,0)|0)==0):0){Tg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Nd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14627:14632;c[k+4>>2]=j;Sg(m,256,14637,k)|0;Di(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Zh(j,40)|0;a[(Zh(j,41)|0)>>0]=0;if((Ae(s+1|0,14645,k,7)|0)!=6)Vh(14647,h);f=(Kd(c[k+16>>2]|0)|0)<<8;f=dc(b,(Kd(c[k+20>>2]|0)|0)+f|0)|0;Xh(l);if((f|0)<0){Tg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((ld(f,1e6)|0)>0){b=26;break}if((ld(g,0)|0)>0?(vc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Ch(14683,n);Tg(g)|0;Tg(f)|0;e=-1;break}else if((b|0)==24){Tg(g)|0;Tg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}od(c[2141]|0)|0;od(c[2082]|0)|0;od(c[2112]|0)|0;b=$d(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;fe(b+20|0,o|0,10280)|0;f=b+4|0;if(qh(f)|0){c[p>>2]=ge(c[(Rh()|0)>>2]|0)|0;Vh(14748,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=ge(b)|0;c[q>>2]=b;c[q+4>>2]=s;Vh(14852,q)}}}else{Tg(g)|0;e=-1}while(0)}break}e=oi(b,14542,0)|0}while(0);i=r;return e|0}function gc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=nh(d|0,m|0,52)|0;e=e&2047;j=nh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=jh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=jh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=jh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=jh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=jh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=jh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=jh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=jh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=th(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=jh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=th(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=jh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Ih(d|0,f|0,0,-1048576)|0;d=C;e=jh(e|0,0,52)|0;d=d|C;e=o|e}else{e=nh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;jc(b,h);if(gf(h,20302)|0){c[g>>2]=b;Vh(13827,g)}b=h+6176|0;if(gf(b,19835)|0){p=jd(h+4112|0,Kd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;Sg(k,256,13985,q)|0;c[t>>2]=0;do if(Ph(p,k,t,0)|0){if((Ae(c[(c[t>>2]|0)+4>>2]|0,13714,l,3)|0)!=2)Vh(13995,j);n=l+4|0;j=id(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Xh(t);c[s>>2]=b;Sg(k,256,14031,s)|0;if(!(Ph(p,k,t,0)|0)){Tg(p)|0;f=0;break}b=Ae(c[(c[t>>2]|0)+4>>2]|0,13714,l,3)|0;if((b|0)!=2){c[m>>2]=b;Vh(14041,m)}j=c[n>>2]|0;if((Nd(j)|0)>>>0<14){c[o>>2]=j;Vh(14083,o)}b=s;g=14132;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14152,q|0)|0)){c[r>>2]=s;Vh(14170,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Vh(14203,u)}else{c[e>>2]=b;Xh(t);Tg(p)|0;f=1;break}}else{Tg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Nd(b)|0)>>>0>4095){c[e>>2]=b;Vh(13679,e)}Zi(f,b)|0;Sh(f)|0;b=Tb(f,13698)|0;if(!b){a[d>>0]=a[19029]|0;a[d+1>>0]=a[19030]|0;a[d+2>>0]=a[19031]|0;a[d+3>>0]=a[19032]|0;a[d+4>>0]=a[19033]|0}else{a[b>>0]=0;bh(f)|0;vf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Zh(f,47)|0;if(g){Me(g,b,e,1);if(!((mf(d,19029)|0)!=0?(mf(d,20296)|0)!=0:0)){e=Hd(g,13714,13716)|0;vf(d+6176|0,4096,e);fj(e)}a[g>>0]=0;if(!(mf(d,20302)|0)){g=g+1|0;Md(g,d+6176|0,Nd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Zh(f,64)|0;if(!g){if(!((mf(d,19029)|0)!=0?(mf(d,20296)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(mf(d,20302)|0)){b=d+16|0;e=13720;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13730;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Zh(f,58)|0;if(!b){e=d+16|0;vf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;vf(e,2048,f);f=d+2064|0;vf(f,2048,b+1|0);b=f}vd(e,e,Nd(e)|0);vd(b,b,Nd(b)|0);f=g+1|0}b=Zh(f,58)|0;do if(!b){if(!(mf(d,19029)|0)){h=d+6160|0;a[h>>0]=a[13748]|0;a[h+1>>0]=a[13749]|0;a[h+2>>0]=a[13750]|0}if(!(mf(d,20296)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(mf(d,20302)|0)){h=d+6160|0;a[h>>0]=a[13751]|0;a[h+1>>0]=a[13752]|0;a[h+2>>0]=a[13753]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){vf(d+6160|0,16,e);break}else{c[h>>2]=e;Vh(13754,h)}}while(0);vf(d+4112|0,2048,f);i=j;return}function kc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[136+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[136+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function lc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Af(t,f,g);Ce(t,s,1,0);Ce(t,w+32|0,1,0);u=c[b+12>>2]|0;v=tg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;ph(3,16494,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=sg(t,u)|0;c[p+(f<<2)>>2]=sg(t,u)|0;c[q+(f<<2)>>2]=sg(t,u)|0;c[r+(f<<2)>>2]=sg(t,u)|0;g=Bf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if($e(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;lc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=sg(t,u)|0;s=sg(t,u)|0;e=sg(t,u)|0;b=sg(t,u)|0;f=Bf(t,u)|0;g=C;m=Bf(t,u)|0;n=C;if($e(h,j,k,r,s,e,b)|0){b=$d(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function mc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=bi(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=bi(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=bi(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=bi(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=bi(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=bi(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=bi(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function nc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=zh(512)|0;jc(b,s);h=ab(14322)|0;p=(h|0)!=0;if(p){jc(h,q);fe(r|0,q|0,10280)|0;h=Re(r,b)|0}else{fe(r|0,s|0,10280)|0;h=Re(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=Nh(b)|0;j=Ki(b,59)|0;if((j|0)!=0?(mg(13702,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;eh(k,14333,l);fj(b);c[m>>2]=f;eh(k,14344,m);if((gf(s,19029)|0)==0?(gf(13748,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((gf(s,20296)|0)==0?(gf(13783,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;eh(k,14372,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;eh(k,14361,n)}b=c[t>>2]|0;fe(r|0,s|0,10280)|0;ne(r,14386,b);if(p){fe(r|0,q|0,10280)|0;ne(r,14400,b);k=c[t>>2]|0}else k=b;Ei(k,14420);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;eh(k,14459,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;eh(k,14434,u);break}}while(0);if(g|0)Ei(c[t>>2]|0,g);v=c[t>>2]|0;Ei(v,14480);Xe(h,c[v+4>>2]|0,c[v+12>>2]|0);Xh(t)}i=w;return h|0}function oc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=$d(120)|0;c[l+4>>2]=Nh(a)|0;m=xg(a,Gj()|0)|0;c[l+8>>2]=m;Ce(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=kj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Vh(20897,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=tg(m,n)|0;g=l+26|0;b[g>>1]=tg(m,n)|0;h=Bf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Bf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Bf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=tg(m,n)|0;b[l+58>>1]=tg(m,n)|0;j=Bf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Bf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=sg(m,n)|0;j=Bf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=$d(32)|0;c[j+4>>2]=sg(m,n)|0;c[j+8>>2]=sg(m,n)|0;p=Bf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Bf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Eg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Af(m,g,h);b[l+104>>1]=tg(m,n)|0;b[l+106>>1]=tg(m,n)|0;p=Bf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Af(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=bd(a,m)|0;i=o;return l|0}function pc(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 qc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Gg(f|0,b|0,10,0)|0;f=C;e=Ih(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Ih(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=th(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;ph(4,19105,p);f=b+36|0;e=0;while(1){d=le(0,1)|0;c[p>>2]=d;d=Ti(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=Bh(c[p>>2]|0,19191)|0;c[f>>2]=Nh(d)|0;d=he(a,d)|0;Qd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;Ch(19138,g);n=0}else if((h|0)==7){d=Bh(c[p>>2]|0,19201)|0;do if(!d){d=te(a)|0;e=C;if((e|0)<0){Qd(p);c[j>>2]=a;Vh(19217,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=id(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=Bh(c[p>>2]|0,19284)|0;if(!d){d=Bh(c[p>>2]|0,19299)|0;if(!d){Qd(p);c[m>>2]=a;Vh(19305,m)}else o=d}else o=d;if(!(Ua(o|0,19380,k|0)|0)){Qd(p);c[l>>2]=o;Vh(19405,l)}d=sf(k)|0;if((d|0)==-1){Qd(p);c[q>>2]=o;Vh(19447,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Qd(p);n=200;break}}while(0);i=r;return n|0}function sc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Af(c[t>>2]|0,d,e);Ce(c[t>>2]|0,o,1,0);Ce(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=tg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Ce(c[t>>2]|0,r,q,h);e=Bf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=Ne(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Ce(c[t>>2]|0,r,q,h);e=Bf(c[t>>2]|0,p)|0;d=C;j=Ne(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=wi(c[t>>2]|0)|0;m=C;sc(b,k,l,f,g);Af(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}sc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Ce(c[t>>2]|0,r,q,d);Ce(c[t>>2]|0,j,c[h>>2]|0,0);if(!(Ne(f,r,q)|0))Jh(g,ci(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function tc(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[6063]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=bi(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=bi(yb(146,m|0)|0)|0;la(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 uc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Ic(23866,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Zh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Zh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6064]|0))c[e+76>>2]=-1;mb(24280);f=c[6069]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6069]=e;eb(24280)}}else{c[(Rh()|0)>>2]=22;e=0}i=o;return e|0}function vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=zh(4096)|0;while(1){if((ld(b,1e6)|0)<=0){j=3;break}g=og(b,m,4096)|0;if(g){af(c[o>>2]|0,m,g);if(!(hh(c[(c[o>>2]|0)+4>>2]|0,13911)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Nd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Nd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Ch(13867,n);g=0}else if((j|0)==18){g=Kd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Ch(13913,p);g=0;break}if(!e)Xh(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function wc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Af(c[n>>2]|0,d,e);Ce(c[n>>2]|0,p,1,0);Ce(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=tg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Ce(c[n>>2]|0,l,c[k>>2]|0,0);q=Bf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;wc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Ce(c[n>>2]|0,l,c[k>>2]|0,0);Ce(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function xc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?24300:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8680+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Rh()|0)>>2]=84;f=-1}i=l;return f|0}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=og(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=th(1,0,g|0,e|0)|0;b=Ih(b|0,C|0,d|0,h|0)|0}r=(ng(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Jf(14796,l);if((b|0)==-1)Jf(14827,o);Tg(c[m>>2]|0)|0;Tg(c[a+12>>2]|0)|0;Tg(c[n>>2]|0)|0;i=q;return 0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=_e(a,2,h)|0;if((e|0)<0)if((c[(Rh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;Uf(20377,d)}else{se(e,h)|0;if((c[h+36>>2]|0)<64){Tg(e)|0;b=0}else{Fd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=kj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Vh(20400,j)}}else f=0;b=$d(56)|0;c[b+4>>2]=qg(e,f)|0;g=yf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=yf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=qg(e,f)|0;qg(e,f)|0;yf(e,f)|0;yf(e,f)|0;yf(e,f)|0;yf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Cd(b);break}if((Tg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Vh(12948,k)}}else{if(!(c[a+20>>2]&2)){if(Ig(d)|0){c[f>>2]=c[a+12>>2];Vh(12917,f)}}else{od(d)|0;if(Ig(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Vh(12887,e)}}if((oe(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Vh(12948,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Uf(12570,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Vh(12978,l)}if(b|0)Da(13019,12223,435,13037);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Vh(13053,m)}i=n;return d>>>8&255|0}function Bc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Ij(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Hj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Cc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Af(c[n>>2]|0,d,e);Ce(c[n>>2]|0,h,1,0);Ce(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=tg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Ce(c[n>>2]|0,l,d,0);e=Bf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Ce(c[n>>2]|0,l,c[k>>2]|0,0);if((Ne(f,l,c[k>>2]|0)|0)<0)break;e=Bf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Cc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Ce(c[n>>2]|0,l,d,0);Ce(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(Ne(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Dc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=Nh(24928)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Qi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=$d(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Qi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;Sg(h,4,12017,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ke(b|0,0,e|0)|0;return b|0}function Fc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=zh(512)|0;c[h>>2]=f;Ei(f,b);Ei(f,13698);d=b+16|0;if(a[d>>0]|0){d=Dc(d)|0;Ei(f,d);fj(d);d=b+2064|0;if(a[d>>0]|0){Ei(f,13779);d=Dc(d)|0;Ei(f,d);fj(d)}Ei(f,13781)}Ei(f,b+4112|0);if(!((gf(b,20302)|0)==0?!(gf(13751,b+6160|0)|0):0))e=7;do if((e|0)==7){if((gf(b,19029)|0)==0?(gf(13748,b+6160|0)|0)==0:0)break;d=b+6160|0;if((gf(b,20296)|0)==0?(gf(13783,d)|0)==0:0)break;Ei(f,13779);Ei(f,d)}while(0);Ei(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,eh(f,13787,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;eh(f,13804,k)}k=$g(h)|0;i=l;return k|0}function Gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}Tg(a)|0;if((h|0)>0)fj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((mg(18644,f)|0)==0?(mg(18652,f)|0)==0:0){g=11;break}f=he(g,f)|0;c[j>>2]=f;a=fc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Ch(15547,k);g=14}else if((g|0)==11){c[l>>2]=f;Ch(15601,l);g=14}else if((g|0)==13){c[m>>2]=f;Ch(20671,m);g=14}if((g|0)==14)if((b|0)>0){fj(f);b=0}else b=0;i=n;return b|0}function Hc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){fe(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;fe(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){fe(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Ic(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|0)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?b:0)|0}function Jc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=bi(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(Rh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=bi(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;mc(e,2,j)|0}if(b&2048){c[h>>2]=mc(e,3,k)|0|2048;mc(e,4,h)|0}}}}while(0);i=l;return e|0}function Kc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6063]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=bi(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=bi(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Nc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16364,16416,388,16428);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=ji(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Eg(b);d=d+1|0}fj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Oc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ce(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=kj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Vh(16450,j)}}else f=0;c[d+24>>2]=sg(b,f)|0;j=Bf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=sg(b,f)|0;c[d+44>>2]=sg(b,f)|0;c[d+48>>2]=sg(b,f)|0;c[d+52>>2]=sg(b,f)|0;g=Bf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=sg(b,f)|0;Ce(b,h,4,0);b=wi(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Pc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;ph(4,20140,p);Ag(500);l=a+5|0;k=cd(l,20047)|0;c[p>>2]=k;Ri(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Ag(250);g=e-j|0;g=jf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;ph(4,20193,m);if(Ig(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;Ch(20215,o);c[n>>2]=l;Uf(20099,n)}else if((g|0)==6){ui(p);i=q;return a|0}return 0}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=$d(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=zh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){Ei(e,12151);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){Ei(e,13714);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}Ei(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=$g(j)|0;if(!(c[a>>2]|0))Vh(12155,k);if(!(b&8))e=0;else{kh(l,ye(56,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;kh(l,ye(d,l)|0);e=e+1|0}i=m;return l|0}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Ij(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;fe(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(be(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Hj(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Hj(f);return e|0}function Sc(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(!(df(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);fe(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 Tc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{fe(l|0,b|0,d|0)|0;Ke(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Vh(16972,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Cc(a,j,k,l,g)|0;else{sc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Vc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Nd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=$d(16)|0;else l=qf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=Fi(d,e)|0;else{k=qf(h,e+1|0)|0;c[l+4>>2]=k;fe(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Nc(b,Mh(m)|0);return l|0}function Xc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Nj()|0;Cj(24168)|0;if((c[6049]|0)!=0&(a|0)==(c[6050]|0)){ng(2,13077,61)|0;_a(1)}Aj(24168)|0;Cj(24204)|0;Cj(24168)|0;c[6050]=a;c[6049]=1;Aj(24168)|0;if(!(c[6058]|0))c[6058]=le(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Sg(d,64,13804,b)|0;a=Se(c[6058]|0,d)|0;if(!a){a=$d(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=si(c[6058]|0,d,a)|0}Cj(24168)|0;c[6049]=0;Aj(24168)|0;Aj(24204)|0;i=e;return c[a+8>>2]|0}function Yc(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=zh(Nd(f)|0)|0;c[j>>2]=g;h=f;f=Zh(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;Ei(g,h);Ei(g,19835);m=f+1|0;h=m;f=Zh(m,47)|0}Ei(g,h);f=$g(j)|0;j=Nd(d)|0;m=Nd(e)|0;m=j+3+m+(Nd(f)|0)|0;j=$d(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;Sg(j,m,19837,k)|0;c[b+44>>2]=Tf(b,19846)|0;c[b+48>>2]=Tf(b,19853)|0;c[b+52>>2]=Tf(b,19864)|0}i=l;return}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=oi(b,d,0)|0;if((d|0)>-1){b=rg(b,1,d)|0;c[h>>2]=b;a:do if((((Yb(b,g,0)|0)!=0?(mg(14514,c[g>>2]|0)|0)!=0:0)?(Hf(g)|0,f=Hf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Kd(f)|0;if(e)while(1){if(!(Yb(c[h>>2]|0,g,0)|0))break a;f=Hf(g)|0;if(!f)break a;b=ah(f)|0;si(e,b,Nh(oh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Cd(h)}else d=c[(Rh()|0)>>2]|0;i=j;return d|0}function $c(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Nf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ad(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8884;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Rh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Bc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ce(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=kj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Vh(16933,j)}}else f=0;c[d+12>>2]=sg(b,f)|0;c[d+16>>2]=sg(b,f)|0;c[d+20>>2]=sg(b,f)|0;g=Bf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Ce(b,h,4,0);Ce(b,h,4,0);b=wi(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(gf(b,18571)|0){if(!(gf(b,15758)|0)){f=c[2082]|0;break}e=Ud(b,d)|0;if(!e){a:do if(!d)e=24928;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15786;break a}case 119:{e=15776;break a}default:{e=e<<24>>24==97?15765:24928;break a}}}while(0);d=ge(c[(Rh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Vh(15795,g)}else f=e}else f=c[2141]|0;while(0);i=h;return f|0}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;kd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=$d(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;Yc(a,b,h,d);c[e>>2]=0;b=a+44|0;j=uh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=uh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=uh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Eg(e);fj(c[a+40>>2]|0);fj(c[b>>2]|0);fj(c[f>>2]|0);fj(a);fj(h);fj(d);d=c[e>>2]|0}i=g;return d|0}function ed(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ue(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=rj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;yj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Ch(15672,f);b=0;break}}else{ff(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function fd(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=$d(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20832+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20832+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20832+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20832+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function gd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[17972+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[17972+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Uf(12296,k);l=$h()|0;if(Lg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=$h()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Uf(12319,f)}if(b|0?($f(b,0)|0)<0:0)Uf(12346,g);if((d|0)!=1?($f(d,1)|0)<0:0)Uf(12366,h);if((e|0)!=2?($f(e,2)|0)<0:0)Uf(12387,j);mh();i=k;return}function id(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Wi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Gg(c|0,d|0,10,0)|0;b=b+1|0;c=th(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=th(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function jd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=dc(a,b)|0;if((a|0)<0)a=-1;else{if((ld(a,1e6)|0)>0)Ph(a,24928,0,0)|0;c[g>>2]=0;c[h>>2]=d;Sg(f,256,13956,h)|0;do if(Ph(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,Sg(f,256,13966,j)|0,(Ph(a,f,0,0)|0)==0):0){Tg(a)|0;a=-1;break}if(!(Ph(a,13976,0,0)|0)){Tg(a)|0;a=-1}}else{Tg(a)|0;a=-1}while(0)}i=k;return a|0}function kd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Zh(b,58)|0;if(!h)h=0;else{m=Fi(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Zh(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){qe(l,1024,b,k+1-b|0);c[g>>2]=Id(l)|0}j=Zh(b,47)|0;if(!j)j=b+(Nd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Id(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Df(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(Rh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=ge(a)|0;Ch(13809,m)}i=n;return a|0}function md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=_e(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=$d(5)|0;c[g>>2]=f;if((og(e,f,4)|0)<4)gi(g);else a[f+4>>0]=0;Tg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Xd(e)|0,gi(h),(g|0)!=0):0){h=yg(He(b)|0,33,b,0)|0;e=rg(b,d,pj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function nd(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Mc(g,20977,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ie(g)|0;i=j;return h|0}ie(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function od(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Wd(a)|0;break}d=(Ij(a)|0)==0;b=Wd(a)|0;if(!d)Hj(a)}else{if(!(c[2111]|0))b=0;else b=od(c[2111]|0)|0;mb(24280);a=c[6069]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Ij(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Wd(a)|0|b;if(d|0)Hj(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(24280)}while(0);return b|0}function pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Qf(e,0)|0;c[n>>2]=g;kg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Qf(d,e)|0;else if(!f){e=_e(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Uf(12856,k)}else j=e}else j=0;c[m>>2]=j;e=of(a,b,j,g)|0;Sf(m);if(!l)Sf(n);i=o;return e|0}function qd(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[(Rh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function rd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=$h()|0;c[g>>2]=f;Sg(a,256,17732,g)|0;d=We(a,1)|0;c[g>>2]=d;if(!d){j=c[2112]|0;c[b>>2]=a;dh(j,17769,b)|0;a=j}else{while(1){if(!(dg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,17748)|0){j=5;break}}if((j|0)==5){j=c[2112]|0;c[h>>2]=f;c[h+4>>2]=a;dh(j,17755,h)|0}Cd(g);a=c[2112]|0}od(a)|0;i=k;return}function sd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=de(k)|0;fe(j|0,d|0,e|0)|0;fj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=Nh(d)|0;fj(c);c=l}i=h;return c|0}function td(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;ph(4,19906,j);h=Ie(a)|0;n=cd(h,20047)|0;c[j>>2]=n;Ri(n,b,0)|0;a=jf(g+256|0,f,e,n)|0;if(!(Ig(n)|0)){ui(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;Ch(20050,k);c[l>>2]=h;Uf(20099,l)}return 0}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;ph(4,19525,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(ic(a,f,e)|0){a=sf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Vh(19557,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function vd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((gh(f,12013,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function wd(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;Ke(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){Sc(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;Sc(h,f,a)|0}while(0);i=j;return}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+8|0;j=k+4|0;h=k;f=_i(a)|0;c[g>>2]=f;b=cd(b,18441)|0;c[j>>2]=b;e=wg(f)|0;c[h>>2]=e;while(1){if(!e)break;d=c[6041]|0;a=c[e+4>>2]|0;if(!((d|0)!=0?(gf(d,a)|0)!=0:0)){l=c[2]|0;d=c[3]|0;Zb(f,a,(l|0)>0?l:0,(d|0)>0?d:c[e+12>>2]|0,0,b)|0}e=c[e>>2]|0}Vf(h);ui(j);ig(g);i=k;return}function yd(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(!(df(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function zd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){fh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=ad((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;fh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Ad(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(Gh(b)|0)){c=(Nd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Zi(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Zh(b,47)|0;if(!b){Rf(e)|0;b=0;continue}else{a[b>>0]=0;Rf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Ij(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=yd(d,b)|0;Hj(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=yd(d,b)|0}while(0);return e|0}function Cd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Yh(c[2141]|0)|0):0){Tg(c[d>>2]|0)|0;fj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else Dh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);fj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Qd(g);gi(b)}return}function Dd(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=th(h^a|0,g^b|0,h|0,g|0)|0;b=C;cc(a,b,th(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=th(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(gf(a,18571)|0)if(gf(a,15758)|0){c[d>>2]=436;d=_e(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15786:15765;else d=15776;else d=15939;else d=15915;c[f>>2]=a;c[f+4>>2]=d;Uf(15950,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Fd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=og(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Uf(15978,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Vh(16003,g)}else if((d|0)==8){i=h;return}}function Gd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=gg(h,f)|0;c[e+4>>2]=gg(h,f)|0;c[e+8>>2]=gg(h,f)|0;c[e+12>>2]=gg(h,f)|0;c[e+16>>2]=gg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=Pg(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Nd(b)|0;h=Nd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Nd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=$d((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Zi(d,e)|0;j=a+g|0;i=d+(a-e)|0;Zi(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Zi(d,e)|0;return f|0}function Id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(fg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=$d(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(fg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;ch(g,19829,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Jd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=jh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Kd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Wi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Md(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((gh(f,12013,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Nd(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 Od(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=nh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Od(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 Pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Se(c[e>>2]|0,d)|0)){si(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;dh(g,18577,h)|0}}}while(0);i=j;return}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Ui(d);d=g}e=e+1|0}}else{Th(b);b=d+8|0}while(0);fj(c[b>>2]|0);gi(a)}return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=mc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((mc(a,4,f)|0)<0){c[g>>2]=ge(c[(Rh()|0)>>2]|0)|0;Ch(13383,g);d=-1}else d=0}else{c[e>>2]=ge(c[(Rh()|0)>>2]|0)|0;Ch(13352,e);d=-1}i=h;return d|0}function Sd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=24149;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Td(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[17980+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[17988+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[17988+f>>0]}while(0);return}function Ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Ic(23866,a[d>>0]|0,4)|0){h=wf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=bi(jb(5,e|0)|0)|0;if((e|0)>=0){b=uc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(Rh()|0)>>2]=22;b=0}i=g;return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Vh(16683,d)}d=aj(a,b)|0;if(!d){g=c[(Rh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Vh(16747,e)}else{i=f;return d|0}return 0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(mg(18443,a)|0))if(!(mg(18446,a)|0))if(!(mg(18450,a)|0))if(!(mg(18453,a)|0))a=0;else{a=18458;e=5}else{a=18462;e=5}else{a=18466;e=5}else{a=18468;e=5}if((e|0)==5){c[d>>2]=a;Sg(b,20,18471,d)|0;a=Nh(b)|0}i=f;return a|0}function Yd(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=th(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return th((cc(h,g,th(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Wf(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function _d(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=ug(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=ki(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 $d(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Vh(16819,b)}b=wj(a)|0;if(!b){f=c[(Rh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Vh(16872,d)}else{Ke(b|0,0,a|0)|0;i=e;return b|0}return 0}function ae(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(Gh(a)|0)){d=Ud(a,18441)|0;c[b>>2]=d;if(!d){a=0;break}else{ui(b);a=1;break}}else{f=Qh()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;Ch(18411,d);a=0;break}}while(0);i=e;return a|0}function be(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ce(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=17920;break}case 2:{a=17899;break}case -1:{a=17888;break}case -2:{a=17872;break}case -3:{a=17872;break}case -4:{a=17857;break}case -5:{a=17842;break}case -6:{a=17823;break}case 0:{a=0;break}default:{c[b>>2]=a;Sg(24800,128,17804,b)|0;a=24800}}i=d;return a|0}function de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Vh(16559,b)}b=wj(a)|0;if(!b){f=c[(Rh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Vh(16617,d)}else{i=e;return b|0}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(Rh()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;fe(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 ge(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21934+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22022;e=5;break}}if((e|0)==2)if(!c)b=22022;else{b=22022;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 he(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;jc(b,g);jc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){vf(e,2048,d);vf(f+2064|0,2048,g+2064|0)}g=Fc(f)|0;i=h;return g|0}function ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;Eh(e,b,16);if((c[e>>2]|0)!=3)Vh(11494,d);c[6041]=Mf(11990,c[6041]|0)|0;c[2]=Ge(11996,c[2]|0)|0;c[3]=Ge(12002,c[3]|0)|0;bj(Mf(12006,Gj()|0)|0);xd(c[b+4>>2]|0,c[b+8>>2]|0);if((Jj()|0)>1)rd();i=d;return 0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16364,16416,357,16439);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Vg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=ji(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function me(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Wf(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ne(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;Sg(h,256,14301,j)|0;j=fd(h,Nd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;eh(e,14307,k);gi(g)}i=l;return}function oe(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(24280);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6069]|0)==(a|0))c[6069]=b;eb(24280)}b=od(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function pe(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=xf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16180;else e=(d|0)==2?16139:16148;else e=16171;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Uf(16189,g);return 0}function qe(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Vh(16304,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;zi(b,e,f)|0;a[b+g>>0]=0;i=j;return}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=Ih(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Sd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=bi(Pa(195,f|0)|0)|0}else d=bi(d)|0;i=g;return d|0}function te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;Sg(g,4096,14525,e)|0;a=le(0,1)|0;c[e>>2]=a;if(((_c(g,14542,a)|0)==206?(b=Bh(a,14546)|0,(b|0)!=0):0)?(d=Zh(b,47)|0,(d|0)!=0):0){b=id(d+1|0)|0;a=C}else{a=-1;b=-1}Qd(e);C=a;i=f;return b|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0;d=Qh()|0;a=dd(a,(b|0)==0?c[33]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(hh(e,19846)|0){if(!(Gh(e)|0))break a;if((vg(e)|0)>>>0<b>>>0)b=vg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ve(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2082]|0;if((c[f+76>>2]|0)>-1)g=Ij(f)|0;else g=0;do if((Oi(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=(yd(f,10)|0)<0}while(0);if(g|0)Hj(f);return d<<31>>31|0}function we(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=pi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;fj(e);f=f+1|0}fj(b);fj(i);i=h}gi(g+12|0);gi(g+28|0);gi(a)}return}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=$d((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=Nh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;ph(4,20263,d);Ag(500);if((Mg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ae(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Lc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Uc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Be(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(Oh(k,d,Nd(d)|0,h,8)|0))a=0;else{ih(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Gf(b,a,e,f)|0}i=j;return a|0}function Ce(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Vh(19777,g)}else{i=h;return}}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;ph(4,20107,d);if((Mg(Ie(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ee(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2082]|0);if((b|0)==(c[2141]|0)|d)if(d){od(b)|0;b=1}else b=1;else if(!(oe(b)|0))b=1;else{Jf(16239,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Rc(b,d,1,a)|0)!=1:0){b=Ig(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Vh(15884,f)}else{f=ge(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Vh(15855,e)}}i=g;return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Qg(b)|0;do if((f|0)!=0?(gf(f,17467)|0)!=0:0){d=ni(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Vh(17190,h)}else e=d;while(0);i=j;return e|0}function He(a){a=a|0;var b=0;b=Nh(a)|0;if(!(((mg(18644,a)|0)==0?(mg(18652,a)|0)==0:0)?!(mg(18661,a)|0):0))vd(a,b,Nd(a)|0);if(!(hh(b,18483)|0))if(!(hh(b,18487)|0))if(!(hh(b,18490)|0)){a=(hh(b,18495)|0)==0;a=a?0:84}else a=120;else a=108;else a=96;fj(b);return a|0}function Ie(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(mg(19954,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Vh(19961,e);if(((((Tb(b,19988)|0)==0?(Zh(b,126)|0)==0:0)?(Tb(b,19991)|0)==0:0)?(Tb(b,19994)|0)==0:0)?(hh(19998,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Vh(20001,d);return 0}function Je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=ji(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Vh(17656,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ke(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 Le(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Yi(e&65535)|0;if(d){h=sj(ed(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Me(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Ki(b,59)|0;if((g|0?mg(13702,g)|0:0)?(i=(Zh(g,61)|0)+1|0,h=Zh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=id(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=id(b)|0;c[e>>2]=f}}return}function Ne(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 Oe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=bi(pa(102,h|0)|0)|0;i=g;return e|0}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=zh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){Ei(e,13714);b=c[d>>2]|0}Ei(e,b);f=f+1|0}g=$g(g)|0;i=h;return g|0}function Qe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=bi(pa(102,h|0)|0)|0;i=g;return e|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(gf(a,19029)|0)if(!(gf(a,20296)|0)){d=wh(a+4112|0,Kd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Vh(14259,e)}else d=dc(a+4112|0,Kd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((gf(c[e+4>>2]|0,d)|0)!=0);return e|0}function Te(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((bi(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ue(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Zh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=nd(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=ce(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Vh(17936,g)}return 0}function We(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(gf(a,18571)|0){if(He(a)|0){c=md(a,b)|0;break}c=_e(a,0,c)|0;if((c|0)==-1)c=0;else c=rg(a,b,c)|0}else c=Li(b)|0;while(0);i=d;return c|0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=ng(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Uf(16045,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Vh(16071,e)}}function Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){ih(c[a+4>>2]|0,e);f=$d(16)|0;c[f+4>>2]=Fi(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(20917,20944,206,20959)}function Ze(b){b=b|0;var d=0,e=0,f=0;d=c[2112]|0;f=ge(c[(Rh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=Ij(d)|0;else e=0;if(b|0?a[b>>0]|0:0){zf(b,Nd(b)|0,1,d)|0;Bd(58,d)|0;Bd(32,d)|0}zf(f,Nd(f)|0,1,d)|0;Bd(10,d)|0;if(e|0)Hj(d);return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=bi(jb(5,f|0)|0)|0;i=e;return d|0}function $e(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);fh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;fe(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=bi(pa(102,f|0)|0)|0;i=e;return d|0}function cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=og(b,d,e)|0;a=a+16|0;b=a;b=Ih(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function df(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 ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Xe(b,d,e);return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ec(2,a,d)|0)<0){b=ge(c[(Rh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Ch(15631,e);a=0}else{c[b>>2]=rj(c[d>>2]|0)|0;a=1}i=f;return a|0}function gf(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 hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Fd(b,d,e);return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Rc(b,1,d,e)|0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Oe(a,1,20,d,8)|0)>=0)if((Oe(a,1,21,d,8)|0)<0){Ch(13247,e);a=-1}else a=0;else{Ch(13197,f);a=-1}i=f;return a|0}function lf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=tc(b,d,e)|0;i=g;return f|0}function mf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Ii(a[e>>0]|0)|0;c=c<<24>>24;b=(Ii(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function nf(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 of(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;kg(b);a=Qc(a,b)|0;if(!(b&1)){b=zg(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);Sf(f)}else bg(a,d,e,0,0);i=g;return a|0}function pf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Je(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function rf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=ad(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Vh(16253,g)}return 0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16353)|0;d=(b|0)!=0;if(d)vf(e,100,b);qa(16353,16356,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16353,e|0,1)|0;else ob(16353)|0;Oa();i=f;return b|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Ic(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;fe(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function uf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=bi(ib(10,b|0)|0)|0;if(b){if((c[(Rh()|0)>>2]|0)==21){c[d>>2]=a;b=bi(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Nd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Vh(15712,f)}else{Zi(a,d)|0;i=g;return}}function wf(b){b=b|0;var c=0,d=0,e=0;d=(Zh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Zh(b,120)|0)==0;d=e?d:d|128;b=(Zh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function xf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(bi(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Fd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function zf(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=(Ij(e)|0)==0;a=Sc(a,f,e)|0;if(!g)Hj(e)}else a=Sc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=Ih(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[33]|0)Fg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Ce(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=Ci(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Cf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2082]|0;else{ve(13139)|0;ve(13164)|0;d=c[2082]|0;Bc(d,a,b)|0;Bd(10,d)|0;od(d)|0}od(d)|0;d=c[2112]|0;Bc(d,a,b)|0;Bd(10,d)|0;od(d)|0}return}function Df(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=bi(kb(142,h|0)|0)|0;i=g;return d|0}function Ef(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Ff(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=de(h)|0;a=a+136|0;Fg(a,b,d+64|0,0)|0;hf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;lc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Eg(f);i=g;return c[f>>2]|0}function Hf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=oh(e)|0,(a[d>>0]|0)!=0):0){e=ag(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function If(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=ge(c[(Rh()|0)>>2]|0)|0;c[g+4>>2]=a;ch(f,13191,g)|0;Hh(f,e);i=d;return}function Kf(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?(zf(b,d,1,a)|0)!=1:0){a=ge(Ig(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Vh(15825,e)}i=f;return}function Lf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else fe(b,c,d)|0;return b|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[6061]|0;if((d|0?(e=Ug(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Vh(17588,f);f=Qg(a)|0;i=g;return ((f|0)==0?b:f)|0}function Nf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(be(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Vh(12513,e)}}function Pf(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 Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=_e(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Uf(12824,d)}else{i=e;return b|0}return 0}function Rf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Og(a,511)|0)<0)if((c[(Rh()|0)>>2]|0)==17)b=0;else{Ze(24928);c[d>>2]=a;Vh(18353,d)}else b=1;i=e;return b|0}function Sf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Tg(b)|0)<0){c[d>>2]=b;Uf(12548,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Nd(c[g>>2]|0)|0;e=Nd(d)|0;b=$d(f+2+e|0)|0;fe(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;fe(f+1|0,d|0,e|0)|0;return b|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=ge(c[(Rh()|0)>>2]|0)|0;c[f+4>>2]=a;ch(e,13191,f)|0;ii(e,d)}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Uh(b);d=f}c[a>>2]=0;i=e;return}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Xf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((Tg(b)|0)<0)Uf(16221,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Yf(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Af(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Oc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Nd(a)|0;g=g+1+(Nd(b)|0)|0;d=$d(g)|0;c[f>>2]=a;c[f+4>>2]=b;Rg(d,g,16234,f)|0;i=e;return d|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=ri(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18515,18537,352,18553)}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=bi(d)|0;i=f;return e|0}function ag(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Wi(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function bg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=zg(h)|0;bc(a,b,c[h>>2]|0,d,e,f);Sf(h);i=g;return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(Mg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function dg(b,d){b=b|0;d=d|0;a:while(1){if(!(Yb(b,d,0)|0)){b=0;break}switch(a[(oh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=cg(b)|0;b=cd(b,20047)|0;g=de(f+1|0)|0;c[d>>2]=g;Fe(b,g,f);a[g+f>>0]=0;oe(b)|0;if(e|0)c[e>>2]=f;return}function fg(a){a=a|0;a:do if(!(Qi(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function gg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=pi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;fe(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ig(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){uj(b+96|0);d=b+100|0;lh(d);lh(d);xj(b+20|0);ac(b+8|0);fj(c[b+4>>2]|0);gi(a)}return}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=og(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function kg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Vh(12022,c);break}default:{}}if((a&18|0)==16)Vh(12088,b);else{i=c;return}}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Ij(a)|0)==0;b=Ld(a,b,d)|0;if(!e)Hj(a)}else b=Ld(a,b,d)|0;return b|0}function mg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=bi(pb(4,f|0)|0)|0;i=e;return a|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=bi(sb(3,f|0)|0)|0;i=e;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;Sg(e,256,16361,f)|0;ah(e)|0;b=Se(a,e)|0;i=d;return b|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fd(a,d,4);a=c[d>>2]|0;if(b){a=pi(a|0)|0;c[d>>2]=a}i=e;return a|0}function rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=$d(104)|0;c[f+4>>2]=Nh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=$d(65537)|0;return f|0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ce(a,d,4,0);a=c[d>>2]|0;if(b){a=kj(a)|0;c[d>>2]=a}i=e;return a|0}function tg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ce(a,d,2,0);a=b[d>>1]|0;if(c){a=lj(a)|0;b[d>>1]=a}i=e;return a|0}function ug(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;cc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((Mg(a,b)|0)<0){c[d>>2]=a;Vh(18380,d)}else{i=e;return c[b+56>>2]|0}return 0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];Fh(c[a+20>>2]|0,b,1);Eg(b);i=d;return c[b>>2]|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;Vh(20671,d)}else{i=e;return b|0}return 0}function yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=pd(g,b,d,e)|0;i=f;return e|0}function zg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((qh(b)|0)<0)Uf(12185,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Ag(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Df(0,0,0,0,b)|0}i=d;return}function Bg(b){b=b|0;var c=0,d=0;c=Nd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Wi(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[16]|0)>=(a|0)){a=c[6059]|0;if(!a){a=c[2112]|0;c[6059]=a}Bc(a,b,d)|0;od(c[6059]|0)|0}return}function Dg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return pe(b,d,e)|0}function Gg(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=Ef(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Hg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(gf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Ig(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Ij(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Hj(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Jg(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;a=cd(a,18441)|0;c[f>>2]=a;Kf(a,b,d);ui(f);i=e;return}function Kg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=20327;c[a+4>>2]=352;Vh(20306,a);return 0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=bi(cb(57,e|0)|0)|0;i=d;return a|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=bi(Pa(195,e|0)|0)|0;i=d;return a|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=bi(hb(38,e|0)|0)|0;i=d;return a|0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=bi(Ia(39,e|0)|0)|0;i=d;return a|0}function Pg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=ej(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function Qg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6060]|0;if(!b)Vh(17556,d);else{a=Kh(b,a)|0;i=d;return a|0}return 0}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=ad(a,b,d,g)|0;i=f;return e|0}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=rf(a,b,d,g)|0;i=f;return e|0}function Tg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=bi((a|0)==-4?-115:a)|0;i=b;return a|0}function Ug(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(gf(d,a)|0))break;b=b+8|0}return b|0}function Vg(a){a=a|0;var b=0;b=$d(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Je(b,a)|0;return b|0}function Wg(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=bi(Wa(6,d|0)|0)|0;i=b;return a|0}function Xg(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]}function Yg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=$d(d+1|0)|0;c=(c|0)<(d|0)?c:d;fe(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function $g(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(17685,17696,40,17712);else{b=c[b+4>>2]|0;gi(a);return b|0}return 0}function ah(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Ii(c<<24>>24)|0;d=d+1|0}return b|0}function bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Ji(c<<24>>24)|0;d=d+1|0}return b|0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=vi(a,b,f)|0;i=e;return d|0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Bc(a,b,f)|0;i=e;return d|0}function eh(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;zd(a,b,f);i=e;return}function fh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=ri(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=pf(a,b,f)|0;i=e;return d|0}function hh(a,b){a=a|0;b=b|0;var c=0;c=Nd(a)|0;c=c-(Nd(b)|0)|0;if((c|0)<0)c=0;else c=(gf(a+c|0,b)|0)==0&1;return c|0}function ih(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=kj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=kj(c[a>>2]|0)|0}return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function kh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;fj(b);b=d}c[a>>2]=0;return}function mh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Tg(b)|0;b=b+1|0}return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function oh(b){b=b|0;if(!b)b=0;else while(1)if(!(Wi(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function ph(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;Cg(a,b,f);i=e;return}function qh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bi(wa(42,d|0)|0)|0;i=b;return a|0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;a=Vd(a,c)|0;if(c>>>0>b>>>0)Ke(a+b|0,0,c-b|0)|0;return a|0}function sh(){}function th(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 (C=d,a-c>>>0|0)|0}function uh(a){a=a|0;var b=0;if(!a)a=$d(8)|0;else{b=$d((Nd(a)|0)+8|0)|0;Zi(b+4|0,a)|0;a=b}return a|0}function vh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[16]=a;c[d>>2]=0;i=b;return}function wh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Vh(17996,d);return 0}function xh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function yh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=20327;c[a+4>>2]=360;Vh(20306,a);return 0}function zh(a){a=a|0;var b=0;b=$d(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=$d(a+1|0)|0;c[b+8>>2]=a;return b|0}function Ah(){var a=0,b=0;b=i;i=i+16|0;a=Jc(2,1,0)|0;if((a|0)<0)Ch(13322,b);i=b;return a|0}function Bh(a,b){a=a|0;b=b|0;a=pg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Ch(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;Hh(a,e);i=d;return}function Dh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ac(b)|0;xe(a)}return b|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6060]|0)){fi(Wb(a,b,0,d,0)|0);c[6061]=d}return}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;wc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function Gh(a){a=a|0;if((gf(a,18571)|0)!=0?(gf(a,15758)|0)!=0:0)a=(cg(a)|0)!=-1&1;else a=1;return a|0}function Hh(a,b){a=a|0;b=b|0;var d=0;d=Xc()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Jh(a,b){a=a|0;b=b|0;var d=0;d=$d(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function Kh(a,b){a=a|0;b=b|0;a=Se(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function Mh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function Nh(a){a=a|0;var b=0;if(!a)a=0;else{b=Nd(a)|0;a=_g(a,b,b)|0}return a|0}function Oh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Tc(a,b,c,e,0,d,0)|0}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Di(a,b);return vc(a,b,c,d)|0}function Qh(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function Rh(){var a=0;if(!(c[6063]|0))a=24296;else a=c[(Nj()|0)+64>>2]|0;return a|0}function Sh(a){a=a|0;if(!a)a=0;else{a=oh(a)|0;Bg(a)}return a|0}function Th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){lh(b);fj(b);c[a>>2]=0}return}function Uh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){fj(c[b+4>>2]|0);gi(a)}return}function Vh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;ii(a,d)}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Xh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){fj(c[b+4>>2]|0);gi(a)}return}function Yh(a){a=a|0;if((c[a+76>>2]|0)>-1?Ij(a)|0:0)Hj(a);return c[a+60>>2]|0}function Zh(b,c){b=b|0;c=c|0;b=Vc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function _h(){var a=0;a=Xc()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function $h(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Xf(b+52|0);gi(a)}return}function bi(a){a=a|0;if(a>>>0>4294963200){c[(Rh()|0)>>2]=0-a;a=-1}return a|0}function ci(a,b){a=a|0;b=b|0;var c=0;c=de(b)|0;fe(c|0,a|0,b|0)|0;return c|0}function di(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ei(a,b){a=a|0;b=b|0;if(!a)a=0;else a=qd(a,b,0)|0;return a|0}function fi(a){a=a|0;c[6060]=a;if(Qg(17048)|0)vh(Ge(17048,0)|0);return}function gi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)zj(b);return}function hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function ii(a,b){a=a|0;b=b|0;c[(Xc()|0)+4>>2]=1;Hh(a,b);_h()}function ji(a){a=a|0;var b=0;b=de(a)|0;Ke(b|0,0,a|0)|0;return b|0}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cc(a,b,c,d,0)|0}function li(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function mi(a,b,c){a=a|0;b=b|0;c=c|0;a=me(a,b,c,0,-2147483648)|0;return a|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;a=me(a,b,c,-2147483648,0)|0;return a|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return nc(a,b,14483,14492,c)|0}function pi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;return rh(a,b,c)|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;return Wc(a,b,Nd(b)|0,c)|0}function ti(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ui(a){a=a|0;if(!(Ee(a)|0))_h();else return}function vi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,2147483647,b,c)|0}function wi(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function yi(){if((ab(13172)|0)==0?(ab(13182)|0)==0:0)_a(-1);Za()}function zi(a,b,c){a=a|0;b=b|0;c=c|0;Ec(a,b,c)|0;return a|0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;return tf(a,b,c)|0}function Ci(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function Di(a,b){a=a|0;b=b|0;Xe(a,b,Nd(b)|0);return}function Ei(a,b){a=a|0;b=b|0;af(a,b,Nd(b)|0);return}function Fi(a,b){a=a|0;b=b|0;return _g(a,Nd(a)|0,b)|0}function Gi(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,0,c)|0}function Hi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Ii(a){a=a|0;var b=0;b=(nj(a)|0)==0;return (b?a:a&95)|0}function Ji(a){a=a|0;var b=0;b=(mj(a)|0)==0;return (b?a:a|32)|0}function Ki(a,b){a=a|0;b=b|0;return Dg(a,b,(Nd(a)|0)+1|0)|0}function Li(a){a=a|0;return rg(18571,a,Yh(c[2141]|0)|0)|0}function Mi(a){a=a|0;if(!(c[a+68>>2]|0))Hj(a);return}function Ni(a){a=a|0;if(!(c[a+68>>2]|0))Hj(a);return}function Oi(a,b){a=a|0;b=b|0;return (zf(a,Nd(a)|0,1,b)|0)+-1|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,1,c)|0}function Qi(a){a=a|0;return ((a+-48|0)>>>0<10|(gj(a)|0)!=0)&1|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return lg(a,b,c)|0}function Si(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Ti(a,b){a=a|0;b=b|0;return _c(a,14520,b)|0}function Ui(a){a=a|0;fj(c[a+4>>2]|0);fj(a);return}function Vi(a,b){a=a|0;b=b|0;i=a;j=b}function Wi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Xi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Yi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Zi(a,b){a=a|0;b=b|0;Zc(a,b)|0;return a|0}function _i(a){a=a|0;return oc(a,-2003829722,18048)|0}function $i(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function aj(a,b){a=a|0;b=b|0;return ee(a,b)|0}function bj(a){a=a|0;c[33]=Nh(a)|0;return}function cj(a,b){a=a|0;b=b|0;return +(+Zd(a,b,1))}function dj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function ej(a){a=a|0;return (a&255)<<8|a>>8&255|0}function fj(a){a=a|0;if(a|0)zj(a);return}function gj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function hj(a,b){a=+a;b=+b;return +(+If(a,b))}function ij(a,b){a=+a;b=b|0;return +(+Jd(a,b))}function jj(a,b){a=+a;b=b|0;return +(+Od(a,b))}function kj(a){a=a|0;return pi(a|0)|0}function lj(a){a=a|0;return ej(a|0)|0}function mj(a){a=a|0;return (a+-65|0)>>>0<26|0}function nj(a){a=a|0;return (a+-97|0)>>>0<26|0}function oj(a,b){a=a|0;b=b|0;Qb(b);return}function pj(a){a=a|0;return c[a+16>>2]|0}function qj(a,b){a=+a;b=+b;return +(+gc(a,b))}function rj(a){a=a|0;return pi(a|0)|0}function sj(a){a=a|0;return pi(a|0)|0}function tj(a,b){a=a|0;b=b|0;ba(7);return 0}function uj(a){a=a|0;gi(a);return}function vj(a){a=a|0;Hb[a&1]()}function wj(a){a=a|0;return Kb(a)|0}function xj(a){a=a|0;gi(a);return}function yj(a){a=a|0;Qb(a);return}function zj(a){a=a|0;Qb(a);return}function Aj(a){a=a|0;return 0}function Bj(a,b){a=a|0;b=b|0;ba(3)}function Cj(a){a=a|0;return 0}function Dj(a){a=a|0;i=a}function Ej(a){a=a|0;C=a}function Fj(a){a=a|0;ba(5);return 0}function Gj(){return c[33]|0}function Hj(a){a=a|0;return}function Ij(a){a=a|0;return 0}function Jj(){return c[16]|0}function Kj(){return C|0}function Lj(){return i|0}function Mj(a){a=a|0;ba(2)}function Nj(){return 0}function Oj(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[dj,lf,Te,tc,Kc,hg,Ai,Bi];var Cb=[Hi,Ye];var Db=[Mj,Ni,Mi,Mj];var Eb=[Bj,Cf,oj,Bj];var Fb=[hi,td,Pc,_b,Kg,hi,hi,hi];var Gb=[Fj,Wg,yc,Fj];var Hb=[Oj,yi];var Ib=[tj,De,ze,rc,ud,yh,tj,tj];return{_llvm_bswap_i16:ej,_i64Subtract:th,_free:Qb,_main:ke,_htonl:sj,_realloc:ee,_i64Add:Ih,_memmove:Lf,_pthread_self:Nj,_pthread_mutex_unlock:Aj,_memset:Ke,_malloc:Kb,_pthread_mutex_lock:Cj,_memcpy:fe,_llvm_bswap_i32:pi,_bitshift64Lshr:nh,_htons:Yi,_bitshift64Shl:jh,___errno_location:Rh,_ntohs:Xi,runPostSets:sh,stackAlloc:di,stackSave:Lj,stackRestore:Dj,establishStackSpace:Vi,setThrew:ti,setTempRet0:Ej,getTempRet0:Kj,dynCall_iiii:Wh,dynCall_viiiii:xh,dynCall_vi:$i,dynCall_vii:xi,dynCall_iiiiiii:Yg,dynCall_ii:Si,dynCall_v:vj,dynCall_iii:qi}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigWigToWig_static.js.html b/bedTools/bigWigToWig_static.js.html
new file mode 100644
index 0000000000000000000000000000000000000000..626dd03419c65a5acbad189653494a998bf6614f
--- /dev/null
+++ b/bedTools/bigWigToWig_static.js.html
@@ -0,0 +1,1319 @@
+<!doctype html>
+<html lang="en-us">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Emscripten-Generated Code</title>
+    <style>
+      body {
+        font-family: arial;
+        margin: 0;
+        padding: none;
+      }
+
+      .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
+      div.emscripten { text-align: center; }      
+      div.emscripten_border { border: 1px solid black; }
+      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
+      canvas.emscripten { border: 0px none; }
+
+      #emscripten_logo {
+        display: inline-block;
+        margin: 0;
+      }
+
+      .spinner {
+        height: 30px;
+        width: 30px;
+        margin: 0;
+        margin-top: 20px;
+        margin-left: 20px;
+        display: inline-block;
+        vertical-align: top;
+
+        -webkit-animation: rotation .8s linear infinite;
+        -moz-animation: rotation .8s linear infinite;
+        -o-animation: rotation .8s linear infinite;
+        animation: rotation 0.8s linear infinite;
+
+        border-left: 5px solid rgb(235, 235, 235);
+        border-right: 5px solid rgb(235, 235, 235);
+        border-bottom: 5px solid rgb(235, 235, 235);
+        border-top: 5px solid rgb(120, 120, 120);
+        
+        border-radius: 100%;
+        background-color: rgb(189, 215, 46);
+      }
+
+      @-webkit-keyframes rotation {
+        from {-webkit-transform: rotate(0deg);}
+        to {-webkit-transform: rotate(360deg);}
+      }
+      @-moz-keyframes rotation {
+        from {-moz-transform: rotate(0deg);}
+        to {-moz-transform: rotate(360deg);}
+      }
+      @-o-keyframes rotation {
+        from {-o-transform: rotate(0deg);}
+        to {-o-transform: rotate(360deg);}
+      }
+      @keyframes rotation {
+        from {transform: rotate(0deg);}
+        to {transform: rotate(360deg);}
+      }
+
+      #status {
+        display: inline-block;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-left: 20px;
+        font-weight: bold;
+        color: rgb(120, 120, 120);
+      }
+
+      #progress {
+        height: 20px;
+        width: 30px;
+      }
+
+      #controls {
+        display: inline-block;
+        float: right;
+        vertical-align: top;
+        margin-top: 30px;
+        margin-right: 20px;
+      }
+
+      #output {
+        width: 100%;
+        height: 200px;
+        margin: 0 auto;
+        margin-top: 10px;
+        border-left: 0px;
+        border-right: 0px;
+        padding-left: 0px;
+        padding-right: 0px;
+        display: block;
+        background-color: black;
+        color: white;
+        font-family: 'Lucida Console', Monaco, monospace;
+        outline: none;
+      }
+    </style>
+  </head>
+  <body>
+    <a href="http://emscripten.org">
+      <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="296px" 
+   height="78px" 
+   viewBox="420 120 100 170"
+   enable-background="new 0 0 900 400"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="emscripten_powered_by_logo.svg"><metadata
+   id="metadata345"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs343"><linearGradient
+     y2="247.6265"
+     x2="225.1929"
+     y1="152.499"
+     x1="225.1929"
+     gradientUnits="userSpaceOnUse"
+     id="linearGradient5104"><stop
+   id="stop5106"
+   style="stop-color:#C1D72F"
+   offset="0.3227531" /><stop
+   id="stop5108"
+   style="stop-color:#BCD631"
+   offset="0.45119295" /><stop
+   id="stop5110"
+   style="stop-color:#AFD136"
+   offset="0.64491969" /><stop
+   id="stop5112"
+   style="stop-color:#ABD037"
+   offset="1" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.0123" /><a:midPointStop
+   style="stop-color:#C1D72F"
+   offset="0.3086" /><a:midPointStop
+   style="stop-color:#ABD037"
+   offset="1" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5120"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter
+     inkscape:collect="always"
+     id="filter5126"><feGaussianBlur
+       inkscape:collect="always"
+       stdDeviation="0.56377237"
+       id="feGaussianBlur5128" /></filter><linearGradient
+     inkscape:collect="always"
+     xlink:href="#SVGID_2_"
+     id="linearGradient5134"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)"
+     x1="397.56918"
+     y1="128.12726"
+     x2="397.56918"
+     y2="166.25996" /></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1440"
+   inkscape:window-height="838"
+   id="namedview341"
+   showgrid="false"
+   inkscape:zoom="0.63555556"
+   inkscape:cx="224.82424"
+   inkscape:cy="-52.085109"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_1" /><g
+   id="g5130"
+   transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path
+     transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)"
+     id="path5122"
+     style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)"
+     d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path
+     sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc"
+     inkscape:connector-curvature="0"
+     d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z"
+     style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none"
+     id="path5080" /></g><path
+   fill="#E2E2E2"
+   d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36  c-2.646,0-4.8-2.153-4.8-4.8V165.236z"
+   id="path3" /><path
+   d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path5"
+   inkscape:connector-curvature="0"
+   style="fill:#e2e2e2" /><path
+   fill="#F5F5F5"
+   d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663  c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236  c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36  c-2.646,0-4.8-2.153-4.8-4.8V163.236z"
+   id="path7" /><g
+   id="g9"><g
+   id="g11"><path
+   fill="#FBFDF8"
+   d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663    c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path13" /><path
+   fill="#F0F4E1"
+   d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663    c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663    c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527    C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z"
+   id="path15" /></g><defs
+   id="defs17"><filter
+   id="Adobe_OpacityMaskFilter"
+   filterUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix20" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="176.562"
+   y="144.499"
+   width="97.263"
+   height="111.127"
+   id="SVGID_1_"><g
+   filter="url(#Adobe_OpacityMaskFilter)"
+   id="g23"><image
+   overflow="visible"
+   width="422"
+   height="480"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAg2AAAQ4QAAF1b/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAeMBqQMBIgACEQEDEQH/ xACjAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAgEBAQAAAAAAAAAAAAAAAAAAAAEQAAEDAQQKAwAC AwEAAAAAAAABAwQCMRMUBRBQEjMVJQYWNgcgESEwI5AiMkARAAEBAwsEAQIFAwUBAAAAAAABMQID EFAycqOz0wQ0RaURIXGRIEFRMGEiExRAgRKh0SMzQxUSAQAAAAAAAAAAAAAAAAAAAJD/2gAMAwEA AhEDEQAAANUJsrZYFfFgV8WBXxYEL0ki5fo6GjJuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRuaRu aRuaMHQ5dR3ojnJ9XxYFfFgV8WD0jxf2AodbslbAD6mDhlpLvI/qkuiovZL7CGzNfRCJwQacEGnB Bp0QSdEEnRBJ0QSdEEnRBJ3BBpwQacEHidwQXzPfBA6bBqK5w2nlKVH3iJitt+gAeweP+wFDrdkr Y+vmaN02k6+e3d2Gjo6N0c2zoyaM7xozuGluGluGluGluGluGluGluGluGluGluGluGnG8c/z1YO PVIfJF80xoIGPsfBVVrl6hIrD7+B7B4/7AUOt2StnXaYyxHTJ6ZKvrqb4x9MgAAAAAAAAAAAAAAA DGR8692Dh4pbkIKJscTVNiLdVY1+weP+wFDgJ+JLJORs3XbIc3dGz6ZAAAAAAAAAAAAAAAAAAAPn R0ayMi5uLqv1S51eIT2Dx/2AofB38Ra5uIm6kOzm6o+gAAAAAAAAAAAAAAAAAAAPj7+TkjJWNIOt 2et1WfYPH/YIofH2cZcJyEnKkenn6IyAAAAAAAAAAAAAAAAAAABjODmjZONIWt2WtVWPYPH/AGCK Hx9nIXGcg5ypLfo3xkAAAAAAAAAAAAAAAAAAADGcHPGyUaQ1astaqseweP8AsEUPk6+QuM7BTtSW 7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAA AAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4Oe OkY4hqzZqzVY9g8f9gih8nXyFxnYKdqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsH j/sEUPk6+QuM7BTtSW7TujIAAAAAAAAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f9gih8nXyFxnYK dqS3ad0ZAAAAAAAAAAAAAAAAAAAAxnBzx0jHENWbNWarHsHj/sEUPk6+QuM7BTtSW7TujIAAAAAA AAAAAAAAAAAAAGM4OeOkY4hqzZqzVY9g8f8AYIofJ18hcZ2Cnakt2ndGQAAAAAAAAAAAAAAAAAAA MZwc8dIxxDVmzVmqx7B4/wCwRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNm rNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr 5C4zsFO1JbtO6MgAAAAAAAAAAAAAAAAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3Rk AAAAAAAAAAAAAAAAAAADGcHPHSMcQ1Zs1ZqseweP+wRQ+Tr5C4zsFO1JbtO6MgAAAAAAAAAAAAAA AAAAAYzg546RjiGrNmrNVj2Dx/2CKHydfIXGdgp2pLdp3RkAAAAAAAAAAAAAAAAAAADGcHPHSMcQ 1Zs1ZqseweP+wRQ+Tr4y5TkHOVJb9G+MgAAAAAAAAAAAAAAAAAAAYzg542SjSGrVlrVVj2Dx/wBg ih8fZxlxnIKcqT6ObpjIAAAAAAAAAAAAAAAAAAAGM4OeNkY0h61Za1VY9g8f9gih8Xbwlxm4GbqW 6uLrj7AAAAAAAAAAAAAAAAAAAA+fr5OaNkI0ia1Y61Vb9g8f9gihxknCl1m65N1OdsZ3x0ZxkAAA AAAAAAAAAAAAAAAAx8fek5ozui6jazYKsRPsHj/sEUOu2Ktlqn6XZ6scjBSRLbOPpjYxkAAAAAAA AAAAAAAAAAYfJjm+uM0xXVE1xVOZr0Y9g8f9gKHW7JWz7s1W6i9SdYlasXXB9pLbI7fHY5/s3NeT 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs DyhP1cpjbLcVojtDLY3QIn1qZU+yugebJDRKaJ7CVUvtq27o9geURaLx6C19JFbI7Y1QU0/WqFQd oH6CS2TG/wAzZrZd0ewPKMqo2n4VH5FoGKBunVTifj9JJpJdBnVH+mj2B5RkqfdcOki0jFJQn5qm pPx5CTSS6TOKf6tHsDyjI0/2hIRU/GUKbNU1DyfklCWhm6f06PYHlGRf9QkIqfjKCWapWx4kkszj daPYHlGQ2wrItjImqlseJJMM43Wj2B5RkNsEjWNarUeJJMM43Oj2B5RkNsEjWNarUeJJMM43Oj2B 5RkNsGyLY1qtR6ySTDONzo9geUZDbBsi2NarUesk2TDON1o9geUZDbBsjWNarUesk2TDON1o9geU ZDbBsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDb BsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsj WNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNa rUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUe skkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskk wzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzj daPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzjdaP YHlGQ2wbI1jWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJJMM43Oj2B 5RkNsGyNY1qtR4kkwzjc6PYHlGQ2wSNY1qtR4kkwzjc6PYHlGQ2wrItjImqlseJJMM43Wj2B5RkV sJSKv4yolmqVseJJLM43Wj2B5Rkf/UJSKv4ypTZqmoeX8kqS1M43Oj2B5Rki/wC0Koi1DKlC/mqa h5SSpLUzdf6tHsDyjJ6/p2HURaxiobX81TWv4/USaiXUZy59N6PYHlGXubEiE5+RaxisaqEXVCjl Q/WSayXX+Zy59ro9geUUVbNeXPpVRFdI7gzWUVfeqK6h2skOElwmu/ST3bx/R7A8oMpk/SxHiM8M OjThTX9iLqWqr6HHB50kOkp4zSVsUVKqro9geUDLit15fLSumM+MPjTw26UuCVH2moPsWoqcK3R1 4feJD5MkIiTpKvO6fYHlGiFLViuHLSpGJAzIGnyh8peKXRHEEcQ20NtDbQ2kNpDaQ2kNpDaQ2kNp DaQ2kNpDaQ2kNpDaQ2kNpDaQ2kNpDaQ20NtDbQVxBXEFdKnit8cfHpA/IJMn6TMp+0vw9geUaYU+ pmqJNprRmUNSRuSUSSmQgkgSQI+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X4r4sgWQV SCuSOSR2SPSiRLREzDMlUVVVfh7A8o+EeW4wsTNKKxmYijcsollMspliSxJZjDGIYxDGIYxDGIYx DGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxBZYssqllUsrljksdmISsxooSVmLjyqq r8vYHlHxRVRWZ77QznNI3mzSlGZUKU5hSJmKHEUOIocRQ4jScRQ4ihxFDiKHEUOIocRQ4ihxFDiK HEUOIocRQ4ihxFDiKHEUOIocRpOIocRQ4ihxFBcxQXMEKsxpHM1aQezmhB/M3nCquqtfn7A8o/hS utC9dL50vnS/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/ eL50vnS9dLytT7X+PrDhvHuTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOT HJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY/pP/aAAgBAgIGPwBR f//aAAgBAwIGPwBRf//aAAgBAQEGPwCPk8jmv2su47DV1z9uE90V5xHl7vuKrTXWMHDNdYwcM11j BwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHD NdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11 jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMH DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z"
+   transform="matrix(0.24 0 0 0.24 174.5615 142.499)"
+   id="image25"></image></g></mask><g
+   opacity="0.09"
+   mask="url(#SVGID_1_)"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   id="g27"><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M195.361,251.626    c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527    c0,8.16-6.639,14.8-14.8,14.8H195.361z"
+   id="path29" /><path
+   fill="#1D2915"
+   a:adobe-blending-mode="normal"
+   a:adobe-opacity-share="0"
+   d="M255.024,152.499    c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527    c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527    c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499    L255.024,144.499z"
+   id="path31" /></g></g><g
+   id="g33"><g
+   id="g35"><linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="152.499"
+   x2="225.1929"
+   y2="247.6265"><stop
+   offset="0.0123"
+   style="stop-color:#C1D72F"
+   id="stop38" /><stop
+   offset="0.1394"
+   style="stop-color:#BCD631"
+   id="stop40" /><stop
+   offset="0.5859"
+   style="stop-color:#AFD136"
+   id="stop42" /><stop
+   offset="1"
+   style="stop-color:#ABD037"
+   id="stop44" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="0.3086"
+   style="stop-color:#C1D72F" /><a:midPointStop
+   offset="1"
+   style="stop-color:#ABD037" /></linearGradient><path
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527    c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path46"
+   fill="url(#SVGID_2_)" /></g><defs
+   id="defs48"><filter
+   id="Adobe_OpacityMaskFilter_1_"
+   filterUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"><feColorMatrix
+   type="matrix"
+   values="-1 0 0 0 1  0 -1 0 0 1  0 0 -1 0 1  0 0 0 1 0"
+   color-interpolation-filters="sRGB"
+   result="source"
+   id="feColorMatrix51" /></filter></defs><mask
+   maskUnits="userSpaceOnUse"
+   x="184.562"
+   y="152.499"
+   width="81.263"
+   height="95.127"
+   id="SVGID_3_"><g
+   filter="url(#Adobe_OpacityMaskFilter_1_)"
+   id="g54"><image
+   overflow="visible"
+   width="356"
+   height="414"
+   xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAXBAAALIQAAEOP/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAaEBawMBIgACEQEDEQH/ xACYAAEAAgMBAQAAAAAAAAAAAAAABAcBBQYDAgEBAAAAAAAAAAAAAAAAAAAAABAAAAMIAwEAAgMB AAAAAAAAAAIGATIDBBQFFjZQMwcRECKQMRMSEQABAgQEBgEBBwQDAQAAAAAAAQIxcgMEEFCRsyGC M6PTNBFBIGFxEiIyE1GB0UKhscFiEgEAAAAAAAAAAAAAAAAAAACQ/9oADAMBAAIRAxEAAADy0npz Z0Dnx0DS7Q9kr0IKcIKeICeICeICeICeICeICeICeICeICeICeICeICfggp2CElQD1aXxOgc+O1s um7kKj5vpObG6d2Q9zspRA9JmSGmCHmWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIiWIaYIeJo1sPe 4OK5C2tCVS3OmN5clN3IVHod9EOv6zWb0zkAAAAAAAAAAAAAAAAAMRJnwcVXltVuetyU3chUfp5+ 5YexhTgAAAAAAAAAAAAAAAAABjODUVxZNbnjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwaut rJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAA AAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjy Cx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1t ZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAA AAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQ WPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautr JrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyCx5sKaAAAAAAAAAA AAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZNbHjclN3IVHIjyC x5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAAAAAAAAABjODV1tZ NbHjclN3IVHIjyCx5sKaAAAAAAAAAAAAAAAAAAMZwautrJrY8bkpu5Co5EeQWPNhTQAAAAAAAAAA AAAAAAABjODV1tZNbHjclN3IVH7+HqWTO1uxMgAAAAAAAAAAAAAAAAAYzg1Vb2NXB5XJTdyFRx5G jLc3XG9SS2MgAAAAAAAAAAAAAAAAD4+ohqq47GvTa3JTdyFR830nNm/7qp+gLVk8fuDcZgehLRBL RBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBLRBKQohP0MbkT40OcG8uSm7kKj5vpObAJm45sd n98SO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3cQO3xxI7PX84JcQAN5 clN3IAAAAAAAAAAAAAAAAAAAAAAAf//aAAgBAgABBQD+G3//2gAIAQMAAQUA/ht//9oACAEBAAEF AFgq7/bL9narGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxn arGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qxnarGdqsZ2qx narGdqsZ2qxnarCYVyhn78PQNo/MCUmJhssm48QEScNrGJGEMQgjEIIxCCMQgjEIIxCCMQgjEIIx CCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIIxCCMQgjEIQakYQOlI bGTCajw2R5SPLm/KK2gegbR+LVYzzDZGzFKyBaysYS3FYGSBBQkFCQUJBQkFCQUJBQkFCQUJBQkF CQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQNkCA9uK0R7WVrJ+ykMy6WI8BrW NY0IraB6BtAsdqbMHtttYxkvKFKxhCs4JpCtExKFMy5W5jWX22NgRAitoHoG0SsBsePZZFhSSkuw peFm5dhi3qRKYk1BbAjoraB6BtCcl/8ASYtUBjCkL8Lwp2fS3WCxpVDA/wA5lFbQPQNoShGNLbif CcM3+roX9VQz4ZFbQPQNoSLP0t7P04e5uql5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW 0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5F bQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnk VtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqe RW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp 5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6q nkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubq qeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5u qp5FbQPQNoSPXIOcPc3VU8itoHoG0JHrkHOHubqqeRW0D0DaEj1yDnD3N1VPIraB6BtCR65Bzh7m 6qnkVtA9A2hI9cg5w9zdVTyK2gegbQkeuQc4e5uqp5FbQPQNoSLlvb+nD3N1UvIraB6BtCTN8Jbj /ScM3+rob9VQ36ZFbQPQNoTUx/xGtcdjSlb9ZwsRvwt1jMYVRR/+5hFbQPQNokZinmbPOsaWVjsM XhZuOwpbxOsYWcjtjzCK2gegbQLDdv8ANtuuDGsgTJTMYZjeCaZjBHmSlZcbgxjL9dGxDBFbQPQN oDGtK2z31pBJXYrWQLmVrCz5Whk8QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFaQVpBWkFa QVpBWkFaQVpBWkFaQVpBWkFaQVpBWkDZ4gNPkYI9zKxk7dysZdr80zTGaZoRW0D0DaPzK3Oalmyy oYwEVEv8yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGV S4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXGVS4yqXB1RL/JlUMMyauU1Mt/KK2gegbRxaK2jj/wD/ 2gAIAQICBj8AG3//2gAIAQMCBj8AG3//2gAIAQEBBj8Ar2djdfxW7G01az+Ok74VzEcvF7FWJ73Z o+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+ M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M9 7s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+M97s 0fGe92aPjPe7NHxnvdmj4z3uzR8Z73Zo+Ms7O7u/5Leq5yVGfx0m/KIxzotYixTC5kpbbfsfFJir 9/0EWo74+5qHH8y/3IO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U g7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1Ug7VSDtVIO1U4fmT+5803fP3Kn+D4qsVP v+n2LCd22/C5kpbbcUqVkX4+jf8AIiI34QTgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIEBe AqK1FRfuFqUE/SkWf4PhY4WE7tt+FzJS224JWqJw+f0ov/YnATgcMi4i8BeAtdifpX9yf+4WE7tt +FzJS22jKSfVeP4DUROCCcMmXgORU4KPpL/qvD8CwndtvwuZKW20dUVIcEE4Hxkyi8BHon7uC/2L Cd22/C5kpbbT5/8AoTKFG/iWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttp zKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+Fz JS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu 234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFG zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k="
+   transform="matrix(0.24 0 0 0.24 182.5615 150.499)"
+   id="image56"></image></g></mask><g
+   opacity="0.35"
+   mask="url(#SVGID_3_)"
+   a:adobe-opacity-share="1"
+   id="g58"><path
+   a:adobe-opacity-share="0"
+   d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663    c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
+   id="path60"
+   fill="#1D2915" /></g></g><linearGradient
+   id="SVGID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="226.1924"
+   y1="159.7139"
+   x2="226.1924"
+   y2="200"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop63" /><stop
+   offset="0.3788"
+   style="stop-color:#F8FBF3"
+   id="stop65" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop67" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.4383"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></linearGradient><polygon
+   fill="url(#SVGID_4_)"
+   points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61   227.655,173.61 236.978,159.714 "
+   id="polygon69" /><g
+   id="g71"><g
+   id="g73"><g
+   id="g75"><image
+   overflow="visible"
+   opacity="0.75"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="392"
+   height="242"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAD2CAYAAADF97BZAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHohJREFUeNrsnYlu40gSBZMU5Z75 /4+dbUsiFwtY2JrqvIqHSEoRACFZPtqk3BV8WVcvAAAACXouAQAAIAwAAEAYAADwWgYuwSp0XAKA wzJxCRAGIgCANf8fIxaE8RIxIBaA8yeMDokgjLkNfLfyzwOAfWTRNX49EkEY5h9N6+sIAuC8/++n mXKZjJ/5UfIYPuyPRXut9WOEAXDuxOGJYEqKZPpEebyjMOYKoTO+BmEAfIYwSjG0JJFaHm8rjncS RkYE2uutwkAgAO8liezzTPqY3jl1vIMwooa+fi0SRvQzshIBgHMKYwpez5Su3jJ1nFUYLWWlznne KpHW5AEAx5fF5Aijfi0jDy91nFocZxRGJgnUMvDkkf3arDiQCMD+YshIwxKE93xy5CGJ1HFqcZxJ GEsE4b0WHa3JA2EAHEcYU8PjlJREdESp47TiOIMwIlG0yqEPPl4iDmQBcCxpZMtOmWNs+Fy2n6M7 kzSOLIy5oogk0SsfZwWCNADeSxhZMYzGYy2I8uslIY5TpY2jCiMzsikjCO2xDz4fiaNFGggDYD9h LJGF9uh9rq8+7hxxWLI4vDiOJozsKCdPFJoc5ry2JG0gDYDzJouxOrTXLJHUsuiKz4uROurS1GHL VEcShpcqNGFoZSZLBBfla6zXO0MeGXGQMgCOkyyyopgCMfzveDifs44yRdQlLKtEdei0cRRhaLKI UkXZoFtCeH7uUn3dJfF9UV8HwgA4tzDG6nktjYfy/OF8zhJLZ0hjEns01SHTxt7C8EpQmdKTlhQu lSguxmu1TLSfNac8hTQAji+MMZEsahHUx6g8743v1aQxOudzSGnsKYyoBOUlCk0StQQGRRrW4aUO bWRVpj8DYQDsI4xaFJEwPFk8FGHcDYGUR1/Jon7uzf84bIlqL2FkS1BWP8XFSRKDIozBEclgiMPq CJ8rDSQCsI0cWmWRTRaWDO7BYy2OXhFH2SE+BudymLSxhzAsWbSkCk8S3vNBkUdGGJE06pTUIgTE AbCOKLRylCYNqxyVTRV347gYX9sr4nhUotDKVPXw292l8WphtMrCSxWeEOrjqghDE0hUlrKkYaUL ZACwj1S8lBGli1oYWpL433Eznl8qWdxFL2trfRsiev/GIaTxSmFkJ99po5+0RBHJoXy8Bt+j9WmU /743qU/E7vxGGgD7JBBrCRCvs9sqRd2NZHErRDEY4iiTxV1p72ppiPx/IqDVr7GbNF4ljBZZaKnC E0UtBu3jq5E0PGFcgpJUH8gCcQDsJworXWQTRiSMWyWM5/Oheu3ZltzFLmk/lPbhkCOoXiEMreHM 9FVYsrhWz8vjS3lNE8dglKiyHd9ewqAsBbB/KcoThjbvwhpCG6WL8vgu2pRb0XbdnGpFKY26vbCG 3u4mja2Fkemz8EpQZWOulZq+gkdNIlFZaq4wBGkAHFYWIm2d3lG6uFeiKNPFt9Ku3ESfEOyJY3TS xi7S2FIYc2ThpQpLFF/Bx6U4auFckiWpFlkgCoBjiCPb8T01Jow6WVx/JHEtZPEt+oCaaD6XRUYa b1OSapXFEJSdsodVporKUZlRUpEsEAbAcaWhpYx6WK02lPamSKOWxVBIo1UY3QJpbC6PrYTROhLK SxW1LH5VUvhlvG5JQ0sXWv/FReYNp0UaAPvKYq4wxoQwvIQRlbojYayRNDaVxhbCaFmKXJNFPcrp q5LFL0UUGWlE6UJ7Y7MT9hAGwDmFEaUMb/5F3X/hjb70hulnZVFL4/Sd3l2iLNUHsrBKUL+M48v4 2EoX0ZvqlaIEYQCcWhalNKwNkrz5GPeftuRWtCk30ed8aUsYzU0WdZoo25ZaHJsJZMuSVMs8i6iv opbEX4FAnt+jdXZnZaEtby6IAuBtUsac/oxaGoPy6A2mWZoupiJldK8uTa0pjLmlKK2DOxLFX8br WllKG5Lbsn4UO+0BII1B/uzLqG9Av+XPKQHZNsU7H22IcF2e0qRx2ISRkYU1g3sISlB/KY9/OUlD 67vIyOKSKEO1JAzEAbCfKFqF4c0CL1PGUKSNm9hr1LXchHYJWYjoy4RYZSnZQhxbz8OIRDEYwvhl SOIvQxh/KenC6+hu7eSOpIEwAM4hjCXSuBRp47lW1F1p16wtoFvShSYLa++MUV7Un7GGMFpKUV66 qPssaln8bUijFoY1u9vbOGnp8NkucX0A4LWyEGmbCT6KvnzIWMjiUcgjsyGbdQOa+V0nyW/p2r2i NLVmSWqJLLR0Ycnib6ck5U3S85JFy8KCSzq5kQfA9pJokUX52AdJo6/EkVmwdM6ci2nG0TmyWE0c S4URDaPN9ltkZPG3U5bS5l1kFhecu2w55SeAfcl0FncJgXh9G30hivqxXIE2Gl3ZO6KIymPZo0xI m/VjrFWSmjsqanBkYfVd/K2kC6uj25JFZ7yxraJAEADHF8pUvTYFjbZUd+5T0UY8hfEQfapAZnRl lCpG0eeHaB/XKcOS5CriGFZ6Qyx5aPMuhiBZ/FJkoaUMTRblMNpoFvfS3fOQBcB55DEp/3e9DuJa GE9ZWO1bpvRkNeZWp7u1Z0emNDUp579YGsOCNyBKF9HIqEFp7K1U4Q2lteZcWOu4tM6xoAQF8H7S EKN0Uz9qd/B90Xh3ku+r6IxUMTpHuWWsdvRGacrr09g9YWTnW7RM0rPKU9oyIN7CgpYs1twxD3EA HJcp+f9UuxPvFGnMFUUXpANLGJ5Qyu+t/+1Ddnp3iXKUNu/iy0gYvyQ/Qa8cGaUt+5FJFiJtI5+Q A8D50kVGIpNy0zgtkIYY/0b5PLOnuHZcqpTRK0nIK0+9TBjZLVfnzOrOJI0vQxbafAuvzyJbfmK4 LMB7JAzv/+zU8H+9lEZL2zApopgMcURHVJrqRO+72a0Pw0oX0YZIVsKIylDWkuVav0UpK2upj7mi QA4A504YnkCmoLpQfm/r3hbWarmRHJ5rV3kpwytNaalqljiGhRc+U4qKNkb6ctJFnSa0uRaaLC7J ZEEZCgCBRCOoLHFMxd19JuVEndyeMLIpo98yZcwtSWWXL5/bf/El9kioL7H3tYhmW1rpYm4pCgDe RyCt4pCigRaxZ297w2fHIFWU6aJ8HOTf61uVbd5mKWOYcVFb08Wc/bm1RQTrVFH3WViy6INUgSgA oEUcWn9HL7kFEOtS1BiIojy+5P97cdSlqUfVDnspYzZLh9Vq+3Rn5mBcE6KwtlgtReEli16YiAcA 64vDayt65XszQ2ejhFFu3FTuxfFQksYo+kitXfowOrFHSnmlqGgLVi9daEt9ZCbmibAzHgBsK46u kIFUlY3pp416CmNIlqNulShuRVtYbuB0r26aR6MsNYm/d8aqwpi7DEhm74urU36K9rTQ1p23Fg9E FgCwpjjqmeFdlTK8ctS1eNT2DP+qZPFVSOMm+grcUV/G4s7v1j6MOcuYe3MwNGl8KV8b7cFd/w4i /pR8RAEAc8QRSUOqlPH8+jpljEVJqZbGl5Iq6qPc7e9eScPry5AlKWONeRjeUNpLUI7SEsUg9sxt bwZ3L/RVAMBr04bXCT5Wpam6XF+WpK7y7z6Ka5EqynQxiL2DaC/xaKnNJ+5Fayi1jpQagtKTNXN7 SKSLaClhZAEAa6cNSxrlXX5fpYyxaNdqadyVdnBuyli187ufeaG0foJMyhgMMdSlp0wZykoXIu3b qAIAzE0b2nNtBGl2YdbBaRsHJ2W0rMg9q23sGy5My2S9PnExhsTFyG6BmHkDAQBeLRFNGpeqNOXt RJppG7Wb6i6Qxiz6hpP3RNIHCSNj0swF6WaUopAFALwyZWRvri1xXIL2sWVqQbR67qrCaEkaLUNr 6wtxCWRh7ZVryQFJAMAe0ojazWe7dWlsI6/JhKG1l6KUoma1lf3Ci2RdiGyyuIg+CspbRLA3TD7n jQQA2EIe0Y21Nw1hUB6z0sgkDC8dLRZGNlVkR0hZpSdLFpfkBVhkTgCADVJGZoM5qyLjyaN1o7hV +jH6mTHL2gcjugjWBfHKUN1WJw8AsFG6iGSRLeNn2spoFOlqbWXfeDG6IHK1ysI76cyOeaQLADhr maqfIY2L5Pt5rQ7vzYfVZspUfXC0CsLq5LbGEgMAnC1laP0Z1giqls7ubBl/k07vaOiYtp6TdjKa JKJJJ9n5FqQLADhj2vCG20Y33NlSVNfwu62SMLqkNb2E0SviyMzgXrUOBwDw4pThrY6R6QPOVmo2 7fvNTNzrgs9F9bhIHH3ihC07C+kCAE4mE00ctUCiakymhN+vfZPdz4gm2fHFXSALK0V409pFWPID AM6XNrwUklnANSpZzRlS29x+zllLqiVpZBKHNwoqE6OQBgAcXRTeIoCd0x564siW8K2RUs0MMy9E 9tBOwNv4KFtjQxwA8C5C8drOLlmlya4h5a21Fy513q948llbdo48okglQn8FAJxLCt68Ma1Bt9pD 7fW1O7q7LYQRxausLaPaGivPAsC7yyTbZnZiTznIyENk4UipfuZJtp68VXLyxJGZoEfaAIAzSaJl TtuaCWOVdrJ18UHrJCNZRFErU3ZCCgDwjglDa+u6GQkjszjr5sLIJI2oA8dLGtKYMBAHAJxVDJ4s Mmv1ZWURlaNeKgxJnmBmT9kueZFFKEEBwGdJJjui9CU7j/YrnJTX6Gcn3m1SbwMAOEnyyDT4SxNF tGrtLGF4nc3euN7MbMKsGDIlKMQCAO8kjeyNdIs0Vm0vt+jDiGQS2TVbtgIAOKMkoopMa5uaEc4q 9C+8EF4UmyMpAIB3Tx4tfcGb32T3G52sVzN7iQkBAA4ogJYbbetjbxe9zFp8s8v8/Y4XCQAAkeiN uwSJQiQ3qbn1Jn/zhNHNuDCR5RAKAHyKLDKfjxJG9t/YpdNbpH1/7ZY4BgDw6TKJSvWtW0Espt/g ROes/eQtxYtQAAAOsJFc/6KTmxPJAADAF8RL29F+5xMHAEAGfz5fvHfFFu1tf8ILCgDwbrLIrAi+ xs/+CGEAACCX/FpTm9x4IwwAgPMkka2+/jDCoJwEAPAGbSoJAwDgwxr+owuDlAEAcHJIGAAAgDAA AD6At5jpDQAAJAwAAPikdIEwAAAAYQAAAMIAAACEAQAACAMAABAGAAAgDAAAAIQBAAAIAwAAEAYA ACAMAABAGAAAgDAAAABhAAAAIAwAAEAYAACAMAAAAGEAAADCAAAAhAEAAAgDAAAAYQAAAMIAAACE AQAACAMAABAGAAAgDAAAQBgAAAAIAwAAEAYAACAMAABAGAAAgDAAAABhAAAAwgAAAEAYAACAMAAA AGEAAADCAAAAhAEAAAgDAAAQBgAAAMIAAACEAQDwMUwIAwAASBgAAHDOlIEwAADgUMKYuNQAAOdu F0kYAABwGGGQLgAA1mtHd2tTSRgAAOeThvX58vhYYZBSAOBTJDAl0sXU0EauJhESBgDA/tKoG/U1 GvnVk0a/08UhNQAArJtENqff4KQydbTpyBcFAODA0titA7xf+MtPM09YuwDT1nEKAOCEaSLqw5he 1Wb2K51c5hedErYkUQDAJ0ohalen4KZ9esXN9h4zvefIBQDgE6QxSVyJmSRXllq9xN9vdBEiM2ai FwDAp0hjMm6sWxKGN9oqandTbW+/0clnkkXr8DFkAgBnl8KcG+dJ/AFFU9DGZqUQ3uT3G1yUKGJ5 1pyEkVIA8BkCySSOKHVMiTZ2tfazn3liU/IEopPPXBhkAQDvKIu5N9JTcGx2o903xpLopDIXyJNB JIgp+XsCAJxBHNkb6czN+ZT8Ppl7Q96vcNItJxHZUoKTRBAA8K4CiYbIPp+PDW1t5qb+ZcKQwIxZ C3oJA2kAwLumi0w7OiqSGKWtI3yV9rNPntyc2KQdkRk9cQAAvIscJidZWG3mqHy89IZ804SR6Zix RDFWJzlK23Axz4zIBQDOJBCRuDQ/OqLItKOrDx5asw/DkoRmxFH5mlH8OhzDbQHg3WQRtZuZhDE6 clky9201YURlqDFIGGODGT0rAwCcVRxRKX9MtJ8tJarF7WffcIJZY3mmtKJVFK+s+AYAcBYxRJ+L Sk5jcMzp12iq2myVMFpO0CpXtdoRgQDAGSQSdW5bCePRII1R8h3tL1lLaq4kyhN/SNwhHtkaUQDA UdOFVRXxkoUmh0fQfmZK/SILy/t94mS9dUsiI3on6J209jNF4o5w5AEAZxFHNM/iURxLZbFKGT+7 ltSUSBjRCKjoRB/BBaQjHADOKAmvKqP1UTyM9jFqQz2BaL/D6sJoPenROdHoKC+EVdfLCAJ5AMCR xJGpzHg32I9EW9pSltosYXiiECNWRXW4R0PUmrOoFgDAEdOFJpEoSTyPe/U4VxpzfvdFCSNKGi1W fF6Au7T1a7SsagsAsHe6EMmVo7yb63tSFF5ZalHq6Gc2utnRUZEkshdgSpw8ogCAI6YLWUEUd+fj pQkj3W6uMXEvEkdWEnfR63abxSsAgBeki7k32Hfj0BJH3W5uMlqqbzh5TyCtUSpzEVpKU6QMADhi uvCE8VBuqj1R3IMb72iY7WLmrlabnXuRsWXGng/xZ4KTMgDgiOlCGiowLdKIOr6jzetm7ZGx1bDa TN/F87glLkhLR44IczQAYL90kZnYbI2EqtvEW4M8Mqt/L2of+4YLEfVfaOb0TvJWXIybcWE8e86Z owEAsJUsrOkGmVLUXZFG1D5mb7BXm4vRz7worQkjEsVNsanVqROtzLjYogAAM2URdXA/GtrIW0Ic L524Nyy4UJm+jEdwEerj+vM4/DxeiuN/P6P7kdz487z7ed4rF6P7ea0rfueOv3EA2KAMJZLbEygr iqjNbE0X2u/YfEM9JC9MV/3gLlGWsmpz1vH98/uUx70QRl8cXXFIJY5IGoI4AGBFWbR0cFtTDeo2 8ltpH7W+jUyHt7fH92YJY3JEkZFFfVG+fxLFd5EsbkXCGKqEEQmjThmlLOp0QdoAgLVkUYujbrSt AUC3QBLWa9mEYW0V8fKSVH1xygbbGjJWlppuijQG5Yhk0SmJoa+k4EmDtAEAS0RRPnorz1ojoer2 sD40aUQDgzJbts5KGUPDxeoco0bjiy9KuhgUWVyLz1+MhOEJoyt+v1H5Gk0SpA0AyIoiksUYVFse jizqR00ac6YeTMnzWj1haHfpVsdOb0SwoUgadbK4FsmiTBnZhNFVKUNDEwdpAwCyohCZtyzSwyhD 1cdvI2lEKcOTxSpTEJb0YZSNb1mailLGUxpRGWqoRKHJonMa+k7aO8ERBwCiiEShVVesEaLlTbM1 2Oe3IwpLGLdkyvDKaZsnDE0cXSGLTMrISKNMFhdHFpYwpkIWnZM4InEgDwBEYcnCWnVWW+LDE0Ut jUgcmc7uVdeQWiIMcS5iJmXcqpLTt/w5IqpFFlGjXs/b6BrEQeoAQBTRpLxphiwsUXji8EpSWv+F yEqd3XOFMTl34V7KuFelpUtwaGWovlEW5UXqg5SRKU1NhmQA4NyCyIpCjGShDZ3V5lV8B3L4bXzu OyhFeSOkWs5/s4RhDVEt7+QfRUNfSqNMGV6qqKXRBymjlsTFKFPV3zsVH7eUpqagzAUAxxRDNmFk k8XDSBfaCKhaCv/5OTxpRB3eXt/FquvtrdGHUd+p18t2PIqGXytNXZTk4U3Sy7zxtTiespjEHmk1 JctVmWQDAOcSibXQamYDJGvobCmL34njP+L3YWRLUasOpS25zPy+srPZKhFpX+Md3pDZqA+j5Y9k 6UXrFn4eAPZPGNnyU3borCaLm1KG+k+VLLzDG17rSWOTdLFEGCJ+B7IllEgCEryWbaCjWZlrxVlE AXA+cSyRxST6sFlNFjdHFnU5yhPGb0cW1gipTSofwwpvRl3S0dZ+19JEn0waljCiIW7Px6EqS12K z2n9IyL+pEBGTQGcUxaZ5T2iDm5v8yNtUp7VZ/FPQ7Lw9gpqWdJ8t+XNPVlIUhqZklSXSBGj2JNn roU0xh9ZjIU4ns9HRxzWo9dBjlAAjlOGmgJJiCzbz8KSxbfofRSRLH47Zaho7oXIhpvKrTUPo1N+ wbFoOLPSyAgjMw66vJClLMpjlD9HYdXikMSjJocu+SYhFYBlMmhJFa2y0EZCZWRxE33IbC2Hf6rH WhatI6M230RurZKUNcy2FkerNLw33lvw6/mmXos3tlyj6iH6aKw+WRaLZIEgAPYTSKs0rEUEvdFQ 1uZH2qQ8r5/iH4k7uVtGRmlltdVYM2FYb9RYNbgZaXiNq/amWtseatJ4iD9JcKk0WjrnAWB7aXhr QXk3oJP4o6G0mdzakh9WZ/c/Ys/DiFanrTdM8q7BoUpSUWmqbOSz0rB+flSGeiSkcRF7rw1vhrlI bhgx0gDYVxhT0GjWd+FjsmJxF31TuGg2dzSk9rdRjlpj7+7DJYxsaapMG1oDG02Es5ZR90RRvsHP pdOfW79mpZFdUh1hABxfGN5EvKws6r6Let8Kq/8imt3tLWWe2fNis1LUFgnDeyNHpeF8JGThJYxo 8kx5J3AtJHFVUoa1LIkmjH6mMJAFwPbCyHZyjzOqFlay0Pa1aJnR7Y2KinbV82SxujS2Kklpo4Qm RRwtPzsShZUqvooL/0wX9QZN1gq5njhE2kZSIQ2A7WQxNT5qZai6P3SU3G559RIgVsqwEoW1wGA0 jFacEtQpEoYnjXLOQ7bxzAyh9UYtfBXiuMq/d/UbnKShiWOuNJAFwHGkYQnj0ZAublU5yts5L1qy /DuQRVSCispzpyhJlfLwImGLLKw+DC8yluIYKnFo0uiN8hTSAHgfYYwSz+HKlqIyW61qaULbqzsq Q2X7LTaTx7DRm9gF4sjKQpKi8IRx/XkjalnUfRmeNCxhRP0ZCAPgGMLwZDGJP4imlsXdKEdF+3Pf xO+rqDu4DyWLLRNG1J8RScMaAjc69UUrXVyrhOGVpYbGlIEwAM6TLsZkwshULW4N0rgpj9oM7nr4 bKss3qIkNVcaIvl16LWRUc9SVJkwhiphWH0ZLSlj7dngANAuCi1R1M+z6WIUe85FnTK+FWnclBRR J4rspLwWWWwujuGFb3KLNDL9F1Z0/DJKUbUwWstSnjSQBcDxpRHJIprRHaWMmyEIL1FEqSLb0X36 Tu9SFFlpTOKvSZ8dVntVRKEJo+78tvYWvyQSBsIAOFZJKhKG1p6MTtXCGimlPY9E8RB9BvdDkdok L1qN9ggJo0Ua2T0vvIRxlT/7MKwSVDS8NprINzdlIA6AdUQRJYy6HOUtLGi1KZnSlCWSjChaS1C7 yGKPklQkDS1teEnjUr3JQ/H4nKh3q4RxUaRxCRJGZngtHd8Ax0oYmXJUZq+LaB0p77WHxP0UD4nX htqlz2IvYWSkMUnbHhhjII5aCjcjTXjlqOxcjEgaiAJge3FkN0NqmYORKU9ZcmhJFNYM7sPI4tXC mFue0t703hFH+ca2pIkoXWRkkU0ZHogFoK1BbNk9L+rH8OZ5ZYRgPc+Iwis/7S6LPYThSUOTxyh/ 7hNei6N+oy/y7z0v7skk4fVdZIWxRBaIAmC+OLKyyHZ+eyth3wOpRENkWzc/OoQs9hJGNmlMSmNc v+F9lTZ6+fduehdFHPXn+oQoMsIQsffKQAwA24ukRRqZlOF1hkevWf0To1IWkzPIYk9hlCffGc8l SBudkjaejXmdNHrjMRLEnHSBMAD2k4WIP2CmRRqePEbxl/Cw0kRUftp1nsWRhdFaotI6xbW00RWl qmfi0NJDS5pAGADnF4ZIbk0pSxjWx1lJjOL3URwyVRxNGFrasGRRp43668dKFmVD/0gKwtqiNdrn m/kXAPsJQyS3rPmkNN7185bDks00s/R0WFkcSRiiJAxLIJNxh1+nkzFICr3zemY01JzlzZEGwD7C kERpKtv4j4mUUm9L3ZImpqNe+OHAfwzRwoWROLoqcXTiL1MepYmlu+0hCoDXlaZapZFJHlMghslJ FJnf7dCyOKoworSREYcYAukqeWTkQKoAeO+kIQl5eK+PkptDccpUcRZhiPgjqTKd4p2TRGSGIJYI A2kAbC+LrDBE8qOpWo45SWI6y0UfTvbHEZWp6mSSafQzH4vkJ+chDIB9hRHdxWdGKUWL/0Wd2G8l irMJQ5OBKOnDk4bX6GdSw1qLCyINgNcKo0UakUhE5o1yOrUozioMcWTRkjqyKSGbJOjgBjiuSLyG u6V/YU5fxFuI4szC0N6MOaljmiGDTOkJUQAcM31MM59PC37GW4jiXYShiUMkP7JK+16SBMBnp45s w9/6McI48B9GlDrq2eNTQjgIA+D9hLH11yCME6cOCdJHy89AGADnFEbm89PCr0UYb5A6ZIFAsn8o SATguIJo+fppxX8HYZz8D6n75DcfAGE0ff3HtxEDf1ipdNDyh9LxhwVwOmkgB4Sx6h9Kxx8aAGJB GLDmHxb9FwCIAGEAf6gA8Ln0XAIAAEAYAACAMAAAAGEAAADCAACAs/JfAQYAL3iXmIlSiu4AAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 179.2061 198.1514)"
+   id="image77"></image><g
+   id="g79"><radialGradient
+   id="SVGID_5_"
+   cx="225.1929"
+   cy="226.1387"
+   r="30.8299"
+   gradientTransform="matrix(1 0 0 0.75 0 56.5347)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop82" /><stop
+   offset="0.4828"
+   style="stop-color:#FDFEFB"
+   id="stop84" /><stop
+   offset="0.7611"
+   style="stop-color:#F8FBF3"
+   id="stop86" /><stop
+   offset="0.989"
+   style="stop-color:#F2F8E8"
+   id="stop88" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop90" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.8025"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><path
+   fill="url(#SVGID_5_)"
+   d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801      v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path92" /><path
+   fill="none"
+   stroke="#EDF5E5"
+   stroke-width="5"
+   stroke-miterlimit="10"
+   d="M186.706,235.825      c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801      h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
+   id="path94" /></g></g><path
+   opacity="0.74"
+   fill="#FFFFFF"
+   a:adobe-blending-mode="lighten"
+   d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107    v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324    c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z"
+   id="path96" /><linearGradient
+   id="SVGID_6_"
+   gradientUnits="userSpaceOnUse"
+   x1="225.1929"
+   y1="204.3135"
+   x2="225.1929"
+   y2="246.626"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0"
+   id="stop99" /><stop
+   offset="0.0141"
+   style="stop-color:#FDFDFC;stop-opacity:2.231669e-04"
+   id="stop101" /><stop
+   offset="0.1344"
+   style="stop-color:#BEBEAF;stop-opacity:0.0148"
+   id="stop103" /><stop
+   offset="0.2565"
+   style="stop-color:#94957C;stop-opacity:0.0297"
+   id="stop105" /><stop
+   offset="0.3796"
+   style="stop-color:#747759;stop-opacity:0.0446"
+   id="stop107" /><stop
+   offset="0.5029"
+   style="stop-color:#5D633F;stop-opacity:0.0596"
+   id="stop109" /><stop
+   offset="0.6263"
+   style="stop-color:#4D552E;stop-opacity:0.0746"
+   id="stop111" /><stop
+   offset="0.75"
+   style="stop-color:#414B23;stop-opacity:0.0896"
+   id="stop113" /><stop
+   offset="0.8742"
+   style="stop-color:#3B461E;stop-opacity:0.1047"
+   id="stop115" /><stop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12"
+   id="stop117" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="0.2901"
+   style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
+   offset="1"
+   style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path
+   fill="url(#SVGID_6_)"
+   a:adobe-blending-mode="darken"
+   d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801    h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962    c0,0,10.063,0.328,10.801,10.799V221.954z"
+   id="path119" /></g><g
+   id="g121"><g
+   id="g123"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 216.5547)"
+   id="image125"></image><g
+   id="g127"><radialGradient
+   id="SVGID_7_"
+   cx="202.6289"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop130" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop132" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop134" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_7_)"
+   cx="202.629"
+   cy="219.704"
+   r="2.999"
+   id="circle136" /></g></g><g
+   id="g138"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 213.9448 216.5547)"
+   id="image140"></image><g
+   id="g142"><radialGradient
+   id="SVGID_8_"
+   cx="217.5439"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop145" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop147" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop149" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_8_)"
+   cx="217.544"
+   cy="219.704"
+   r="2.999"
+   id="circle151" /></g></g><g
+   id="g153"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 216.5547)"
+   id="image155"></image><g
+   id="g157"><radialGradient
+   id="SVGID_9_"
+   cx="232.459"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop160" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop162" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop164" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_9_)"
+   cx="232.459"
+   cy="219.704"
+   r="2.999"
+   id="circle166" /></g></g><g
+   id="g168"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 243.7749 216.5547)"
+   id="image170"></image><g
+   id="g172"><radialGradient
+   id="SVGID_10_"
+   cx="247.374"
+   cy="219.7041"
+   r="2.9995"
+   gradientTransform="matrix(1 0 0 0.75 0 54.926)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop175" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop177" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop179" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_10_)"
+   cx="247.374"
+   cy="219.704"
+   r="2.999"
+   id="circle181" /></g></g><g
+   id="g183"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg=="
+   transform="matrix(0.24 0 0 0.24 199.0298 230.2217)"
+   id="image185"></image><g
+   id="g187"><radialGradient
+   id="SVGID_11_"
+   cx="202.6289"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop190" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop192" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop194" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_11_)"
+   cx="202.629"
+   cy="233.37"
+   r="2.999"
+   id="circle196" /></g></g><g
+   id="g198"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 213.9448 230.2217)"
+   id="image200"></image><g
+   id="g202"><radialGradient
+   id="SVGID_12_"
+   cx="217.5439"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop205" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop207" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop209" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_12_)"
+   cx="217.544"
+   cy="233.37"
+   r="2.999"
+   id="circle211" /></g></g><g
+   id="g213"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC"
+   transform="matrix(0.24 0 0 0.24 228.8599 230.2217)"
+   id="image215"></image><g
+   id="g217"><radialGradient
+   id="SVGID_13_"
+   cx="232.459"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop220" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop222" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop224" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_13_)"
+   cx="232.459"
+   cy="233.37"
+   r="2.999"
+   id="circle226" /></g></g><g
+   id="g228"><image
+   overflow="visible"
+   opacity="0.25"
+   a:adobe-blending-mode="multiply"
+   a:adobe-opacity-share="1"
+   width="30"
+   height="30"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII="
+   transform="matrix(0.24 0 0 0.24 243.7749 230.2217)"
+   id="image230"></image><g
+   id="g232"><radialGradient
+   id="SVGID_14_"
+   cx="247.374"
+   cy="233.3711"
+   r="2.999"
+   gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
+   gradientUnits="userSpaceOnUse"><stop
+   offset="0.0123"
+   style="stop-color:#FFFFFF"
+   id="stop235" /><stop
+   offset="0.4235"
+   style="stop-color:#FAFCF6"
+   id="stop237" /><stop
+   offset="1"
+   style="stop-color:#F2F7E8"
+   id="stop239" /><a:midPointStop
+   offset="0.0123"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="0.6235"
+   style="stop-color:#FFFFFF" /><a:midPointStop
+   offset="1"
+   style="stop-color:#F2F7E8" /></radialGradient><circle
+   fill="url(#SVGID_14_)"
+   cx="247.374"
+   cy="233.37"
+   r="2.999"
+   id="circle241" /></g></g></g></g><path
+   d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
+   id="path243"
+   inkscape:connector-curvature="0"
+   style="fill:#f5f5f5" /><g
+   id="g245"
+   transform="translate(0,16)"><g
+   id="g247"><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path249"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path251"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path253"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path255"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path257"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path259"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path261"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path263"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path265"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path267"
+   inkscape:connector-curvature="0"
+   style="fill:#383838" /></g><g
+   id="g269"><linearGradient
+   id="SVGID_15_"
+   gradientUnits="userSpaceOnUse"
+   x1="324.1611"
+   y1="239.7637"
+   x2="324.1611"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop272" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop274" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path276"
+   style="fill:url(#SVGID_15_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_16_"
+   gradientUnits="userSpaceOnUse"
+   x1="377.45459"
+   y1="239.7637"
+   x2="377.45459"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop279" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop281" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
+   id="path283"
+   style="fill:url(#SVGID_16_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_17_"
+   gradientUnits="userSpaceOnUse"
+   x1="435.17719"
+   y1="239.7637"
+   x2="435.17719"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop286" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop288" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
+   id="path290"
+   style="fill:url(#SVGID_17_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_18_"
+   gradientUnits="userSpaceOnUse"
+   x1="474.83691"
+   y1="239.7637"
+   x2="474.83691"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop293" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop295" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
+   id="path297"
+   style="fill:url(#SVGID_18_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_19_"
+   gradientUnits="userSpaceOnUse"
+   x1="512.28223"
+   y1="239.7637"
+   x2="512.28223"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop300" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop302" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
+   id="path304"
+   style="fill:url(#SVGID_19_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_20_"
+   gradientUnits="userSpaceOnUse"
+   x1="546.65918"
+   y1="239.7637"
+   x2="546.65918"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop307" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop309" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
+   id="path311"
+   style="fill:url(#SVGID_20_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_21_"
+   gradientUnits="userSpaceOnUse"
+   x1="580.69629"
+   y1="239.7637"
+   x2="580.69629"
+   y2="155.32719"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop314" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop316" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
+   id="path318"
+   style="fill:url(#SVGID_21_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_22_"
+   gradientUnits="userSpaceOnUse"
+   x1="622.7832"
+   y1="239.7637"
+   x2="622.7832"
+   y2="155.3268"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop321" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop323" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
+   id="path325"
+   style="fill:url(#SVGID_22_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_23_"
+   gradientUnits="userSpaceOnUse"
+   x1="655.6709"
+   y1="239.7637"
+   x2="655.6709"
+   y2="155.3275"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop328" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop330" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
+   id="path332"
+   style="fill:url(#SVGID_23_)"
+   inkscape:connector-curvature="0" /><linearGradient
+   id="SVGID_24_"
+   gradientUnits="userSpaceOnUse"
+   x1="697.92969"
+   y1="239.7637"
+   x2="697.92969"
+   y2="155.3277"><stop
+   offset="0"
+   style="stop-color:#000000"
+   id="stop335" /><stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0"
+   id="stop337" /><a:midPointStop
+   offset="0"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="0.6933"
+   style="stop-color:#000000" /><a:midPointStop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
+   d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
+   id="path339"
+   style="fill:url(#SVGID_24_)"
+   inkscape:connector-curvature="0" /></g></g><g
+   id="g4141"
+   transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g
+   id="g4143"></g><g
+   id="g4165"><linearGradient
+   y2="155.3275"
+   x2="324.1611"
+   y1="239.7637"
+   x1="324.1611"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4167"><stop
+   id="stop4169"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4171"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="377.45459"
+   y1="239.7637"
+   x1="377.45459"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4175"><stop
+   id="stop4177"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4179"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="435.17719"
+   y1="239.7637"
+   x1="435.17719"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4183"><stop
+   id="stop4185"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4187"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="474.83691"
+   y1="239.7637"
+   x1="474.83691"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4191"><stop
+   id="stop4193"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4195"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="512.28223"
+   y1="239.7637"
+   x1="512.28223"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4199"><stop
+   id="stop4201"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4203"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="546.65918"
+   y1="239.7637"
+   x1="546.65918"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4207"><stop
+   id="stop4209"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4211"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.32719"
+   x2="580.69629"
+   y1="239.7637"
+   x1="580.69629"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4215"><stop
+   id="stop4217"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4219"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3268"
+   x2="622.7832"
+   y1="239.7637"
+   x1="622.7832"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4223"><stop
+   id="stop4225"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4227"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3275"
+   x2="655.6709"
+   y1="239.7637"
+   x1="655.6709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4231"><stop
+   id="stop4233"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4235"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient><linearGradient
+   y2="155.3277"
+   x2="697.92969"
+   y1="239.7637"
+   x1="697.92969"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4239"><stop
+   id="stop4241"
+   style="stop-color:#000000"
+   offset="0" /><stop
+   id="stop4243"
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0" /><a:midPointStop
+   style="stop-color:#000000"
+   offset="0.6933" /><a:midPointStop
+   style="stop-color:#000000;stop-opacity:0"
+   offset="1" /></linearGradient></g></g></svg>
+    </a>
+
+    <div class="spinner" id='spinner'></div>
+    <div class="emscripten" id="status">Downloading...</div>
+
+<span id='controls'>
+  <span><input type="checkbox" id="resize">Resize canvas</span>
+  <span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
+  <span><input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked, 
+                                                                            document.getElementById('resize').checked)">
+  </span>
+</span>
+
+    <div class="emscripten">
+      <progress value="0" max="100" id="progress" hidden=1></progress>
+    </div>
+
+    
+    <div class="emscripten_border">
+      <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
+    </div>
+    <textarea id="output" rows="8"></textarea>
+
+    <script type='text/javascript'>
+      var statusElement = document.getElementById('status');
+      var progressElement = document.getElementById('progress');
+      var spinnerElement = document.getElementById('spinner');
+
+      var Module = {
+        preRun: [],
+        postRun: [],
+        print: (function() {
+          var element = document.getElementById('output');
+          if (element) element.value = ''; // clear browser cache
+          return function(text) {
+            if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+            // These replacements are necessary if you render to raw HTML
+            //text = text.replace(/&/g, "&amp;");
+            //text = text.replace(/</g, "&lt;");
+            //text = text.replace(/>/g, "&gt;");
+            //text = text.replace('\n', '<br>', 'g');
+            console.log(text);
+            if (element) {
+              element.value += text + "\n";
+              element.scrollTop = element.scrollHeight; // focus on bottom
+            }
+          };
+        })(),
+        printErr: function(text) {
+          if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
+          if (0) { // XXX disabled for safety typeof dump == 'function') {
+            dump(text + '\n'); // fast, straight to the real console
+          } else {
+            console.error(text);
+          }
+        },
+        canvas: (function() {
+          var canvas = document.getElementById('canvas');
+
+          // As a default initial behavior, pop up an alert when webgl context is lost. To make your
+          // application robust, you may want to override this behavior before shipping!
+          // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
+          canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
+
+          return canvas;
+        })(),
+        setStatus: function(text) {
+          if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
+          if (text === Module.setStatus.text) return;
+          var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
+          var now = Date.now();
+          if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
+          if (m) {
+            text = m[1];
+            progressElement.value = parseInt(m[2])*100;
+            progressElement.max = parseInt(m[4])*100;
+            progressElement.hidden = false;
+            spinnerElement.hidden = false;
+          } else {
+            progressElement.value = null;
+            progressElement.max = null;
+            progressElement.hidden = true;
+            if (!text) spinnerElement.style.display = 'none';
+          }
+          statusElement.innerHTML = text;
+        },
+        totalDependencies: 0,
+        monitorRunDependencies: function(left) {
+          this.totalDependencies = Math.max(this.totalDependencies, left);
+          Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
+        }
+      };
+      Module.setStatus('Downloading...');
+      window.onerror = function(event) {
+        // TODO: do not warn on ok events like simulating an infinite loop or exitStatus
+        Module.setStatus('Exception thrown, see JavaScript console');
+        spinnerElement.style.display = 'none';
+        Module.setStatus = function(text) {
+          if (text) Module.printErr('[post-exception status] ' + text);
+        };
+      };
+    </script>
+    <script>
+
+          (function() {
+            var memoryInitializer = 'bigWigToWig_static.js.html.mem';
+            if (typeof Module['locateFile'] === 'function') {
+              memoryInitializer = Module['locateFile'](memoryInitializer);
+            } else if (Module['memoryInitializerPrefixURL']) {
+              memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer;
+            }
+            var xhr = Module['memoryInitializerRequest'] = new XMLHttpRequest();
+            xhr.open('GET', memoryInitializer, true);
+            xhr.responseType = 'arraybuffer';
+            xhr.send(null);
+          })();
+
+          var script = document.createElement('script');
+          script.src = "bigWigToWig_static.js.js";
+          document.body.appendChild(script);
+
+</script>
+  </body>
+</html>
diff --git a/bedTools/bigWigToWig_static.js.html.mem b/bedTools/bigWigToWig_static.js.html.mem
new file mode 100644
index 0000000000000000000000000000000000000000..c813451581c5dd8cda1ad0cb7711e36468867dfd
Binary files /dev/null and b/bedTools/bigWigToWig_static.js.html.mem differ
diff --git a/bedTools/bigWigToWig_static.js.js b/bedTools/bigWigToWig_static.js.js
new file mode 100644
index 0000000000000000000000000000000000000000..499f1d1be03492d3b6d58564e164266a915381e0
--- /dev/null
+++ b/bedTools/bigWigToWig_static.js.js
@@ -0,0 +1,16 @@
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+27008;__ATINIT__.push();memoryInitializer="bigWigToWig_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=kc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=21006;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=21033;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=hc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=20983;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=21006;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=21053;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=pi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=21117;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=21146;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=hc(o,q,r)|0;else o=kc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=pi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=21320;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=hc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11204+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=21341;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=kc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}fe(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11204+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Rb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=21182;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=9028;c[H>>2]=9;c[I>>2]=11076;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=21098;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=21207;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=21207;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=21233;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Rb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=21270;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Rb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21298;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=kc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Vb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=21416;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;fe(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=kc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=21394;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=kc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=21078;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=kc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=21364;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Hc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=hc(j,h,k)|0;else h=kc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6076]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=24344+(b<<1<<2)|0;e=d+8|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[6080]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6076]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6078]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=24344+(b<<1<<2)|0;e=d+8|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[6080]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6078]|0;break}else Za()}else{c[6076]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6081]|0;b=l>>>3;d=24344+(b<<1<<2)|0;a=c[6076]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{m=a;n=b}}else{c[6076]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6078]=h;c[6081]=e;N=j;i=O;return N|0}a=c[6077]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24608+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6080]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24608+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6077]=c[6077]&~(1<<a);break}}else{if(h>>>0<(c[6080]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6080]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6080]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6078]|0;if(a|0){f=c[6081]|0;b=a>>>3;e=24344+(b<<1<<2)|0;a=c[6076]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{r=a;s=b}}else{c[6076]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6078]=d;c[6081]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6077]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24608+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24608+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6078]|0)-q|0)>>>0:0){f=c[6080]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24608+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6077]=c[6077]&~(1<<a);break}}else{if(g>>>0<(c[6080]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6080]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6080]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=24344+(a<<1<<2)|0;b=c[6076]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{w=a;x=b}}else{c[6076]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24608+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6077]|0;b=1<<d;if(!(a&b)){c[6077]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6080]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6078]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6081]|0;if(a>>>0>15){N=b+q|0;c[6081]=N;c[6078]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6078]=0;c[6081]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6079]|0;if(a>>>0>q>>>0){L=a-q|0;c[6079]=L;N=c[6082]|0;M=N+q|0;c[6082]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6194]|0)){c[6196]=4096;c[6195]=4096;c[6197]=-1;c[6198]=-1;c[6199]=0;c[6187]=0;x=p&-16^1431655768;c[p>>2]=x;c[6194]=x}h=q+48|0;g=c[6196]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6186]|0;if(a|0?(w=c[6184]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6187]&4)){a=c[6082]|0;c:do if(a){d=24752;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6079]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6195]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6184]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6186]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6196]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6187]=c[6187]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6184]|0)+f|0;c[6184]=a;if(a>>>0>(c[6185]|0)>>>0)c[6185]=a;j=c[6082]|0;do if(j){e=24752;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6079]|0)|0;c[6082]=M;c[6079]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6083]=c[6198];break}a=c[6080]|0;if(h>>>0<a>>>0){c[6080]=h;k=h}else k=a;d=h+f|0;a=24752;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24752;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6081]|0)){N=(c[6078]|0)+g|0;c[6078]=N;c[6081]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24608+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6080]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6077]=c[6077]&~(1<<b);break e}while(0);e=c[6080]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6080]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=24344+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6076]=c[6076]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=24344+(a<<1<<2)|0;b=c[6076]|0;a=1<<a;do if(!(b&a)){c[6076]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6080]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24608+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6077]|0;b=1<<d;if(!(a&b)){c[6077]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6080]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6079]|0)+g|0;c[6079]=N;c[6082]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24752;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6082]=N;c[6079]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6083]=c[6198];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6188];c[a+4>>2]=c[6189];c[a+8>>2]=c[6190];c[a+12>>2]=c[6191];c[6188]=h;c[6189]=f;c[6191]=0;c[6190]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=24344+(a<<1<<2)|0;b=c[6076]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{J=a;K=b}}else{c[6076]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24608+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6077]|0;b=1<<d;if(!(a&b)){c[6077]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6080]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6080]|0;if((N|0)==0|h>>>0<N>>>0)c[6080]=h;c[6188]=h;c[6189]=f;c[6191]=0;c[6085]=c[6194];c[6084]=-1;a=0;do{N=24344+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6082]=M;c[6079]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6083]=c[6198]}while(0);a=c[6079]|0;if(a>>>0>q>>>0){L=a-q|0;c[6079]=L;N=c[6082]|0;M=N+q|0;c[6082]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(Rh()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0}while((Wi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=$c(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[24136+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=$c(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[24145+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=$c(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=$c(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Rh()|0)>>2]=22;Wf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=$c(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=$c(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;k=Ih(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Ih(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=$c(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else Wf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Ih(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=qc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){Wf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=jh(o|0,n|0,2)|0;H=Ih(H|0,C|0,-32,-1)|0;e=Ih(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Rh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(Rh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Ih(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=th(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Ih(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+hj(+Jd(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Rh()|0)>>2]=34;g=+ij(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=$c(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Ih(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Ih(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=$c(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=qc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){Wf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Ih(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Rh()|0)>>2]=22;Wf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Rh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(Rh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8996+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8996+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8996+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=jh(c[p>>2]|0,0,29)|0;o=Ih(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=ki(o|0,n|0,1e9,0)|0;o=ug(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+hj(+Jd(1.0,105-o|0),j);m=+qj(j,+Jd(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+qj(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Rh()|0)>>2]=34}while(0);g=+ij(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Rh()|0)>>2]=22;Wf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Rh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Sc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[21444+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}pc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=nh(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21924;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21924;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=th(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21924;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21924:21926;L=76}else{p=1;r=21925;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21924;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21924;o=N;break}case 109:{o=ge(c[(Rh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23826;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){wd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23834:23839}else{G=1;H=23836}else{q=-q;G=1;H=23833}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+jj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=_d(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21908+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;wd(e,32,K,r,I);if(!(c[e>>2]&32))Sc(y,w,e)|0;wd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Sc(ea,o,e)|0;f=ba-p|0;wd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Sc(t,f,e)|0;wd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=jh(c[r>>2]|0,0,t|0)|0;B=Ih(B|0,C|0,o|0,0)|0;o=C;A=ug(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=ki(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=_d(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;wd(e,32,K,w,I);if(!(c[e>>2]&32))Sc(H,G,e)|0;wd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=_d(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ke(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Sc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Sc(23864,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=_d(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ke(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Sc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}wd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=_d(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Sc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Sc(23864,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ke(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Sc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}wd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Sc(u,ba-u|0,e)|0}while(0);wd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;wd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Sc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Sc(s?(t?24145:23860):t?23852:23856,3,e)|0;wd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21924;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21908+(o&15)>>0]|r;o=nh(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21924;L=77}else{o=t;t=2;r=21924+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21924;L=77}}else if((L|0)==76){f=_d(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Ic(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21924;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=ei(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}wd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=ei(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Sc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;wd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;wd(e,32,o,s,p);if(!(c[e>>2]&32))Sc(v,w,e)|0;wd(e,48,o,s,p^65536);wd(e,48,r,t,0);if(!(c[e>>2]&32))Sc(f,t,e)|0;wd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;pc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Ij(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Wi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Wf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=$c(e)|0}while((Wi(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Wf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if(($c(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ke(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ke(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=$c(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(xc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=ee(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(li(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=$c(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=ee(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=$c(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=$c(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Ub(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Wf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=$c(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Wi(d[m>>0]|0)|0))break;else n=m}Wf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=$c(e)|0}while((Wi(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)Hj(e);i=P;return k|0}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Ih(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if((c[33]|0)==0?(gf(c[a+8>>2]|0,19640)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Ih(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Ih(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Ih(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Ih(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=th(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Ih(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=th((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=th(k|0,j|0,f|0,d|0)|0;fe(b|0,B+f|0,o|0)|0;e=Ih(o|0,E|0,e|0,n|0)|0;f=C;d=th(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Ih(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Fg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=$d(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Ih(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=th(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(c[33]|0){y=Ih(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Ih(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=ki(k|0,j|0,w|0,0)|0;t=Ih(A|0,B|0,-1,-1)|0;t=Ih(t|0,C|0,w|0,0)|0;w=ki(t|0,C|0,w|0,0)|0;t=m+52|0;Ff(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((Gi(u,d,s)|0)<(s|0))f=0;else{fj(u);j=B;k=A;continue}while(1){o=Gi(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=Pi(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Gg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Gg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Ih(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=th(f|0,j|0,p|0,q|0)|0;k=C;f=de(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Fg(Z,c[K>>2]|0,p,0)|0;ef(Z,c[K>>2]|0,f,j);gi(W)}Td(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Fg(P,c[t>>2]|0,da+64|0,0)|0;ef(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}fj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Fg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}hf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Vh(19652,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;ph(4,19708,$);ph(4,19754,aa);S=0;T=0;break}else if((n|0)==36){hf(Z,j,f,h);S=ba;S=Ih(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Ih(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Pb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+272|0;H=J+224|0;D=J+200|0;q=J+192|0;s=J+152|0;k=J+144|0;e=J+136|0;I=J+56|0;v=J+48|0;w=J+264|0;B=J+260|0;A=J+256|0;x=J+252|0;z=J+40|0;y=J+248|0;E=J+268|0;G=J+244|0;h=J+240|0;n=J+236|0;g=J+232|0;o=J+228|0;p=J;m=(d|0)==0?c[33]|0:d;c[I>>2]=b;c[I+4>>2]=m;ph(4,19870,I);if(0){c[e>>2]=b;dh(0,19891,e)|0}c[h>>2]=0;c[n>>2]=0;kd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){fj(d);u=Nh(19640)|0;c[h>>2]=u;fj(c[n>>2]|0);c[n>>2]=Nh(b)|0;j=1}else{u=d;j=0}h=u;g=$d(16)|0;do if(!(gf(u,19900)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=19900}else{if(!(gf(u,20135)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=20135;break}if(gf(u,19029)|0?gf(u,20296)|0:0){if(!(gf(u,20302)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=20302;break}if(!(gf(u,19640)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=19640;break}else{c[k>>2]=u;Vh(20338,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=19029}while(0);c[o>>2]=g;d=p;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(c[33]|0?(l=(ue(b,m)|0)>>>0<0,l):0){g=l&1;t=22;break}if(!(Ib[c[g+8>>2]&7](b,p)|0)){gi(o);fj(u);fj(c[n>>2]|0);d=0}else{g=0;t=22}}else{g=0;t=22}while(0);do if((t|0)==22){d=$d(312)|0;c[d+4>>2]=Nh(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;Yc(d,m,u,e);r=(g|0)==0;if(r){c[d+16>>2]=c[p>>2];o=p+8|0;b=c[o+4>>2]|0;g=d+24|0;c[g>>2]=c[o>>2];c[g+4>>2]=b;g=d+112|0;p=p+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];c[g+16>>2]=c[p+16>>2];c[g+20>>2]=c[p+20>>2];g=c[33]|0;if(!(0<1|(g|0)==0)){g=d+44|0;if(!(Gh(c[g>>2]|0)|0))t=29;else{ae(c[g>>2]|0)|0;t=29}}}else t=29;if((t|0)==29)g=c[33]|0;if(g){Ad(c[d+40>>2]|0);p=d+44|0;n=zc(c[p>>2]|0)|0;c[G>>2]=n;do if(n){if(r){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){K=o;l=d+24|0;q=l;if((c[K>>2]|0)==(c[q>>2]|0)?(c[K+4>>2]|0)==(c[q+4>>2]|0):0){if(Gh(c[d+48>>2]|0)|0){f=n;F=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;K=d+48|0;q=c[K>>2]|0;l=s;c[l>>2]=h;c[l+4>>2]=g;g=s+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=s+16|0;c[g>>2]=k;c[g+4>>2]=m;g=s+24|0;c[g>>2]=n;c[g+4>>2]=o;c[s+32>>2]=q;c[s+36>>2]=b;ph(4,20427,s);ai(G);uf(c[p>>2]|0)|0;uf(c[K>>2]|0)|0;g=d+52|0;if(Gh(c[g>>2]|0)|0)uf(c[g>>2]|0)|0;g=c[G>>2]|0;if(!g){g=b+1|0;t=45}else{f=g;F=d+24|0}}else{c[q>>2]=c[p>>2];ph(4,20518,q);g=0;t=45}while(0);if((t|0)==45){K=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=I;c[j>>2]=K;c[j+4>>2]=((K|0)<0)<<31>>31;j=v;c[j>>2]=h;c[j+4>>2]=k;c[w>>2]=g;j=Ed(c[p>>2]|0,577)|0;c[B>>2]=j;c[A>>2]=1099424502;c[x>>2]=8192;g=z;c[g>>2]=0;c[g+4>>2]=0;c[y>>2]=0;k=Ih(h|0,k|0,8191,0)|0;k=nh(k|0,C|0,13)|0;Xe(j,A,4);Xe(j,x,4);Xe(j,I,8);Xe(j,v,8);Xe(j,w,4);Xe(j,y,4);Xe(j,z,8);Xe(j,z,8);Xe(j,z,8);Xe(j,z,8);g=d+136|0;h=Fg(g,j,0,1)|0;if((h|0)!=64){K=c[p>>2]|0;c[D>>2]=j;c[D+4>>2]=K;K=D+8|0;c[K>>2]=h;c[K+4>>2]=((h|0)<0)<<31>>31;c[D+16>>2]=64;Vh(20568,D)}a[E>>0]=0;Fg(g,j,((k+7|0)/8|0)+-1|0,1)|0;ef(g,j,E,1);Xf(B);c[B>>2]=Ed(c[d+48>>2]|0,577)|0;Xf(B);g=zc(c[p>>2]|0)|0;c[G>>2]=g;if(!g){c[H>>2]=c[p>>2];Vh(20635,H)}else{f=g;F=l}}c[d+104>>2]=c[f+24>>2];K=F;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0)){f=xf(c[f+52>>2]|0,0,1)|0;Fd(c[(c[G>>2]|0)+52>>2]|0,I,1);H=F;H=Ih(c[H>>2]|0,c[H+4>>2]|0,8191,0)|0;H=nh(H|0,C|0,13)|0;H=(Gi(I,0,(H|0)>8?8:H)|0)<<13;K=d+96|0;c[K>>2]=H;c[K+4>>2]=((H|0)<0)<<31>>31;Fg(d+136|0,c[(c[G>>2]|0)+52>>2]|0,f,0)|0;f=c[G>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Ed(c[d+48>>2]|0,2)|0;if(mg(19029,u)|0){c[I>>2]=0;j=d+52|0;if(Gh(c[j>>2]|0)|0)eg(c[j>>2]|0,I,0);do if(r){f=d+132|0;g=c[f>>2]|0;h=c[I>>2]|0;if(!g){if(!h)break;uf(c[j>>2]|0)|0;break}else{if(!(Hg(g,h)|0))break;K=Zf(c[j>>2]|0,20665)|0;H=c[f>>2]|0;Jg(K,H,Nd(H)|0);Ng(K,c[j>>2]|0)|0;fj(K);break}}else c[d+132>>2]=Nh(c[I>>2]|0)|0;while(0);fj(c[I>>2]|0)}}}else{if(!(Gh(b)|0)){d=0;break}K=Ed(b,0)|0;c[d+56>>2]=K;se(K,I)|0;K=d+88|0;c[K>>2]=0;c[K+4>>2]=0;I=c[I+36>>2]|0;K=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=K;e=d+96|0;c[e>>2]=I;c[e+4>>2]=K;e=c[n>>2]|0}fj(e)}while(0);i=J;return d|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6080]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6081]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6078]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=24344+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6076]=c[6076]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=24608+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6077]=c[6077]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6080]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6080]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6080]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6082]|0)){p=(c[6079]|0)+g|0;c[6079]=p;c[6082]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6081]|0))return;c[6081]=0;c[6078]=0;return}if((m|0)==(c[6081]|0)){p=(c[6078]|0)+g|0;c[6078]=p;c[6081]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=24608+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6077]=c[6077]&~(1<<a);break}}else{if(f>>>0<(c[6080]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6080]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6080]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=24344+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6080]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6076]=c[6076]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6080]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6081]|0)){c[6078]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=24344+(a<<1<<2)|0;b=c[6076]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6080]|0)>>>0)Za();else{o=a;p=b}}else{c[6076]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24608+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6077]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6080]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6080]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6077]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6084]|0)+-1|0;c[6084]=q;if(!q)a=24760;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6084]=-1;return}function Rb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10792;C=256;D=10918}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11242;C=-1;D=11368}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Sb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6080]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6081]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6078]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=24344+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6076]=c[6076]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=24608+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6077]=c[6077]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6080]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6080]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6080]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6080]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6082]|0)){q=(c[6079]|0)+g|0;c[6079]=q;c[6082]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6081]|0))return;c[6081]=0;c[6078]=0;return}if((o|0)==(c[6081]|0)){q=(c[6078]|0)+g|0;c[6078]=q;c[6081]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=24608+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6077]=c[6077]&~(1<<d);break}}else{if(f>>>0<(c[6080]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6080]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6080]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=24344+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6076]=c[6076]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6081]|0)){c[6078]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=24344+(d<<1<<2)|0;a=c[6076]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6080]|0)>>>0)Za();else{p=d;q=a}}else{c[6076]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24608+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6077]|0;a=1<<b;if(!(d&a)){c[6077]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6080]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6080]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Tb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Zh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(Ne(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Ic(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Rh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0}while((Wi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=$c(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=$c(b)|0;if((d[23871+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Wf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23871+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Wf(b,0);c[(Rh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=$c(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Gg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Ih(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[24127+((e*23|0)>>>5&7)>>0]|0;j=a[23871+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;j=a[23871+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=nh(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=jh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;j=a[23871+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23871+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;j=a[23871+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=ki(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Gg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Ih(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0;j=a[23871+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23871+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=$c(b)|0}while((d[23871+i>>0]|0)>>>0<e>>>0);c[(Rh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Rh()|0)>>2]=34;g=Ih(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Rh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=th(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Vb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=21364;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=21394;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=21416;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Wb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=le(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(gf(r,17045)|0)){j=g;h=k;N=4;break}s=Zh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Wi(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Nd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(Qi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)si(Q,o,(m|0)==0?17467:m)|0;else{l=Ug(o,f)|0;if(!l){l=Ug(o,68)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}ni(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}mi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+cj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+cj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17467:m;l=Ug(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=Kh(Q,o)|0;l=uh(m)|0;if(!n){si(Q,o,l)|0;break}else{kh(n,l);break}}si(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Vh(17056,z);break}case 34:{c[A>>2]=o;Vh(17082,A);break}case 36:{c[K>>2]=o;Vh(17121,K);break}case 38:{c[L>>2]=o;Vh(17157,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Vh(17190,B);break}case 43:{c[C>>2]=o;Vh(17157,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Vh(17232,D);break}case 48:{c[E>>2]=o;Vh(17276,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Vh(17311,F);break}case 53:{c[G>>2]=o;Vh(17351,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Vh(17387,H);break}case 57:{c[I>>2]=c[l>>2];Vh(17428,I);break}case 65:{Vh(17470,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Tb(d,13702)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){Me(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(og(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(Rh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(mg(14514,f)|0))m=c[F>>2]|0;else{Hf(F)|0;f=Hf(F)|0;if(!f){O=20;break a}if((((mg(15154,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(gf(f,15157)|0)if(gf(f,15161)|0){if(I?(g=gf(f,15165)|0,!((H|g|0)==0&G)):0)if(!(gf(f,15169)|0)){f=o;break}else{O=30;break a}if(!(gf(f,15256)|0)){O=34;break a}if(!(gf(f,15165)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Zh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=oh(f+1|0)|0}if(!(mf(m,15308)|0)){if(o|0)c[e>>2]=Nh(f)|0;if(k)h=Nh(f)|0}}while(!(I&(mf(m,15317)|0)==0));if((mg(15331,f)|0)!=0?(q=(Zh(f,32)|0)+1|0,r=Zh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=id(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=id(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=ge(f)|0;c[z+4>>2]=d;Ch(14965,z);f=0;break}case 10:{c[v>>2]=d;Ch(15002,v);f=0;break}case 11:{c[x>>2]=d;Ch(15058,x);f=0;break}case 15:{c[y>>2]=2e3;Ch(15090,y);f=0;break}case 20:{c[u>>2]=d;Ch(15128,u);f=0;break}case 30:{if(!g)Ch(15173,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Ch(15216,E);f=0;break}case 34:{c[w>>2]=d;Ch(15260,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Ch(15285,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Sg(N,256,13804,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Ch(15338,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24928:15432;c[K+8>>2]=f?15157:15161;c[K+12>>2]=h|0?h:15448;Ch(15458,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;Sg(N,256,13804,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Ch(15499,M);f=0}break}}i=P;return f|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=wi(h)|0;c[b+16>>2]=e;f=sd(c[f>>2]|0)|0;if(!f){s=0;break}s=Nd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;fj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}je(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)Lf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=jg(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;je(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;_f(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Pd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Vh(18581,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Pd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Pd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Zb(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 j=0,k=0,l=0,m=0,n=0.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,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+160|0;T=V+96|0;Q=V+88|0;P=V+72|0;O=V+56|0;N=V+48|0;R=V+24|0;M=V+8|0;G=V+144|0;L=V+120|0;U=V+112|0;K=V+108|0;J=V+104|0;if((c[a+12>>2]|0)!=-2003829722)Vh(18072,V);Yf(a);k=Be(a,c[a+96>>2]|0,b,d,e,0)|0;c[U>>2]=k;H=c[a+8>>2]|0;I=a+80|0;j=c[I>>2]|0;if(!j)S=0;else S=de(j)|0;F=(S|0)==0;y=a+16|0;z=L+20|0;A=L+4|0;B=L+8|0;D=L+16|0;E=L+12|0;j=0;a:while(1){if(!k){a=38;break}re(k,K,J);x=k+8|0;u=c[x>>2]|0;x=c[x+4>>2]|0;v=c[K>>2]|0;t=v+8|0;v=v+16|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=th(c[t>>2]|0,c[t+4>>2]|0,u|0,x|0)|0;v=Ih(t|0,C|0,w|0,v|0)|0;w=C;Af(H,u,x);x=de(v)|0;Ce(H,x,v,w);w=x;while(1){if((k|0)==(c[J>>2]|0))break;v=k+16|0;a=c[v>>2]|0;if(F){u=w+a|0;a=w}else{u=S+(Ve(w,a,S,c[I>>2]|0)|0)|0;a=S}t=c[y>>2]|0;c[G>>2]=a;Gd(G,L,t);r=c[z>>2]|0;s=r>>>16&65535;b:do switch(r&255|0){case 1:{p=c[A>>2]|0;o=c[B>>2]|0;c[M>>2]=b;c[M+4>>2]=p;c[M+8>>2]=o;dh(g,18127,M)|0;o=(f|0)==0;p=0;a=0;while(1){if((p&65535)>=(s&65535))break b;l=gg(G,t)|0;m=gg(G,t)|0;n=+we(G,t);if((Lh(d,e,l,m)|0)>0){c[R>>2]=b;c[R+4>>2]=l;c[R+8>>2]=m;h[R+16>>3]=n;dh(g,18155,R)|0;a=a+1|0;if(!(o|(a|0)<(f|0)))break b}p=p+1<<16>>16}}case 2:{m=c[D>>2]|0;c[N>>2]=b;c[N+4>>2]=m;dh(g,18168,N)|0;o=(f|0)==0;p=0;a=0;while(1){if((p&65535)>=(s&65535))break b;l=gg(G,t)|0;n=+we(G,t);if((Lh(d,e,l,l+m|0)|0)>0){c[O>>2]=l+1;h[O+8>>3]=n;dh(g,18199,O)|0;a=a+1|0;if(!(o|(a|0)<(f|0)))break b}p=p+1<<16>>16}}case 3:{m=c[D>>2]|0;o=c[E>>2]|0;p=(f|0)==0;l=0;q=0;a=0;r=c[A>>2]|0;while(1){if((q&65535)>=(s&65535))break b;n=+we(G,t);if((Lh(d,e,r,r+m|0)|0)>0){if(!l){c[P>>2]=b;c[P+4>>2]=r+1;c[P+8>>2]=o;c[P+12>>2]=m;dh(g,18206,P)|0;l=1}h[Q>>3]=n;dh(g,18251,Q)|0;a=a+1|0;if(!(p|(a|0)<(f|0)))break b}q=q+1<<16>>16;r=r+o|0}}default:{a=30;break a}}while(0);if(!((f|0)!=0&(f|0)<=(a|0)|(c[G>>2]|0)==(u|0))){a=32;break a}j=a+j|0;if(!f)f=0;else{if((f|0)<=(a|0)){k=0;break}f=f-a|0}k=c[k>>2]|0;w=w+(c[v>>2]|0)|0}fj(x)}if((a|0)==30){c[T>>2]=18056;c[T+4>>2]=142;Vh(20306,T)}else if((a|0)==32)Da(18255,18056,145,18320);else if((a|0)==38){fj(S);lh(U);i=V;return j|0}return 0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((mg(18644,b)|0)==0?(mg(18652,b)|0)==0:0)?(mg(18661,b)|0)==0:0){c[j>>2]=b;Vh(18724,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;ph(4,18668,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=th(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;ph(4,18959,m);Xf(x);j=h+128|0;if((c[j>>2]|0)>0)Xf(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;ph(4,18806,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6062]|0)){c[6062]=$d(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=cf(j,k,c[6062]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=th(l|0,m|0,n|0,I|0)|0;J=C;I=Ih(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;Uf(18855,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=Ih(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Vh(18908,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=Ih(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=he(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;Sg(y,2048,19010,z)|0;j=fc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(mg(19029,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Gc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){fj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Vh(19034,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=cf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)Uf(19063,G);else F=j;K=h+120|0;J=K;J=Ih(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6080]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6196]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Sb(m,d);return a|0}if((k|0)==(c[6082]|0)){d=(c[6079]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6082]=l;c[6079]=m;return a|0}if((k|0)==(c[6081]|0)){e=(c[6078]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6078]=d;c[6081]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=24608+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6077]=c[6077]&~(1<<d);break}}else{if(h>>>0<(c[6080]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6080]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6080]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=24344+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6076]=c[6076]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Sb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;dh(0,20688,b)|0}b=d+112|0;if(c[b>>2]|0)Xf(b);b=d+128|0;if(c[b>>2]|0)Xf(b);fj(c[d+4>>2]|0);fj(c[d+8>>2]|0);gi(d+12|0);fj(c[d+40>>2]|0);fj(c[d+44>>2]|0);fj(c[d+48>>2]|0);fj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Xf(b);ai(d+80|0)}gi(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(12203,12223,448,12239);h=ya()|0;c[s>>2]=h;if((h|0)<0)Uf(12252,l);if(h|0)if(!(Lg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;Uf(12790,k)}r=$h()|0;c[s>>2]=r;if(Lg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;Uf(12263,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=zg(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}Of(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))Sf(t);if(c[k>>2]|0)Sf(m);g=0;f=0;j=h;h=k}if((b|0)==14)Uf(12252,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){hd(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];Uf(12497,o)}hd(k,0,h,e);h=ng(1,f,g)|0;if((h|0)<0)Uf(12408,p);if((h|0)==(g|0)){Tg(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Vh(12443,q)}}else if((b|0)==28){Tg(0)|0;Tg(1)|0;mh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;Of(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)Uf(12570,u);else if((b|0)==35){c[v>>2]=h;Vh(12585,v)}else if((b|0)==39){v=Pe(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Vh(12615,w)}else if((b|0)==41)Da(12670,12223,242,12694);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2112]|0;v=Pe(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;dh(h,12713,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12760,12223,396,12780);else if((b|0)==49)_a(0)}}function cc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Pf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Pf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Ih(m|0,l|0,-1,-1)|0;d=C;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;th(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=th(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(Le(a,b,d)|0){b=Ah()|0;if((b|0)>=0){if((Rd(b,1)|0)<0){Tg(b)|0;b=-1;break}b:do if((bf(b,d,16)|0)<0){n=Rh()|0;d=c[n>>2]|0;if((d|0)!=115){w=ge(d)|0;c[e>>2]=d;c[e+4>>2]=w;Ch(13638,e);Tg(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Df(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=ge(d)|0;c[t>>2]=d;c[t+4>>2]=C;Ch(13414,t);Tg(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Ch(13546,u);Tg(b)|0;e=23;break}c[r>>2]=4;do if((Qe(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=ge(d)|0;c[w>>2]=d;c[w+4>>2]=C;Ch(13502,w);Tg(b)|0;break}}else{B=c[n>>2]|0;C=ge(B)|0;c[v>>2]=B;c[v+4>>2]=C;Ch(13472,v);Tg(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Rd(b,0)|0)<0){Tg(b)|0;b=-1;break}if((kf(b,120)|0)<0){Tg(b)|0;b=-1}}}else b=-1;else{Ch(13294,x+24|0);b=-1}while(0);i=x;return b|0}function ec(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,Lf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ke(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(ec(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(Rh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Tb(b,13698)|0))e=_e(b,0,r)|0;else{if((mg(18644,b)|0)==0?(mg(18652,b)|0)==0:0){if(!(mg(18661,b)|0)){c[g>>2]=b;Vh(14898,g)}jc(b,o);if(gf(o,20302)|0){c[f>>2]=b;Vh(14561,f)}b=o+4112|0;g=jd(b,Kd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(Ph(g,14608,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,Sg(m,256,14615,j)|0,(Ph(g,m,0,0)|0)==0):0){Tg(g)|0;e=-1;break}j=o+6176|0;s=(a[(Nd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14627:14632;c[k+4>>2]=j;Sg(m,256,14637,k)|0;Di(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Zh(j,40)|0;a[(Zh(j,41)|0)>>0]=0;if((Ae(s+1|0,14645,k,7)|0)!=6)Vh(14647,h);f=(Kd(c[k+16>>2]|0)|0)<<8;f=dc(b,(Kd(c[k+20>>2]|0)|0)+f|0)|0;Xh(l);if((f|0)<0){Tg(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((ld(f,1e6)|0)>0){b=26;break}if((ld(g,0)|0)>0?(vc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Ch(14683,n);Tg(g)|0;Tg(f)|0;e=-1;break}else if((b|0)==24){Tg(g)|0;Tg(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}od(c[2141]|0)|0;od(c[2082]|0)|0;od(c[2112]|0)|0;b=$d(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;fe(b+20|0,o|0,10280)|0;f=b+4|0;if(qh(f)|0){c[p>>2]=ge(c[(Rh()|0)>>2]|0)|0;Vh(14748,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=ge(b)|0;c[q>>2]=b;c[q+4>>2]=s;Vh(14852,q)}}}else{Tg(g)|0;e=-1}while(0)}break}e=oi(b,14542,0)|0}while(0);i=r;return e|0}function gc(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=nh(d|0,m|0,52)|0;e=e&2047;j=nh(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=jh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=jh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=jh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=jh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=jh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=jh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=jh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=jh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=th(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=jh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=th(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=jh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Ih(d|0,f|0,0,-1048576)|0;d=C;e=jh(e|0,0,52)|0;d=d|C;e=o|e}else{e=nh(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;jc(b,h);if(gf(h,20302)|0){c[g>>2]=b;Vh(13827,g)}b=h+6176|0;if(gf(b,19835)|0){p=jd(h+4112|0,Kd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;Sg(k,256,13985,q)|0;c[t>>2]=0;do if(Ph(p,k,t,0)|0){if((Ae(c[(c[t>>2]|0)+4>>2]|0,13714,l,3)|0)!=2)Vh(13995,j);n=l+4|0;j=id(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Xh(t);c[s>>2]=b;Sg(k,256,14031,s)|0;if(!(Ph(p,k,t,0)|0)){Tg(p)|0;f=0;break}b=Ae(c[(c[t>>2]|0)+4>>2]|0,13714,l,3)|0;if((b|0)!=2){c[m>>2]=b;Vh(14041,m)}j=c[n>>2]|0;if((Nd(j)|0)>>>0<14){c[o>>2]=j;Vh(14083,o)}b=s;g=14132;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,14152,q|0)|0)){c[r>>2]=s;Vh(14170,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Vh(14203,u)}else{c[e>>2]=b;Xh(t);Tg(p)|0;f=1;break}}else{Tg(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Nd(b)|0)>>>0>4095){c[e>>2]=b;Vh(13679,e)}Zi(f,b)|0;Sh(f)|0;b=Tb(f,13698)|0;if(!b){a[d>>0]=a[19029]|0;a[d+1>>0]=a[19030]|0;a[d+2>>0]=a[19031]|0;a[d+3>>0]=a[19032]|0;a[d+4>>0]=a[19033]|0}else{a[b>>0]=0;bh(f)|0;vf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Zh(f,47)|0;if(g){Me(g,b,e,1);if(!((mf(d,19029)|0)!=0?(mf(d,20296)|0)!=0:0)){e=Hd(g,13714,13716)|0;vf(d+6176|0,4096,e);fj(e)}a[g>>0]=0;if(!(mf(d,20302)|0)){g=g+1|0;Md(g,d+6176|0,Nd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Zh(f,64)|0;if(!g){if(!((mf(d,19029)|0)!=0?(mf(d,20296)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(mf(d,20302)|0)){b=d+16|0;e=13720;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13730;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Zh(f,58)|0;if(!b){e=d+16|0;vf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;vf(e,2048,f);f=d+2064|0;vf(f,2048,b+1|0);b=f}vd(e,e,Nd(e)|0);vd(b,b,Nd(b)|0);f=g+1|0}b=Zh(f,58)|0;do if(!b){if(!(mf(d,19029)|0)){h=d+6160|0;a[h>>0]=a[13748]|0;a[h+1>>0]=a[13749]|0;a[h+2>>0]=a[13750]|0}if(!(mf(d,20296)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(mf(d,20302)|0)){h=d+6160|0;a[h>>0]=a[13751]|0;a[h+1>>0]=a[13752]|0;a[h+2>>0]=a[13753]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){vf(d+6160|0,16,e);break}else{c[h>>2]=e;Vh(13754,h)}}while(0);vf(d+4112|0,2048,f);i=j;return}function kc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[136+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2184+((a>>>8&255)<<2)>>2]^c[3208+((a&255)<<2)>>2]^c[1160+((a>>>16&255)<<2)>>2]^c[136+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[136+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function lc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Af(t,f,g);Ce(t,s,1,0);Ce(t,w+32|0,1,0);u=c[b+12>>2]|0;v=tg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;ph(3,16494,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=sg(t,u)|0;c[p+(f<<2)>>2]=sg(t,u)|0;c[q+(f<<2)>>2]=sg(t,u)|0;c[r+(f<<2)>>2]=sg(t,u)|0;g=Bf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if($e(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;lc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=sg(t,u)|0;s=sg(t,u)|0;e=sg(t,u)|0;b=sg(t,u)|0;f=Bf(t,u)|0;g=C;m=Bf(t,u)|0;n=C;if($e(h,j,k,r,s,e,b)|0){b=$d(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function mc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=bi(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=bi(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=bi(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=bi(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=bi(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=bi(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=bi(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function nc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=zh(512)|0;jc(b,s);h=ab(14322)|0;p=(h|0)!=0;if(p){jc(h,q);fe(r|0,q|0,10280)|0;h=Re(r,b)|0}else{fe(r|0,s|0,10280)|0;h=Re(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=Nh(b)|0;j=Ki(b,59)|0;if((j|0)!=0?(mg(13702,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;eh(k,14333,l);fj(b);c[m>>2]=f;eh(k,14344,m);if((gf(s,19029)|0)==0?(gf(13748,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((gf(s,20296)|0)==0?(gf(13783,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;eh(k,14372,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;eh(k,14361,n)}b=c[t>>2]|0;fe(r|0,s|0,10280)|0;ne(r,14386,b);if(p){fe(r|0,q|0,10280)|0;ne(r,14400,b);k=c[t>>2]|0}else k=b;Ei(k,14420);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;eh(k,14459,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;eh(k,14434,u);break}}while(0);if(g|0)Ei(c[t>>2]|0,g);v=c[t>>2]|0;Ei(v,14480);Xe(h,c[v+4>>2]|0,c[v+12>>2]|0);Xh(t)}i=w;return h|0}function oc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=$d(120)|0;c[l+4>>2]=Nh(a)|0;m=xg(a,Gj()|0)|0;c[l+8>>2]=m;Ce(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=kj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Vh(20897,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=tg(m,n)|0;g=l+26|0;b[g>>1]=tg(m,n)|0;h=Bf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Bf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Bf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=tg(m,n)|0;b[l+58>>1]=tg(m,n)|0;j=Bf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Bf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=sg(m,n)|0;j=Bf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=$d(32)|0;c[j+4>>2]=sg(m,n)|0;c[j+8>>2]=sg(m,n)|0;p=Bf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Bf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}Eg(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Af(m,g,h);b[l+104>>1]=tg(m,n)|0;b[l+106>>1]=tg(m,n)|0;p=Bf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Af(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=bd(a,m)|0;i=o;return l|0}function pc(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 qc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Gg(f|0,b|0,10,0)|0;f=C;e=Ih(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Ih(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=$c(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=th(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;ph(4,19105,p);f=b+36|0;e=0;while(1){d=le(0,1)|0;c[p>>2]=d;d=Ti(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=Bh(c[p>>2]|0,19191)|0;c[f>>2]=Nh(d)|0;d=he(a,d)|0;Qd(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;Ch(19138,g);n=0}else if((h|0)==7){d=Bh(c[p>>2]|0,19201)|0;do if(!d){d=te(a)|0;e=C;if((e|0)<0){Qd(p);c[j>>2]=a;Vh(19217,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=id(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=Bh(c[p>>2]|0,19284)|0;if(!d){d=Bh(c[p>>2]|0,19299)|0;if(!d){Qd(p);c[m>>2]=a;Vh(19305,m)}else o=d}else o=d;if(!(Ua(o|0,19380,k|0)|0)){Qd(p);c[l>>2]=o;Vh(19405,l)}d=sf(k)|0;if((d|0)==-1){Qd(p);c[q>>2]=o;Vh(19447,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;Qd(p);n=200;break}}while(0);i=r;return n|0}function sc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Af(c[t>>2]|0,d,e);Ce(c[t>>2]|0,o,1,0);Ce(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=tg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Ce(c[t>>2]|0,r,q,h);e=Bf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=Ne(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Ce(c[t>>2]|0,r,q,h);e=Bf(c[t>>2]|0,p)|0;d=C;j=Ne(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=wi(c[t>>2]|0)|0;m=C;sc(b,k,l,f,g);Af(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}sc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Ce(c[t>>2]|0,r,q,d);Ce(c[t>>2]|0,j,c[h>>2]|0,0);if(!(Ne(f,r,q)|0))Jh(g,ci(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function tc(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[6063]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=bi(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=bi(yb(146,m|0)|0)|0;la(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 uc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Ic(23866,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Zh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Zh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6064]|0))c[e+76>>2]=-1;mb(24280);f=c[6069]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6069]=e;eb(24280)}}else{c[(Rh()|0)>>2]=22;e=0}i=o;return e|0}function vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=zh(4096)|0;while(1){if((ld(b,1e6)|0)<=0){j=3;break}g=og(b,m,4096)|0;if(g){af(c[o>>2]|0,m,g);if(!(hh(c[(c[o>>2]|0)+4>>2]|0,13911)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Nd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Nd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Ch(13867,n);g=0}else if((j|0)==18){g=Kd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Ch(13913,p);g=0;break}if(!e)Xh(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function wc(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Af(c[n>>2]|0,d,e);Ce(c[n>>2]|0,p,1,0);Ce(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=tg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Ce(c[n>>2]|0,l,c[k>>2]|0,0);q=Bf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;wc(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Ce(c[n>>2]|0,l,c[k>>2]|0,0);Ce(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function xc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?24300:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8680+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Rh()|0)>>2]=84;f=-1}i=l;return f|0}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=og(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=th(1,0,g|0,e|0)|0;b=Ih(b|0,C|0,d|0,h|0)|0}r=(ng(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Ih(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)Jf(14796,l);if((b|0)==-1)Jf(14827,o);Tg(c[m>>2]|0)|0;Tg(c[a+12>>2]|0)|0;Tg(c[n>>2]|0)|0;i=q;return 0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=_e(a,2,h)|0;if((e|0)<0)if((c[(Rh()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;Uf(20377,d)}else{se(e,h)|0;if((c[h+36>>2]|0)<64){Tg(e)|0;b=0}else{Fd(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=kj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Vh(20400,j)}}else f=0;b=$d(56)|0;c[b+4>>2]=qg(e,f)|0;g=yf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=yf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=qg(e,f)|0;qg(e,f)|0;yf(e,f)|0;yf(e,f)|0;yf(e,f)|0;yf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Cd(b);break}if((Tg(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Vh(12948,k)}}else{if(!(c[a+20>>2]&2)){if(Ig(d)|0){c[f>>2]=c[a+12>>2];Vh(12917,f)}}else{od(d)|0;if(Ig(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Vh(12887,e)}}if((oe(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Vh(12948,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)Uf(12570,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Vh(12978,l)}if(b|0)Da(13019,12223,435,13037);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Vh(13053,m)}i=n;return d>>>8&255|0}function Bc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Ij(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Hj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Cc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Af(c[n>>2]|0,d,e);Ce(c[n>>2]|0,h,1,0);Ce(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=tg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Ce(c[n>>2]|0,l,d,0);e=Bf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Ce(c[n>>2]|0,l,c[k>>2]|0,0);if((Ne(f,l,c[k>>2]|0)|0)<0)break;e=Bf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Cc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Ce(c[n>>2]|0,l,d,0);Ce(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(Ne(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Dc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=Nh(24928)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(Qi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=$d(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(Qi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;Sg(h,4,12017,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ke(b|0,0,e|0)|0;return b|0}function Fc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=zh(512)|0;c[h>>2]=f;Ei(f,b);Ei(f,13698);d=b+16|0;if(a[d>>0]|0){d=Dc(d)|0;Ei(f,d);fj(d);d=b+2064|0;if(a[d>>0]|0){Ei(f,13779);d=Dc(d)|0;Ei(f,d);fj(d)}Ei(f,13781)}Ei(f,b+4112|0);if(!((gf(b,20302)|0)==0?!(gf(13751,b+6160|0)|0):0))e=7;do if((e|0)==7){if((gf(b,19029)|0)==0?(gf(13748,b+6160|0)|0)==0:0)break;d=b+6160|0;if((gf(b,20296)|0)==0?(gf(13783,d)|0)==0:0)break;Ei(f,13779);Ei(f,d)}while(0);Ei(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,eh(f,13787,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;eh(f,13804,k)}k=$g(h)|0;i=l;return k|0}function Gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Xb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}Tg(a)|0;if((h|0)>0)fj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((mg(18644,f)|0)==0?(mg(18652,f)|0)==0:0){g=11;break}f=he(g,f)|0;c[j>>2]=f;a=fc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Ch(15547,k);g=14}else if((g|0)==11){c[l>>2]=f;Ch(15601,l);g=14}else if((g|0)==13){c[m>>2]=f;Ch(20671,m);g=14}if((g|0)==14)if((b|0)>0){fj(f);b=0}else b=0;i=n;return b|0}function Hc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){fe(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;fe(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){fe(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Ic(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|0)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?b:0)|0}function Jc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=bi(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(Rh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=bi(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;mc(e,2,j)|0}if(b&2048){c[h>>2]=mc(e,3,k)|0|2048;mc(e,4,h)|0}}}}while(0);i=l;return e|0}function Kc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6063]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=bi(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=bi(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Nc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16364,16416,388,16428);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=ji(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Eg(b);d=d+1|0}fj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Oc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ce(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=kj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Vh(16450,j)}}else f=0;c[d+24>>2]=sg(b,f)|0;j=Bf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=sg(b,f)|0;c[d+44>>2]=sg(b,f)|0;c[d+48>>2]=sg(b,f)|0;c[d+52>>2]=sg(b,f)|0;g=Bf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=sg(b,f)|0;Ce(b,h,4,0);b=wi(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Pc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;ph(4,20140,p);Ag(500);l=a+5|0;k=cd(l,20047)|0;c[p>>2]=k;Ri(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}Ag(250);g=e-j|0;g=jf(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;ph(4,20193,m);if(Ig(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;Ch(20215,o);c[n>>2]=l;Uf(20099,n)}else if((g|0)==6){ui(p);i=q;return a|0}return 0}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=$d(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=zh(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){Ei(e,12151);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){Ei(e,13714);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}Ei(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=$g(j)|0;if(!(c[a>>2]|0))Vh(12155,k);if(!(b&8))e=0;else{kh(l,ye(56,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;kh(l,ye(d,l)|0);e=e+1|0}i=m;return l|0}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Ij(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;fe(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(be(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)Hj(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Hj(f);return e|0}function Sc(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(!(df(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);fe(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 Tc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{fe(l|0,b|0,d|0)|0;Ke(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Vh(16972,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Cc(a,j,k,l,g)|0;else{sc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Vc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Nd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=$d(16)|0;else l=qf(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=Fi(d,e)|0;else{k=qf(h,e+1|0)|0;c[l+4>>2]=k;fe(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Nc(b,Mh(m)|0);return l|0}function Xc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Nj()|0;Cj(24168)|0;if((c[6049]|0)!=0&(a|0)==(c[6050]|0)){ng(2,13077,61)|0;_a(1)}Aj(24168)|0;Cj(24204)|0;Cj(24168)|0;c[6050]=a;c[6049]=1;Aj(24168)|0;if(!(c[6058]|0))c[6058]=le(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Sg(d,64,13804,b)|0;a=Se(c[6058]|0,d)|0;if(!a){a=$d(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=si(c[6058]|0,d,a)|0}Cj(24168)|0;c[6049]=0;Aj(24168)|0;Aj(24204)|0;i=e;return c[a+8>>2]|0}function Yc(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=zh(Nd(f)|0)|0;c[j>>2]=g;h=f;f=Zh(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;Ei(g,h);Ei(g,19835);m=f+1|0;h=m;f=Zh(m,47)|0}Ei(g,h);f=$g(j)|0;j=Nd(d)|0;m=Nd(e)|0;m=j+3+m+(Nd(f)|0)|0;j=$d(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;Sg(j,m,19837,k)|0;c[b+44>>2]=Tf(b,19846)|0;c[b+48>>2]=Tf(b,19853)|0;c[b+52>>2]=Tf(b,19864)|0}i=l;return}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=oi(b,d,0)|0;if((d|0)>-1){b=rg(b,1,d)|0;c[h>>2]=b;a:do if((((Yb(b,g,0)|0)!=0?(mg(14514,c[g>>2]|0)|0)!=0:0)?(Hf(g)|0,f=Hf(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Kd(f)|0;if(e)while(1){if(!(Yb(c[h>>2]|0,g,0)|0))break a;f=Hf(g)|0;if(!f)break a;b=ah(f)|0;si(e,b,Nh(oh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Cd(h)}else d=c[(Rh()|0)>>2]|0;i=j;return d|0}function $c(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Nf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ad(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8884;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Rh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Bc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=$d(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Ce(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=kj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Vh(16933,j)}}else f=0;c[d+12>>2]=sg(b,f)|0;c[d+16>>2]=sg(b,f)|0;c[d+20>>2]=sg(b,f)|0;g=Bf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Ce(b,h,4,0);Ce(b,h,4,0);b=wi(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(gf(b,18571)|0){if(!(gf(b,15758)|0)){f=c[2082]|0;break}e=Ud(b,d)|0;if(!e){a:do if(!d)e=24928;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15786;break a}case 119:{e=15776;break a}default:{e=e<<24>>24==97?15765:24928;break a}}}while(0);d=ge(c[(Rh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Vh(15795,g)}else f=e}else f=c[2141]|0;while(0);i=h;return f|0}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;kd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=$d(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;Yc(a,b,h,d);c[e>>2]=0;b=a+44|0;j=uh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=uh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=uh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;Eg(e);fj(c[a+40>>2]|0);fj(c[b>>2]|0);fj(c[f>>2]|0);fj(a);fj(h);fj(d);d=c[e>>2]|0}i=g;return d|0}function ed(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ue(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=rj(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;yj(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Ch(15672,f);b=0;break}}else{ff(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function fd(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=$d(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20832+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20832+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20832+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20832+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function gd(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[17972+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[17972+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))Uf(12296,k);l=$h()|0;if(Lg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=$h()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;Uf(12319,f)}if(b|0?($f(b,0)|0)<0:0)Uf(12346,g);if((d|0)!=1?($f(d,1)|0)<0:0)Uf(12366,h);if((e|0)!=2?($f(e,2)|0)<0:0)Uf(12387,j);mh();i=k;return}function id(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Wi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=Gg(c|0,d|0,10,0)|0;b=b+1|0;c=th(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=th(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function jd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=dc(a,b)|0;if((a|0)<0)a=-1;else{if((ld(a,1e6)|0)>0)Ph(a,24928,0,0)|0;c[g>>2]=0;c[h>>2]=d;Sg(f,256,13956,h)|0;do if(Ph(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,Sg(f,256,13966,j)|0,(Ph(a,f,0,0)|0)==0):0){Tg(a)|0;a=-1;break}if(!(Ph(a,13976,0,0)|0)){Tg(a)|0;a=-1}}else{Tg(a)|0;a=-1}while(0)}i=k;return a|0}function kd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Zh(b,58)|0;if(!h)h=0;else{m=Fi(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Zh(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){qe(l,1024,b,k+1-b|0);c[g>>2]=Id(l)|0}j=Zh(b,47)|0;if(!j)j=b+(Nd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Id(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Df(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(Rh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=ge(a)|0;Ch(13809,m)}i=n;return a|0}function md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=_e(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=$d(5)|0;c[g>>2]=f;if((og(e,f,4)|0)<4)gi(g);else a[f+4>>0]=0;Tg(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Xd(e)|0,gi(h),(g|0)!=0):0){h=yg(He(b)|0,33,b,0)|0;e=rg(b,d,pj(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function nd(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Mc(g,20977,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ie(g)|0;i=j;return h|0}ie(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function od(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Wd(a)|0;break}d=(Ij(a)|0)==0;b=Wd(a)|0;if(!d)Hj(a)}else{if(!(c[2111]|0))b=0;else b=od(c[2111]|0)|0;mb(24280);a=c[6069]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Ij(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Wd(a)|0|b;if(d|0)Hj(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(24280)}while(0);return b|0}function pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=Qf(e,0)|0;c[n>>2]=g;kg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=Qf(d,e)|0;else if(!f){e=_e(d,0,h)|0;if((e|0)<0){c[k>>2]=d;Uf(12856,k)}else j=e}else j=0;c[m>>2]=j;e=of(a,b,j,g)|0;Sf(m);if(!l)Sf(n);i=o;return e|0}function qd(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[(Rh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function rd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=$h()|0;c[g>>2]=f;Sg(a,256,17732,g)|0;d=We(a,1)|0;c[g>>2]=d;if(!d){j=c[2112]|0;c[b>>2]=a;dh(j,17769,b)|0;a=j}else{while(1){if(!(dg(d,e)|0))break;a=c[e>>2]|0;if(Tb(a,17748)|0){j=5;break}}if((j|0)==5){j=c[2112]|0;c[h>>2]=f;c[h+4>>2]=a;dh(j,17755,h)|0}Cd(g);a=c[2112]|0}od(a)|0;i=k;return}function sd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=de(k)|0;fe(j|0,d|0,e|0)|0;fj(c);d=j;e=k;c=j}k=Ob(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=Nh(d)|0;fj(c);c=l}i=h;return c|0}function td(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;ph(4,19906,j);h=Ie(a)|0;n=cd(h,20047)|0;c[j>>2]=n;Ri(n,b,0)|0;a=jf(g+256|0,f,e,n)|0;if(!(Ig(n)|0)){ui(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;Ch(20050,k);c[l>>2]=h;Uf(20099,l)}return 0}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;ph(4,19525,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(ic(a,f,e)|0){a=sf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Vh(19557,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function vd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((gh(f,12013,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function wd(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;Ke(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){Sc(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;Sc(h,f,a)|0}while(0);i=j;return}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+8|0;j=k+4|0;h=k;f=_i(a)|0;c[g>>2]=f;b=cd(b,18441)|0;c[j>>2]=b;e=wg(f)|0;c[h>>2]=e;while(1){if(!e)break;d=c[6041]|0;a=c[e+4>>2]|0;if(!((d|0)!=0?(gf(d,a)|0)!=0:0)){l=c[2]|0;d=c[3]|0;Zb(f,a,(l|0)>0?l:0,(d|0)>0?d:c[e+12>>2]|0,0,b)|0}e=c[e>>2]|0}Vf(h);ui(j);ig(g);i=k;return}function yd(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(!(df(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function zd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){fh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=ad((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;fh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Ad(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(Gh(b)|0)){c=(Nd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Zi(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Zh(b,47)|0;if(!b){Rf(e)|0;b=0;continue}else{a[b>>0]=0;Rf(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Ij(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=yd(d,b)|0;Hj(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=yd(d,b)|0}while(0);return e|0}function Cd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Yh(c[2141]|0)|0):0){Tg(c[d>>2]|0)|0;fj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else Dh(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);fj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Qd(g);gi(b)}return}function Dd(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=th(h^a|0,g^b|0,h|0,g|0)|0;b=C;cc(a,b,th(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=th(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(gf(a,18571)|0)if(gf(a,15758)|0){c[d>>2]=436;d=_e(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15786:15765;else d=15776;else d=15939;else d=15915;c[f>>2]=a;c[f+4>>2]=d;Uf(15950,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Fd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=og(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;Uf(15978,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Vh(16003,g)}else if((d|0)==8){i=h;return}}function Gd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=gg(h,f)|0;c[e+4>>2]=gg(h,f)|0;c[e+8>>2]=gg(h,f)|0;c[e+12>>2]=gg(h,f)|0;c[e+16>>2]=gg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=Pg(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Nd(b)|0;h=Nd(c)|0;d=0;e=Tb(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Tb(e+g|0,b)|0}f=Nd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=$d((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Tb(a,b)|0;d=f;while(1){if(!a)break;Zi(d,e)|0;j=a+g|0;i=d+(a-e)|0;Zi(i,c)|0;e=j;a=Tb(j,b)|0;d=i+h|0}Zi(d,e)|0;return f|0}function Id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(fg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=$d(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(fg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;ch(g,19829,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Jd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=jh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Kd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Wi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Md(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((gh(f,12013,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Nd(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 Od(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=nh(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Od(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 Pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Se(c[e>>2]|0,d)|0)){si(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;dh(g,18577,h)|0}}}while(0);i=j;return}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Ui(d);d=g}e=e+1|0}}else{Th(b);b=d+8|0}while(0);fj(c[b>>2]|0);gi(a)}return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=mc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((mc(a,4,f)|0)<0){c[g>>2]=ge(c[(Rh()|0)>>2]|0)|0;Ch(13383,g);d=-1}else d=0}else{c[e>>2]=ge(c[(Rh()|0)>>2]|0)|0;Ch(13352,e);d=-1}i=h;return d|0}function Sd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=24149;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Td(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[17980+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[17988+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[17988+f>>0]}while(0);return}function Ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Ic(23866,a[d>>0]|0,4)|0){h=wf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=bi(jb(5,e|0)|0)|0;if((e|0)>=0){b=uc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(Rh()|0)>>2]=22;b=0}i=g;return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Vh(16683,d)}d=aj(a,b)|0;if(!d){g=c[(Rh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Vh(16747,e)}else{i=f;return d|0}return 0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(mg(18443,a)|0))if(!(mg(18446,a)|0))if(!(mg(18450,a)|0))if(!(mg(18453,a)|0))a=0;else{a=18458;e=5}else{a=18462;e=5}else{a=18466;e=5}else{a=18468;e=5}if((e|0)==5){c[d>>2]=a;Sg(b,20,18471,d)|0;a=Nh(b)|0}i=f;return a|0}function Yd(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=th(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return th((cc(h,g,th(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Wf(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function _d(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=ug(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=ki(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 $d(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Vh(16819,b)}b=wj(a)|0;if(!b){f=c[(Rh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Vh(16872,d)}else{Ke(b|0,0,a|0)|0;i=e;return b|0}return 0}function ae(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(Gh(a)|0)){d=Ud(a,18441)|0;c[b>>2]=d;if(!d){a=0;break}else{ui(b);a=1;break}}else{f=Qh()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;Ch(18411,d);a=0;break}}while(0);i=e;return a|0}function be(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function ce(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=17920;break}case 2:{a=17899;break}case -1:{a=17888;break}case -2:{a=17872;break}case -3:{a=17872;break}case -4:{a=17857;break}case -5:{a=17842;break}case -6:{a=17823;break}case 0:{a=0;break}default:{c[b>>2]=a;Sg(24800,128,17804,b)|0;a=24800}}i=d;return a|0}function de(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Vh(16559,b)}b=wj(a)|0;if(!b){f=c[(Rh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Vh(16617,d)}else{i=e;return b|0}return 0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(Rh()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;fe(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 ge(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21934+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22022;e=5;break}}if((e|0)==2)if(!c)b=22022;else{b=22022;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 he(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;jc(b,g);jc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){vf(e,2048,d);vf(f+2064|0,2048,g+2064|0)}g=Fc(f)|0;i=h;return g|0}function ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;Eh(e,b,16);if((c[e>>2]|0)!=3)Vh(11494,d);c[6041]=Mf(11990,c[6041]|0)|0;c[2]=Ge(11996,c[2]|0)|0;c[3]=Ge(12002,c[3]|0)|0;bj(Mf(12006,Gj()|0)|0);xd(c[b+4>>2]|0,c[b+8>>2]|0);if((Jj()|0)>1)rd();i=d;return 0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16364,16416,357,16439);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Vg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=ji(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function me(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Wf(j,0);e=Ub(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ne(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;Sg(h,256,14301,j)|0;j=fd(h,Nd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;eh(e,14307,k);gi(g)}i=l;return}function oe(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(24280);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6069]|0)==(a|0))c[6069]=b;eb(24280)}b=od(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function pe(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=xf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16180;else e=(d|0)==2?16139:16148;else e=16171;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;Uf(16189,g);return 0}function qe(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Vh(16304,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;zi(b,e,f)|0;a[b+g>>0]=0;i=j;return}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=Ih(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){Sd(e,a);c[f>>2]=e;c[f+4>>2]=b;d=bi(Pa(195,f|0)|0)|0}else d=bi(d)|0;i=g;return d|0}function te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;Sg(g,4096,14525,e)|0;a=le(0,1)|0;c[e>>2]=a;if(((_c(g,14542,a)|0)==206?(b=Bh(a,14546)|0,(b|0)!=0):0)?(d=Zh(b,47)|0,(d|0)!=0):0){b=id(d+1|0)|0;a=C}else{a=-1;b=-1}Qd(e);C=a;i=f;return b|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0;d=Qh()|0;a=dd(a,(b|0)==0?c[33]|0:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(hh(e,19846)|0){if(!(Gh(e)|0))break a;if((vg(e)|0)>>>0<b>>>0)b=vg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function ve(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2082]|0;if((c[f+76>>2]|0)>-1)g=Ij(f)|0;else g=0;do if((Oi(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=(yd(f,10)|0)<0}while(0);if(g|0)Hj(f);return d<<31>>31|0}function we(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=pi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;fj(e);f=f+1|0}fj(b);fj(i);i=h}gi(g+12|0);gi(g+28|0);gi(a)}return}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$d(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=$d((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=Nh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;ph(4,20263,d);Ag(500);if((Mg(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ae(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Lc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Uc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Be(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(Oh(k,d,Nd(d)|0,h,8)|0))a=0;else{ih(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=Gf(b,a,e,f)|0}i=j;return a|0}function Ce(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Ob(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Vh(19777,g)}else{i=h;return}}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;ph(4,20107,d);if((Mg(Ie(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Ee(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2082]|0);if((b|0)==(c[2141]|0)|d)if(d){od(b)|0;b=1}else b=1;else if(!(oe(b)|0))b=1;else{Jf(16239,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Rc(b,d,1,a)|0)!=1:0){b=Ig(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Vh(15884,f)}else{f=ge(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Vh(15855,e)}}i=g;return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Qg(b)|0;do if((f|0)!=0?(gf(f,17467)|0)!=0:0){d=ni(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Vh(17190,h)}else e=d;while(0);i=j;return e|0}function He(a){a=a|0;var b=0;b=Nh(a)|0;if(!(((mg(18644,a)|0)==0?(mg(18652,a)|0)==0:0)?!(mg(18661,a)|0):0))vd(a,b,Nd(a)|0);if(!(hh(b,18483)|0))if(!(hh(b,18487)|0))if(!(hh(b,18490)|0)){a=(hh(b,18495)|0)==0;a=a?0:84}else a=120;else a=108;else a=96;fj(b);return a|0}function Ie(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(mg(19954,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Vh(19961,e);if(((((Tb(b,19988)|0)==0?(Zh(b,126)|0)==0:0)?(Tb(b,19991)|0)==0:0)?(Tb(b,19994)|0)==0:0)?(hh(19998,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Vh(20001,d);return 0}function Je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=ji(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Vh(17656,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ke(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 Le(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Yi(e&65535)|0;if(d){h=sj(ed(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function Me(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=Ki(b,59)|0;if((g|0?mg(13702,g)|0:0)?(i=(Zh(g,61)|0)+1|0,h=Zh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=id(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=id(b)|0;c[e>>2]=f}}return}function Ne(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 Oe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=bi(pa(102,h|0)|0)|0;i=g;return e|0}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=zh(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){Ei(e,13714);b=c[d>>2]|0}Ei(e,b);f=f+1|0}g=$g(g)|0;i=h;return g|0}function Qe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=bi(pa(102,h|0)|0)|0;i=g;return e|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(gf(a,19029)|0)if(!(gf(a,20296)|0)){d=wh(a+4112|0,Kd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Vh(14259,e)}else d=dc(a+4112|0,Kd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((gf(c[e+4>>2]|0,d)|0)!=0);return e|0}function Te(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((bi(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ue(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Zh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=nd(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=ce(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Vh(17936,g)}return 0}function We(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(gf(a,18571)|0){if(He(a)|0){c=md(a,b)|0;break}c=_e(a,0,c)|0;if((c|0)==-1)c=0;else c=rg(a,b,c)|0}else c=Li(b)|0;while(0);i=d;return c|0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=ng(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)Uf(16045,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Vh(16071,e)}}function Ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){ih(c[a+4>>2]|0,e);f=$d(16)|0;c[f+4>>2]=Fi(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(20917,20944,206,20959)}function Ze(b){b=b|0;var d=0,e=0,f=0;d=c[2112]|0;f=ge(c[(Rh()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=Ij(d)|0;else e=0;if(b|0?a[b>>0]|0:0){zf(b,Nd(b)|0,1,d)|0;Bd(58,d)|0;Bd(32,d)|0}zf(f,Nd(f)|0,1,d)|0;Bd(10,d)|0;if(e|0)Hj(d);return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=bi(jb(5,f|0)|0)|0;i=e;return d|0}function $e(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);fh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;fe(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=bi(pa(102,f|0)|0)|0;i=e;return d|0}function cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=og(b,d,e)|0;a=a+16|0;b=a;b=Ih(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function df(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 ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Xe(b,d,e);return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((ec(2,a,d)|0)<0){b=ge(c[(Rh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Ch(15631,e);a=0}else{c[b>>2]=rj(c[d>>2]|0)|0;a=1}i=f;return a|0}function gf(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 hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Fd(b,d,e);return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Ih(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Rc(b,1,d,e)|0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((Oe(a,1,20,d,8)|0)>=0)if((Oe(a,1,21,d,8)|0)<0){Ch(13247,e);a=-1}else a=0;else{Ch(13197,f);a=-1}i=f;return a|0}function lf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=tc(b,d,e)|0;i=g;return f|0}function mf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=Ii(a[e>>0]|0)|0;c=c<<24>>24;b=(Ii(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function nf(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 of(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;kg(b);a=Qc(a,b)|0;if(!(b&1)){b=zg(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);Sf(f)}else bg(a,d,e,0,0);i=g;return a|0}function pf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Je(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function rf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=ad(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Vh(16253,g)}return 0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16353)|0;d=(b|0)!=0;if(d)vf(e,100,b);qa(16353,16356,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16353,e|0,1)|0;else ob(16353)|0;Oa();i=f;return b|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Ic(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;fe(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function uf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=bi(ib(10,b|0)|0)|0;if(b){if((c[(Rh()|0)>>2]|0)==21){c[d>>2]=a;b=bi(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Nd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Vh(15712,f)}else{Zi(a,d)|0;i=g;return}}function wf(b){b=b|0;var c=0,d=0,e=0;d=(Zh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Zh(b,120)|0)==0;d=e?d:d|128;b=(Zh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function xf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(bi(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Fd(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function zf(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=(Ij(e)|0)==0;a=Sc(a,f,e)|0;if(!g)Hj(e)}else a=Sc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=Ih(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(c[33]|0)Fg(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Ce(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=Ci(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Cf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2082]|0;else{ve(13139)|0;ve(13164)|0;d=c[2082]|0;Bc(d,a,b)|0;Bd(10,d)|0;od(d)|0}od(d)|0;d=c[2112]|0;Bc(d,a,b)|0;Bd(10,d)|0;od(d)|0}return}function Df(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=bi(kb(142,h|0)|0)|0;i=g;return d|0}function Ef(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Ff(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=de(h)|0;a=a+136|0;Fg(a,b,d+64|0,0)|0;hf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;lc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);Eg(f);i=g;return c[f>>2]|0}function Hf(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=oh(e)|0,(a[d>>0]|0)!=0):0){e=ag(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function If(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=ge(c[(Rh()|0)>>2]|0)|0;c[g+4>>2]=a;ch(f,13191,g)|0;Hh(f,e);i=d;return}function Kf(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?(zf(b,d,1,a)|0)!=1:0){a=ge(Ig(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Vh(15825,e)}i=f;return}function Lf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else fe(b,c,d)|0;return b|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=c[6061]|0;if((d|0?(e=Ug(a,d)|0,e|0):0)?c[e+4>>2]&64|0:0)Vh(17588,f);f=Qg(a)|0;i=g;return ((f|0)==0?b:f)|0}function Nf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(be(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Vh(12513,e)}}function Pf(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 Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=_e(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;Uf(12824,d)}else{i=e;return b|0}return 0}function Rf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((Og(a,511)|0)<0)if((c[(Rh()|0)>>2]|0)==17)b=0;else{Ze(24928);c[d>>2]=a;Vh(18353,d)}else b=1;i=e;return b|0}function Sf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Tg(b)|0)<0){c[d>>2]=b;Uf(12548,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Nd(c[g>>2]|0)|0;e=Nd(d)|0;b=$d(f+2+e|0)|0;fe(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;fe(f+1|0,d|0,e|0)|0;return b|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=ge(c[(Rh()|0)>>2]|0)|0;c[f+4>>2]=a;ch(e,13191,f)|0;ii(e,d)}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Uh(b);d=f}c[a>>2]=0;i=e;return}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Xf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((Tg(b)|0)<0)Uf(16221,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Yf(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Af(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Oc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Nd(a)|0;g=g+1+(Nd(b)|0)|0;d=$d(g)|0;c[f>>2]=a;c[f+4>>2]=b;Rg(d,g,16234,f)|0;i=e;return d|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=ri(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18515,18537,352,18553)}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=bi(d)|0;i=f;return e|0}function ag(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Wi(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function bg(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;g=i;i=i+16|0;h=g;c[a+16>>2]=zg(h)|0;bc(a,b,c[h>>2]|0,d,e,f);Sf(h);i=g;return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(Mg(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function dg(b,d){b=b|0;d=d|0;a:while(1){if(!(Yb(b,d,0)|0)){b=0;break}switch(a[(oh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=cg(b)|0;b=cd(b,20047)|0;g=de(f+1|0)|0;c[d>>2]=g;Fe(b,g,f);a[g+f>>0]=0;oe(b)|0;if(e|0)c[e>>2]=f;return}function fg(a){a=a|0;a:do if(!(Qi(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function gg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=pi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;fe(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ig(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){uj(b+96|0);d=b+100|0;lh(d);lh(d);xj(b+20|0);ac(b+8|0);fj(c[b+4>>2]|0);gi(a)}return}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=og(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function kg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Vh(12022,c);break}default:{}}if((a&18|0)==16)Vh(12088,b);else{i=c;return}}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Ij(a)|0)==0;b=Ld(a,b,d)|0;if(!e)Hj(a)}else b=Ld(a,b,d)|0;return b|0}function mg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=bi(pb(4,f|0)|0)|0;i=e;return a|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=bi(sb(3,f|0)|0)|0;i=e;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;Sg(e,256,16361,f)|0;ah(e)|0;b=Se(a,e)|0;i=d;return b|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Fd(a,d,4);a=c[d>>2]|0;if(b){a=pi(a|0)|0;c[d>>2]=a}i=e;return a|0}function rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=$d(104)|0;c[f+4>>2]=Nh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=$d(65537)|0;return f|0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ce(a,d,4,0);a=c[d>>2]|0;if(b){a=kj(a)|0;c[d>>2]=a}i=e;return a|0}function tg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Ce(a,d,2,0);a=b[d>>1]|0;if(c){a=lj(a)|0;b[d>>1]=a}i=e;return a|0}function ug(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;cc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((Mg(a,b)|0)<0){c[d>>2]=a;Vh(18380,d)}else{i=e;return c[b+56>>2]|0}return 0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];Fh(c[a+20>>2]|0,b,1);Eg(b);i=d;return c[b>>2]|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Pb(a,b)|0;if(!b){c[d>>2]=a;Vh(20671,d)}else{i=e;return b|0}return 0}function yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=pd(g,b,d,e)|0;i=f;return e|0}function zg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((qh(b)|0)<0)Uf(12185,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Ag(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Df(0,0,0,0,b)|0}i=d;return}function Bg(b){b=b|0;var c=0,d=0;c=Nd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Wi(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;if((c[16]|0)>=(a|0)){a=c[6059]|0;if(!a){a=c[2112]|0;c[6059]=a}Bc(a,b,d)|0;od(c[6059]|0)|0}return}function Dg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Ih(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return pe(b,d,e)|0}function Gg(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=Ef(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Hg(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(gf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function Ig(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(Ij(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)Hj(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function Jg(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;a=cd(a,18441)|0;c[f>>2]=a;Kf(a,b,d);ui(f);i=e;return}function Kg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=20327;c[a+4>>2]=352;Vh(20306,a);return 0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=bi(cb(57,e|0)|0)|0;i=d;return a|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=bi(Pa(195,e|0)|0)|0;i=d;return a|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=bi(hb(38,e|0)|0)|0;i=d;return a|0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=bi(Ia(39,e|0)|0)|0;i=d;return a|0}function Pg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=ej(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function Qg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6060]|0;if(!b)Vh(17556,d);else{a=Kh(b,a)|0;i=d;return a|0}return 0}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=ad(a,b,d,g)|0;i=f;return e|0}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=rf(a,b,d,g)|0;i=f;return e|0}function Tg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=bi((a|0)==-4?-115:a)|0;i=b;return a|0}function Ug(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(gf(d,a)|0))break;b=b+8|0}return b|0}function Vg(a){a=a|0;var b=0;b=$d(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Je(b,a)|0;return b|0}function Wg(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=bi(Wa(6,d|0)|0)|0;i=b;return a|0}function Xg(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]}function Yg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=$d(d+1|0)|0;c=(c|0)<(d|0)?c:d;fe(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function $g(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(17685,17696,40,17712);else{b=c[b+4>>2]|0;gi(a);return b|0}return 0}function ah(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Ii(c<<24>>24)|0;d=d+1|0}return b|0}function bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=Ji(c<<24>>24)|0;d=d+1|0}return b|0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=vi(a,b,f)|0;i=e;return d|0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Bc(a,b,f)|0;i=e;return d|0}function eh(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;zd(a,b,f);i=e;return}function fh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=ri(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=pf(a,b,f)|0;i=e;return d|0}function hh(a,b){a=a|0;b=b|0;var c=0;c=Nd(a)|0;c=c-(Nd(b)|0)|0;if((c|0)<0)c=0;else c=(gf(a+c|0,b)|0)==0&1;return c|0}function ih(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=kj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=kj(c[a>>2]|0)|0}return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function kh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;fj(b);b=d}c[a>>2]=0;return}function mh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Tg(b)|0;b=b+1|0}return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function oh(b){b=b|0;if(!b)b=0;else while(1)if(!(Wi(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function ph(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;Cg(a,b,f);i=e;return}function qh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bi(wa(42,d|0)|0)|0;i=b;return a|0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;a=Vd(a,c)|0;if(c>>>0>b>>>0)Ke(a+b|0,0,c-b|0)|0;return a|0}function sh(){}function th(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 (C=d,a-c>>>0|0)|0}function uh(a){a=a|0;var b=0;if(!a)a=$d(8)|0;else{b=$d((Nd(a)|0)+8|0)|0;Zi(b+4|0,a)|0;a=b}return a|0}function vh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[16]=a;c[d>>2]=0;i=b;return}function wh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Vh(17996,d);return 0}function xh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function yh(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=20327;c[a+4>>2]=360;Vh(20306,a);return 0}function zh(a){a=a|0;var b=0;b=$d(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=$d(a+1|0)|0;c[b+8>>2]=a;return b|0}function Ah(){var a=0,b=0;b=i;i=i+16|0;a=Jc(2,1,0)|0;if((a|0)<0)Ch(13322,b);i=b;return a|0}function Bh(a,b){a=a|0;b=b|0;a=pg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Ch(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;Hh(a,e);i=d;return}function Dh(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ac(b)|0;xe(a)}return b|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6060]|0)){fi(Wb(a,b,0,d,0)|0);c[6061]=d}return}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;wc(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function Gh(a){a=a|0;if((gf(a,18571)|0)!=0?(gf(a,15758)|0)!=0:0)a=(cg(a)|0)!=-1&1;else a=1;return a|0}function Hh(a,b){a=a|0;b=b|0;var d=0;d=Xc()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Jh(a,b){a=a|0;b=b|0;var d=0;d=$d(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function Kh(a,b){a=a|0;b=b|0;a=Se(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function Mh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function Nh(a){a=a|0;var b=0;if(!a)a=0;else{b=Nd(a)|0;a=_g(a,b,b)|0}return a|0}function Oh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Tc(a,b,c,e,0,d,0)|0}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Di(a,b);return vc(a,b,c,d)|0}function Qh(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function Rh(){var a=0;if(!(c[6063]|0))a=24296;else a=c[(Nj()|0)+64>>2]|0;return a|0}function Sh(a){a=a|0;if(!a)a=0;else{a=oh(a)|0;Bg(a)}return a|0}function Th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){lh(b);fj(b);c[a>>2]=0}return}function Uh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){fj(c[b+4>>2]|0);gi(a)}return}function Vh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;ii(a,d)}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Xh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){fj(c[b+4>>2]|0);gi(a)}return}function Yh(a){a=a|0;if((c[a+76>>2]|0)>-1?Ij(a)|0:0)Hj(a);return c[a+60>>2]|0}function Zh(b,c){b=b|0;c=c|0;b=Vc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function _h(){var a=0;a=Xc()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function $h(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Xf(b+52|0);gi(a)}return}function bi(a){a=a|0;if(a>>>0>4294963200){c[(Rh()|0)>>2]=0-a;a=-1}return a|0}function ci(a,b){a=a|0;b=b|0;var c=0;c=de(b)|0;fe(c|0,a|0,b|0)|0;return c|0}function di(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ei(a,b){a=a|0;b=b|0;if(!a)a=0;else a=qd(a,b,0)|0;return a|0}function fi(a){a=a|0;c[6060]=a;if(Qg(17048)|0)vh(Ge(17048,0)|0);return}function gi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)zj(b);return}function hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function ii(a,b){a=a|0;b=b|0;c[(Xc()|0)+4>>2]=1;Hh(a,b);_h()}function ji(a){a=a|0;var b=0;b=de(a)|0;Ke(b|0,0,a|0)|0;return b|0}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cc(a,b,c,d,0)|0}function li(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function mi(a,b,c){a=a|0;b=b|0;c=c|0;a=me(a,b,c,0,-2147483648)|0;return a|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;a=me(a,b,c,-2147483648,0)|0;return a|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return nc(a,b,14483,14492,c)|0}function pi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&7](b|0,c|0)|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;return rh(a,b,c)|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;return Wc(a,b,Nd(b)|0,c)|0}function ti(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ui(a){a=a|0;if(!(Ee(a)|0))_h();else return}function vi(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,2147483647,b,c)|0}function wi(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function yi(){if((ab(13172)|0)==0?(ab(13182)|0)==0:0)_a(-1);Za()}function zi(a,b,c){a=a|0;b=b|0;c=c|0;Ec(a,b,c)|0;return a|0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;return tf(a,b,c)|0}function Ci(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function Di(a,b){a=a|0;b=b|0;Xe(a,b,Nd(b)|0);return}function Ei(a,b){a=a|0;b=b|0;af(a,b,Nd(b)|0);return}function Fi(a,b){a=a|0;b=b|0;return _g(a,Nd(a)|0,b)|0}function Gi(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,0,c)|0}function Hi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Ii(a){a=a|0;var b=0;b=(nj(a)|0)==0;return (b?a:a&95)|0}function Ji(a){a=a|0;var b=0;b=(mj(a)|0)==0;return (b?a:a|32)|0}function Ki(a,b){a=a|0;b=b|0;return Dg(a,b,(Nd(a)|0)+1|0)|0}function Li(a){a=a|0;return rg(18571,a,Yh(c[2141]|0)|0)|0}function Mi(a){a=a|0;if(!(c[a+68>>2]|0))Hj(a);return}function Ni(a){a=a|0;if(!(c[a+68>>2]|0))Hj(a);return}function Oi(a,b){a=a|0;b=b|0;return (zf(a,Nd(a)|0,1,b)|0)+-1|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,1,c)|0}function Qi(a){a=a|0;return ((a+-48|0)>>>0<10|(gj(a)|0)!=0)&1|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return lg(a,b,c)|0}function Si(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Ti(a,b){a=a|0;b=b|0;return _c(a,14520,b)|0}function Ui(a){a=a|0;fj(c[a+4>>2]|0);fj(a);return}function Vi(a,b){a=a|0;b=b|0;i=a;j=b}function Wi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Xi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Yi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Zi(a,b){a=a|0;b=b|0;Zc(a,b)|0;return a|0}function _i(a){a=a|0;return oc(a,-2003829722,18048)|0}function $i(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function aj(a,b){a=a|0;b=b|0;return ee(a,b)|0}function bj(a){a=a|0;c[33]=Nh(a)|0;return}function cj(a,b){a=a|0;b=b|0;return +(+Zd(a,b,1))}function dj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function ej(a){a=a|0;return (a&255)<<8|a>>8&255|0}function fj(a){a=a|0;if(a|0)zj(a);return}function gj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function hj(a,b){a=+a;b=+b;return +(+If(a,b))}function ij(a,b){a=+a;b=b|0;return +(+Jd(a,b))}function jj(a,b){a=+a;b=b|0;return +(+Od(a,b))}function kj(a){a=a|0;return pi(a|0)|0}function lj(a){a=a|0;return ej(a|0)|0}function mj(a){a=a|0;return (a+-65|0)>>>0<26|0}function nj(a){a=a|0;return (a+-97|0)>>>0<26|0}function oj(a,b){a=a|0;b=b|0;Qb(b);return}function pj(a){a=a|0;return c[a+16>>2]|0}function qj(a,b){a=+a;b=+b;return +(+gc(a,b))}function rj(a){a=a|0;return pi(a|0)|0}function sj(a){a=a|0;return pi(a|0)|0}function tj(a,b){a=a|0;b=b|0;ba(7);return 0}function uj(a){a=a|0;gi(a);return}function vj(a){a=a|0;Hb[a&1]()}function wj(a){a=a|0;return Kb(a)|0}function xj(a){a=a|0;gi(a);return}function yj(a){a=a|0;Qb(a);return}function zj(a){a=a|0;Qb(a);return}function Aj(a){a=a|0;return 0}function Bj(a,b){a=a|0;b=b|0;ba(3)}function Cj(a){a=a|0;return 0}function Dj(a){a=a|0;i=a}function Ej(a){a=a|0;C=a}function Fj(a){a=a|0;ba(5);return 0}function Gj(){return c[33]|0}function Hj(a){a=a|0;return}function Ij(a){a=a|0;return 0}function Jj(){return c[16]|0}function Kj(){return C|0}function Lj(){return i|0}function Mj(a){a=a|0;ba(2)}function Nj(){return 0}function Oj(){ba(6)}
+
+// EMSCRIPTEN_END_FUNCS
+var Bb=[dj,lf,Te,tc,Kc,hg,Ai,Bi];var Cb=[Hi,Ye];var Db=[Mj,Ni,Mi,Mj];var Eb=[Bj,Cf,oj,Bj];var Fb=[hi,td,Pc,_b,Kg,hi,hi,hi];var Gb=[Fj,Wg,yc,Fj];var Hb=[Oj,yi];var Ib=[tj,De,ze,rc,ud,yh,tj,tj];return{_llvm_bswap_i16:ej,_i64Subtract:th,_free:Qb,_main:ke,_htonl:sj,_realloc:ee,_i64Add:Ih,_memmove:Lf,_pthread_self:Nj,_pthread_mutex_unlock:Aj,_memset:Ke,_malloc:Kb,_pthread_mutex_lock:Cj,_memcpy:fe,_llvm_bswap_i32:pi,_bitshift64Lshr:nh,_htons:Yi,_bitshift64Shl:jh,___errno_location:Rh,_ntohs:Xi,runPostSets:sh,stackAlloc:di,stackSave:Lj,stackRestore:Dj,establishStackSpace:Vi,setThrew:ti,setTempRet0:Ej,getTempRet0:Kj,dynCall_iiii:Wh,dynCall_viiiii:xh,dynCall_vi:$i,dynCall_vii:xi,dynCall_iiiiiii:Yg,dynCall_ii:Si,dynCall_v:vj,dynCall_iii:qi}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _htonl=Module["_htonl"]=asm["_htonl"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _htons=Module["_htons"]=asm["_htons"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
+
+
+
+
diff --git a/bedTools/bigWigToWig_static.js.mem b/bedTools/bigWigToWig_static.js.mem
new file mode 100644
index 0000000000000000000000000000000000000000..c813451581c5dd8cda1ad0cb7711e36468867dfd
Binary files /dev/null and b/bedTools/bigWigToWig_static.js.mem differ
diff --git a/bedTools/libs/bigBed.c b/bedTools/libs/bigBed.c
new file mode 100644
index 0000000000000000000000000000000000000000..9b4059a77ec4e46090fdbf247eff9691d14070aa
--- /dev/null
+++ b/bedTools/libs/bigBed.c
@@ -0,0 +1,657 @@
+/* bigBed - interface to binary file with bed-style values (that is a bunch of
+ * possibly overlapping regions. */
+
+/* Copyright (C) 2013 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+
+#include "common.h"
+#include "hash.h"
+#include "linefile.h"
+#include "obscure.h"
+#include "dystring.h"
+#include "rangeTree.h"
+#include "cirTree.h"
+#include "bPlusTree.h"
+#include "basicBed.h"
+#include "asParse.h"
+#include "zlibFace.h"
+#include "sig.h"
+#include "udc.h"
+#include "bbiFile.h"
+#include "bigBed.h"
+
+struct bbiFile *bigBedFileOpen(char *fileName)
+/* Open up big bed file. */
+{
+return bbiFileOpen(fileName, bigBedSig, "big bed");
+}
+
+boolean bigBedFileCheckSigs(char *fileName)
+/* check file signatures at beginning and end of file */
+{
+return bbiFileCheckSigs(fileName, bigBedSig, "big bed");
+}
+
+struct bigBedInterval *bigBedIntervalQuery(struct bbiFile *bbi, char *chrom,
+	bits32 start, bits32 end, int maxItems, struct lm *lm)
+/* Get data for interval.  Return list allocated out of lm.  Set maxItems to maximum
+ * number of items to return, or to 0 for all items. */
+{
+struct bigBedInterval *el, *list = NULL;
+int itemCount = 0;
+bbiAttachUnzoomedCir(bbi);
+// Find blocks with padded start and end to make sure we include zero-length insertions:
+bits32 paddedStart = (start > 0) ? start-1 : start;
+bits32 paddedEnd = end+1;
+bits32 chromId;
+struct fileOffsetSize *blockList = bbiOverlappingBlocks(bbi, bbi->unzoomedCir,
+	chrom, paddedStart, paddedEnd, &chromId);
+struct fileOffsetSize *block, *beforeGap, *afterGap;
+struct udcFile *udc = bbi->udc;
+boolean isSwapped = bbi->isSwapped;
+
+/* Set up for uncompression optionally. */
+char *uncompressBuf = NULL;
+if (bbi->uncompressBufSize > 0)
+    uncompressBuf = needLargeMem(bbi->uncompressBufSize);
+
+char *mergedBuf = NULL;
+for (block = blockList; block != NULL; )
+    {
+    /* Find contigious blocks and read them into mergedBuf. */
+    fileOffsetSizeFindGap(block, &beforeGap, &afterGap);
+    bits64 mergedOffset = block->offset;
+    bits64 mergedSize = beforeGap->offset + beforeGap->size - mergedOffset;
+    udcSeek(udc, mergedOffset);
+    mergedBuf = needLargeMem(mergedSize);
+    udcMustRead(udc, mergedBuf, mergedSize);
+    char *blockBuf = mergedBuf;
+
+    /* Loop through individual blocks within merged section. */
+    for (;block != afterGap; block = block->next)
+        {
+	/* Uncompress if necessary. */
+	char *blockPt, *blockEnd;
+	if (uncompressBuf)
+	    {
+	    blockPt = uncompressBuf;
+	    int uncSize = zUncompress(blockBuf, block->size, uncompressBuf, bbi->uncompressBufSize);
+	    blockEnd = blockPt + uncSize;
+	    }
+	else
+	    {
+	    blockPt = blockBuf;
+	    blockEnd = blockPt + block->size;
+	    }
+
+	while (blockPt < blockEnd)
+	    {
+	    /* Read next record into local variables. */
+	    bits32 chr = memReadBits32(&blockPt, isSwapped);
+	    bits32 s = memReadBits32(&blockPt, isSwapped);
+	    bits32 e = memReadBits32(&blockPt, isSwapped);
+
+	    /* calculate length of rest of bed fields */
+	    int restLen = strlen(blockPt);
+
+	    /* If we're actually in range then copy it into a new  element and add to list. */
+	    if (chr == chromId &&
+                ((s < end && e > start)
+                // Make sure to include zero-length insertion elements at start or end:
+                 || (s == e && (s == end || e == start))))
+		{
+		++itemCount;
+		if (maxItems > 0 && itemCount > maxItems)
+		    break;
+
+		lmAllocVar(lm, el);
+		el->start = s;
+		el->end = e;
+		if (restLen > 0)
+		    el->rest = lmCloneStringZ(lm, blockPt, restLen);
+		el->chromId = chromId;
+		slAddHead(&list, el);
+		}
+
+	    // move blockPt pointer to end of previous bed
+	    blockPt += restLen + 1;
+	    }
+	if (maxItems > 0 && itemCount > maxItems)
+	    break;
+	blockBuf += block->size;
+        }
+    if (maxItems > 0 && itemCount > maxItems)
+        break;
+    freez(&mergedBuf);
+    }
+freez(&mergedBuf);
+freeMem(uncompressBuf);
+slFreeList(&blockList);
+slReverse(&list);
+return list;
+}
+
+int bigBedIntervalToRow(struct bigBedInterval *interval, char *chrom, char *startBuf, char *endBuf,
+	char **row, int rowSize)
+/* Convert bigBedInterval into an array of chars equivalent to what you'd get by
+ * parsing the bed file. The startBuf and endBuf are used to hold the ascii representation of
+ * start and end.  Note that the interval->rest string will have zeroes inserted as a side effect.
+ */
+{
+int fieldCount = 3;
+sprintf(startBuf, "%u", interval->start);
+sprintf(endBuf, "%u", interval->end);
+row[0] = chrom;
+row[1] = startBuf;
+row[2] = endBuf;
+if (!isEmpty(interval->rest))
+    {
+    int wordCount = chopByChar(cloneString(interval->rest), '\t', row+3, rowSize-3);
+    fieldCount += wordCount;
+    }
+return fieldCount;
+}
+
+static struct bbiInterval *bigBedCoverageIntervals(struct bbiFile *bbi,
+	char *chrom, bits32 start, bits32 end, struct lm *lm)
+/* Return intervals where the val is the depth of coverage. */
+{
+/* Get list of overlapping intervals */
+struct bigBedInterval *bi, *biList = bigBedIntervalQuery(bbi, chrom, start, end, 0, lm);
+if (biList == NULL)
+    return NULL;
+
+/* Make a range tree that collects coverage. */
+struct rbTree *rangeTree = rangeTreeNew();
+for (bi = biList; bi != NULL; bi = bi->next)
+    rangeTreeAddToCoverageDepth(rangeTree, bi->start, bi->end);
+struct range *range, *rangeList = rangeTreeList(rangeTree);
+
+/* Convert rangeList to bbiInterval list. */
+struct bbiInterval *bwi, *bwiList = NULL;
+for (range = rangeList; range != NULL; range = range->next)
+    {
+    lmAllocVar(lm, bwi);
+    bwi->start = range->start;
+    if (bwi->start < start)
+       bwi->start = start;
+    bwi->end = range->end;
+    if (bwi->end > end)
+       bwi->end = end;
+    bwi->val = ptToInt(range->val);
+    slAddHead(&bwiList, bwi);
+    }
+slReverse(&bwiList);
+
+/* Clean up and go home. */
+rangeTreeFree(&rangeTree);
+return bwiList;
+}
+
+boolean bigBedSummaryArrayExtended(struct bbiFile *bbi, char *chrom, bits32 start, bits32 end,
+	int summarySize, struct bbiSummaryElement *summary)
+/* Get extended summary information for summarySize evenly spaced elements into
+ * the summary array. */
+{
+return bbiSummaryArrayExtended(bbi, chrom, start, end, bigBedCoverageIntervals,
+	summarySize, summary);
+}
+
+boolean bigBedSummaryArray(struct bbiFile *bbi, char *chrom, bits32 start, bits32 end,
+	enum bbiSummaryType summaryType, int summarySize, double *summaryValues)
+/* Fill in summaryValues with  data from indicated chromosome range in bigBed file.
+ * Be sure to initialize summaryValues to a default value, which will not be touched
+ * for regions without data in file.  (Generally you want the default value to either
+ * be 0.0 or nan("") depending on the application.)  Returns FALSE if no data
+ * at that position. */
+{
+return bbiSummaryArray(bbi, chrom, start, end, bigBedCoverageIntervals,
+	summaryType, summarySize, summaryValues);
+}
+
+struct offsetSize 
+/* Simple file offset and file size. */
+    {
+    bits64 offset; 
+    bits64 size;
+    };
+
+static int cmpOffsetSizeRef(const void *va, const void *vb)
+/* Compare to sort slRef pointing to offsetSize.  Sort is kind of hokey,
+ * but guarantees all items that are the same will be next to each other
+ * at least, which is all we care about. */
+{
+const struct slRef *a = *((struct slRef **)va);
+const struct slRef *b = *((struct slRef **)vb);
+return memcmp(a->val, b->val, sizeof(struct offsetSize));
+}
+
+static struct fileOffsetSize *fosFromRedundantBlockList(struct slRef **pBlockList, 
+    boolean isSwapped)
+/* Convert from list of references to offsetSize format to list of fileOffsetSize
+ * format, while removing redundancy.   Sorts *pBlockList as a side effect. */
+{
+/* Sort input so it it easy to uniquify. */
+slSort(pBlockList, cmpOffsetSizeRef);
+struct slRef *blockList = *pBlockList;
+
+/* Make new fileOffsetSize for each unique offsetSize. */
+struct fileOffsetSize *fosList = NULL, *fos;
+struct offsetSize lastOffsetSize = {0,0};
+struct slRef *blockRef;
+for (blockRef = blockList; blockRef != NULL; blockRef = blockRef->next)
+    {
+    if (memcmp(&lastOffsetSize, blockRef->val, sizeof(lastOffsetSize)) != 0)
+        {
+	memcpy(&lastOffsetSize, blockRef->val, sizeof(lastOffsetSize));
+	AllocVar(fos);
+	if (isSwapped)
+	    {
+	    fos->offset = byteSwap64(lastOffsetSize.offset);
+	    fos->size = byteSwap64(lastOffsetSize.size);
+	    }
+	else
+	    {
+	    fos->offset = lastOffsetSize.offset;
+	    fos->size = lastOffsetSize.size;
+	    }
+	slAddHead(&fosList, fos);
+	}
+    }
+slReverse(&fosList);
+return fosList;
+}
+
+
+static struct fileOffsetSize *bigBedChunksMatchingName(struct bbiFile *bbi, 
+    struct bptFile *index, char *name)
+/* Get list of file chunks that match name.  Can slFreeList this when done. */
+{
+struct slRef *blockList = bptFileFindMultiple(index, 
+	name, strlen(name), sizeof(struct offsetSize));
+struct fileOffsetSize *fosList = fosFromRedundantBlockList(&blockList, bbi->isSwapped);
+slRefFreeListAndVals(&blockList);
+return fosList;
+}
+
+static struct fileOffsetSize *bigBedChunksMatchingNames(struct bbiFile *bbi, 
+	struct bptFile *index, char **names, int nameCount)
+/* Get list of file chunks that match any of the names.  Can slFreeList this when done. */
+{
+/* Go through all names and make a blockList that includes all blocks with any hit to any name.  
+ * Many of these blocks will occur multiple times. */
+struct slRef *blockList = NULL;
+int nameIx;
+for (nameIx = 0; nameIx < nameCount; ++nameIx)
+    {
+    char *name = names[nameIx];
+    struct slRef *oneList = bptFileFindMultiple(index, 
+	    name, strlen(name), sizeof(struct offsetSize));
+    blockList = slCat(oneList, blockList);
+    }
+
+/* Create nonredundant list of blocks. */
+struct fileOffsetSize *fosList = fosFromRedundantBlockList(&blockList, bbi->isSwapped);
+
+/* Clean up and resturn result. */
+slRefFreeListAndVals(&blockList);
+return fosList;
+}
+
+typedef boolean (*BbFirstWordMatch)(char *line, int fieldIx, void *target);
+/* A function that returns TRUE if first word in tab-separated line matches target. */
+
+static void extractField(char *line, int fieldIx, char **retField, int *retFieldSize)
+/* Go through tab separated line and figure out start and size of given field. */
+{
+int i;
+fieldIx -= 3;	/* Skip over chrom/start/end, which are not in line. */
+for (i=0; i<fieldIx; ++i)
+    {
+    line = strchr(line, '\t');
+    if (line == NULL)
+        {
+	warn("Not enough fields in extractField of %s", line);
+	internalErr();
+	}
+    line += 1;
+    }
+char *end = strchr(line, '\t');
+if (end == NULL)
+    end = line + strlen(line);
+*retField = line;
+*retFieldSize = end - line;
+}
+
+static boolean bbWordMatchesName(char *line, int fieldIx, void *target)
+/* Return true if first word of line is same as target, which is just a string. */
+{
+char *name = target;
+int fieldSize;
+char *field;
+extractField(line, fieldIx, &field, &fieldSize);
+return strlen(name) == fieldSize && memcmp(name, field, fieldSize) == 0;
+}
+
+static boolean bbWordIsInHash(char *line, int fieldIx, void *target)
+/* Return true if first word of line is same as target, which is just a string. */
+{
+int fieldSize;
+char *field;
+extractField(line, fieldIx, &field, &fieldSize);
+char fieldString[fieldSize+1];
+memcpy(fieldString, field, fieldSize);
+fieldString[fieldSize] = 0;
+
+/* Return boolean value that reflects whether we found it in hash */
+struct hash *hash = target;
+return hashLookup(hash, fieldString) != NULL;
+}
+
+static struct bigBedInterval *bigBedIntervalsMatchingName(struct bbiFile *bbi, 
+    struct fileOffsetSize *fosList, BbFirstWordMatch matcher, int fieldIx, 
+    void *target, struct lm *lm)
+/* Return list of intervals inside of sectors of bbiFile defined by fosList where the name 
+ * matches target somehow. */
+{
+struct bigBedInterval *interval, *intervalList = NULL;
+struct fileOffsetSize *fos;
+boolean isSwapped = bbi->isSwapped;
+for (fos = fosList; fos != NULL; fos = fos->next)
+    {
+    /* Read in raw data */
+    udcSeek(bbi->udc, fos->offset);
+    char *rawData = needLargeMem(fos->size);
+    udcRead(bbi->udc, rawData, fos->size);
+
+    /* Optionally uncompress data, and set data pointer to uncompressed version. */
+    char *uncompressedData = NULL;
+    char *data = NULL;
+    int dataSize = 0;
+    if (bbi->uncompressBufSize > 0)
+	{
+	data = uncompressedData = needLargeMem(bbi->uncompressBufSize);
+	dataSize = zUncompress(rawData, fos->size, uncompressedData, bbi->uncompressBufSize);
+	}
+    else
+	{
+        data = rawData;
+	dataSize = fos->size;
+	}
+
+    /* Set up for "memRead" routines to more or less treat memory block like file */
+    char *blockPt = data, *blockEnd = data + dataSize;
+    struct dyString *dy = dyStringNew(32); // Keep bits outside of chrom/start/end here
+
+
+    /* Read next record into local variables. */
+    while (blockPt < blockEnd)
+	{
+	bits32 chromIx = memReadBits32(&blockPt, isSwapped);
+	bits32 s = memReadBits32(&blockPt, isSwapped);
+	bits32 e = memReadBits32(&blockPt, isSwapped);
+	int c;
+	dyStringClear(dy);
+	// TODO - can simplify this probably just to for (;;) {if ((c = *blockPt++) == 0) ...
+	while ((c = *blockPt++) >= 0)
+	    {
+	    if (c == 0)
+		break;
+	    dyStringAppendC(dy, c);
+	    }
+	if ((*matcher)(dy->string, fieldIx, target))
+	    {
+	    lmAllocVar(lm, interval);
+	    interval->start = s;
+	    interval->end = e;
+	    interval->rest = cloneString(dy->string);
+	    interval->chromId = chromIx;
+	    slAddHead(&intervalList, interval);
+	    }
+	}
+
+    /* Clean up temporary buffers. */
+    dyStringFree(&dy);
+    freez(&uncompressedData);
+    freez(&rawData);
+    }
+slReverse(&intervalList);
+return intervalList;
+}
+
+
+
+struct bigBedInterval *bigBedNameQuery(struct bbiFile *bbi, struct bptFile *index,
+    int fieldIx, char *name, struct lm *lm)
+/* Return list of intervals matching file. These intervals will be allocated out of lm. */
+{
+struct fileOffsetSize *fosList = bigBedChunksMatchingName(bbi, index, name);
+struct bigBedInterval *intervalList = bigBedIntervalsMatchingName(bbi, fosList, 
+    bbWordMatchesName, fieldIx, name, lm);
+slFreeList(&fosList);
+return intervalList;
+}
+
+struct bigBedInterval *bigBedMultiNameQuery(struct bbiFile *bbi, struct bptFile *index,
+    int fieldIx, char **names, int nameCount, struct lm *lm)
+/* Fetch all records matching any of the names. Using given index on given field.
+ * Return list is allocated out of lm. */
+{
+/* Set up name index and get list of chunks that match any of our names. */
+struct fileOffsetSize *fosList = bigBedChunksMatchingNames(bbi, index, names, nameCount);
+
+/* Create hash of all names. */
+struct hash *hash = newHash(0);
+int nameIx;
+for (nameIx=0; nameIx < nameCount; ++nameIx)
+    hashAdd(hash, names[nameIx], NULL);
+
+
+/* Get intervals where name matches hash target. */
+struct bigBedInterval *intervalList = bigBedIntervalsMatchingName(bbi, fosList, 
+    bbWordIsInHash, fieldIx, hash, lm);
+
+/* Clean up and return results. */
+slFreeList(&fosList);
+hashFree(&hash);
+return intervalList;
+}
+
+void bigBedIntervalListToBedFile(struct bbiFile *bbi, struct bigBedInterval *intervalList, FILE *f)
+/* Write out big bed interval list to bed file, looking up chromosome. */
+{
+char chromName[bbi->chromBpt->keySize+1];
+int lastChromId = -1;
+struct bigBedInterval *interval;
+for (interval = intervalList; interval != NULL; interval = interval->next)
+    {
+    bbiCachedChromLookup(bbi, interval->chromId, lastChromId, chromName, sizeof(chromName));
+    lastChromId = interval->chromId;
+    fprintf(f, "%s\t%u\t%u\t%s\n", chromName, interval->start, interval->end, interval->rest);
+    }
+}
+
+int bigBedIntervalToRowLookupChrom(struct bigBedInterval *interval, 
+    struct bigBedInterval *prevInterval, struct bbiFile *bbi,
+    char *chromBuf, int chromBufSize, char *startBuf, char *endBuf, char **row, int rowSize)
+/* Convert bigBedInterval to array of chars equivalend to what you'd get by parsing the
+ * bed file.  If you already know what chromosome the interval is on use the simpler
+ * bigBedIntervalToRow.  This one will look up the chromosome based on the chromId field
+ * of the interval,  which is relatively time consuming.  To avoid doing this unnecessarily
+ * pass in a non-NULL prevInterval,  and if the chromId is the same on prevInterval as this,
+ * it will avoid the lookup.  The chromBufSize should be at greater or equal to 
+ * bbi->chromBpt->keySize+1. The startBuf and endBuf are used to hold the ascii representation of
+ * start and end, and should be 16 bytes.  Note that the interval->rest string will have zeroes 
+ * inserted as a side effect.  Returns number of fields in row.  */
+{
+int lastChromId = (prevInterval == NULL ? -1 : prevInterval->chromId);
+bbiCachedChromLookup(bbi, interval->chromId, lastChromId, chromBuf, chromBufSize);
+return bigBedIntervalToRow(interval, chromBuf, startBuf, endBuf, row, rowSize);
+}
+
+char *bigBedAutoSqlText(struct bbiFile *bbi)
+/* Get autoSql text if any associated with file.  Do a freeMem of this when done. */
+{
+if (bbi->asOffset == 0)
+    return NULL;
+struct udcFile *f = bbi->udc;
+udcSeek(f, bbi->asOffset);
+return udcReadStringAndZero(f);
+}
+
+struct asObject *bigBedAs(struct bbiFile *bbi)
+/* Get autoSql object definition if any associated with file. */
+{
+if (bbi->asOffset == 0)
+    return NULL;
+char *asText = bigBedAutoSqlText(bbi);
+struct asObject *as = asParseText(asText);
+freeMem(asText);
+return as;
+}
+
+struct asObject *bigBedAsOrDefault(struct bbiFile *bbi)
+// Get asObject associated with bigBed - if none exists in file make it up from field counts.
+{
+struct asObject *as = bigBedAs(bbi);
+if (as == NULL)
+    as = asParseText(bedAsDef(bbi->definedFieldCount, bbi->fieldCount));
+return as;
+}
+
+struct asObject *bigBedFileAsObjOrDefault(char *fileName)
+// Get asObject associated with bigBed file, or the default.
+{
+struct bbiFile *bbi = bigBedFileOpen(fileName);
+if (bbi)
+    {
+    struct asObject *as = bigBedAsOrDefault(bbi);
+    bbiFileClose(&bbi);
+    return as;
+    }
+return NULL;
+}
+
+bits64 bigBedItemCount(struct bbiFile *bbi)
+/* Return total items in file. */
+{
+udcSeek(bbi->udc, bbi->unzoomedDataOffset);
+return udcReadBits64(bbi->udc, bbi->isSwapped);
+}
+
+struct slName *bigBedListExtraIndexes(struct bbiFile *bbi)
+/* Return list of names of extra indexes beyond primary chrom:start-end one" */
+{
+struct udcFile *udc = bbi->udc;
+boolean isSwapped = bbi->isSwapped;
+
+/* See if we have any extra indexes, and if so seek to there. */
+bits64 offset = bbi->extraIndexListOffset;
+if (offset == 0)
+   return NULL;
+udcSeek(udc, offset);
+
+/* Construct list of field that are being indexed.  List is list of 
+ * field numbers within asObj. */
+int i;
+struct slInt *intList = NULL, *intEl;
+for (i=0; i<bbi->extraIndexCount; ++i)
+    {
+    bits16 fieldCount;
+    udcReadBits16(udc, isSwapped);  // type
+    fieldCount = udcReadBits16(udc, isSwapped);
+    udcSeekCur(udc, sizeof(bits64));  // skip over fileOffset
+    udcSeekCur(udc, 4);    // skip over reserved bits
+    if (fieldCount == 1)
+        {
+	bits16 fieldId = udcReadBits16(udc, isSwapped);
+	udcSeekCur(udc, 2);    // skip over reserved bits
+	intEl = slIntNew(fieldId);
+	slAddHead(&intList, intEl);
+	}
+    else
+        {
+	warn("Not yet understanding indexes on multiple fields at once.");
+	internalErr();
+	}
+    }
+
+/* Now have to make an asObject to find out name that corresponds to this field. */
+struct asObject *as = bigBedAsOrDefault(bbi);
+
+/* Make list of field names out of list of field numbers */
+struct slName *nameList = NULL;
+for (intEl = intList; intEl != NULL; intEl = intEl->next)
+    {
+    struct asColumn *col = slElementFromIx(as->columnList, intEl->val);
+    if (col == NULL)
+	{
+        warn("Inconsistent bigBed file %s", bbi->fileName);
+	internalErr();
+	}
+    slNameAddHead(&nameList, col->name);
+    }
+
+asObjectFree(&as);
+return nameList;
+}
+
+struct bptFile *bigBedOpenExtraIndex(struct bbiFile *bbi, char *fieldName, int *retFieldIx)
+/* Return index associated with fieldName.  Aborts if no such index.  Optionally return
+ * index in a row of this field. */
+{
+struct udcFile *udc = bbi->udc;
+boolean isSwapped = bbi->isSwapped;
+struct asObject *as = bigBedAsOrDefault(bbi);
+struct asColumn *col = asColumnFind(as, fieldName);
+if (col == NULL)
+    errAbort("No field %s in %s", fieldName, bbi->fileName);
+int colIx = slIxFromElement(as->columnList, col);
+if (retFieldIx != NULL)
+   *retFieldIx = colIx;
+asObjectFree(&as);
+
+/* See if we have any extra indexes, and if so seek to there. */
+bits64 offset = bbi->extraIndexListOffset;
+if (offset == 0)
+   errAbort("%s has no indexes", bbi->fileName);
+udcSeek(udc, offset);
+
+/* Go through each extra index and see if it's a match */
+int i;
+for (i=0; i<bbi->extraIndexCount; ++i)
+    {
+    bits16 type = udcReadBits16(udc, isSwapped);
+    bits16 fieldCount = udcReadBits16(udc, isSwapped);
+    bits64 fileOffset = udcReadBits64(udc, isSwapped);
+    udcSeekCur(udc, 4);    // skip over reserved bits
+
+    if (type != 0)
+        {
+	warn("Don't understand type %d", type);
+	internalErr();
+	}
+    if (fieldCount == 1)
+        {
+	bits16 fieldId = udcReadBits16(udc, isSwapped);
+	udcSeekCur(udc, 2);    // skip over reserved bits
+	if (fieldId == colIx)
+	    {
+	    udcSeek(udc, fileOffset);
+	    struct bptFile *bpt = bptFileAttach(bbi->fileName, udc);
+	    return bpt;
+	    }
+	}
+    else
+        {
+	warn("Not yet understanding indexes on multiple fields at once.");
+	internalErr();
+	}
+    }
+
+errAbort("%s is not indexed in %s", fieldName, bbi->fileName);
+return NULL;
+}
+
+
+
diff --git a/bedTools/wigToBedGraph_static.js b/bedTools/wigToBedGraph_static.js
index 04f33cd6f3fc32dcc9b91a17c0a5b598ec5fd785..1cf532685558275825112569677911a698db2a3a 100644
--- a/bedTools/wigToBedGraph_static.js
+++ b/bedTools/wigToBedGraph_static.js
@@ -1,8 +1,8 @@
-var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+9872;__ATINIT__.push();memoryInitializer="wigToBedGraph_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;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 ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}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}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"___syscall63":___syscall63,"___syscall42":___syscall42,"___syscall6":___syscall6,"_execvp":_execvp,"_llvm_fabs_f64":_llvm_fabs_f64,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"___syscall20":___syscall20,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_execl":_execl,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"_abort":_abort,"___syscall5":___syscall5,"___syscall4":___syscall4,"___syscall140":___syscall140,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+9872;__ATINIT__.push();memoryInitializer="wigToBedGraph_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;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 ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}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}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"___syscall63":___syscall63,"___syscall42":___syscall42,"_abort":_abort,"_execvp":_execvp,"_llvm_fabs_f64":_llvm_fabs_f64,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"___syscall20":___syscall20,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_execl":_execl,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"___syscall6":___syscall6,"___syscall5":___syscall5,"___syscall4":___syscall4,"___syscall140":___syscall140,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_v;var ja=env._pthread_cleanup_pop;var ka=env.___syscall221;var la=env.___syscall63;var ma=env.___syscall42;var na=env.___syscall6;var oa=env._execvp;var pa=env._llvm_fabs_f64;var qa=env._pthread_cleanup_push;var ra=env._fork;var sa=env.___syscall20;var ta=env.___assert_fail;var ua=env.___buildEnvironment;var va=env._signal;var wa=env._wait;var xa=env.___setErrNo;var ya=env._sbrk;var za=env._emscripten_memcpy_big;var Aa=env.__exit;var Ba=env._execl;var Ca=env._getenv;var Da=env.___syscall51;var Ea=env.___syscall57;var Fa=env.___syscall54;var Ga=env.___unlock;var Ha=env.___syscall3;var Ia=env._sysconf;var Ja=env.___lock;var Ka=env._abort;var La=env.___syscall5;var Ma=env.___syscall4;var Na=env.___syscall140;var Oa=env._exit;var Pa=env.___syscall145;var Qa=env.___syscall146;var Ra=env._waitpid;var Sa=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_v;var ja=env._pthread_cleanup_pop;var ka=env.___syscall221;var la=env.___syscall63;var ma=env.___syscall42;var na=env._abort;var oa=env._execvp;var pa=env._llvm_fabs_f64;var qa=env._pthread_cleanup_push;var ra=env._fork;var sa=env.___syscall20;var ta=env.___assert_fail;var ua=env.___buildEnvironment;var va=env._signal;var wa=env._wait;var xa=env.___setErrNo;var ya=env._sbrk;var za=env._emscripten_memcpy_big;var Aa=env.__exit;var Ba=env._execl;var Ca=env._getenv;var Da=env.___syscall51;var Ea=env.___syscall57;var Fa=env.___syscall54;var Ga=env.___unlock;var Ha=env.___syscall3;var Ia=env._sysconf;var Ja=env.___lock;var Ka=env.___syscall6;var La=env.___syscall5;var Ma=env.___syscall4;var Na=env.___syscall140;var Oa=env._exit;var Pa=env.___syscall145;var Qa=env.___syscall146;var Ra=env._waitpid;var Sa=0.0;
 // EMSCRIPTEN_START_FUNCS
-function Za(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[1825]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=7340+(b<<1<<2)|0;e=d+8|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[1829]|0)>>>0)Ka();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Ka()}else c[1825]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[1827]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=7340+(b<<1<<2)|0;e=d+8|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[1829]|0)>>>0)Ka();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[1827]|0;break}else Ka()}else{c[1825]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[1830]|0;b=l>>>3;d=7340+(b<<1<<2)|0;a=c[1825]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{m=a;n=b}}else{c[1825]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[1827]=h;c[1830]=e;N=j;i=O;return N|0}a=c[1826]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[7604+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[1829]|0;if(k>>>0<g>>>0)Ka();j=k+q|0;if(k>>>0>=j>>>0)Ka();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Ka();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Ka();a=f+12|0;if((c[a>>2]|0)!=(k|0))Ka();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Ka()}while(0);do if(h|0){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[1826]=c[1826]&~(1<<a);break}}else{if(h>>>0<(c[1829]|0)>>>0)Ka();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[1829]|0;if(o>>>0<b>>>0)Ka();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ka();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)Ka();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[1827]|0;if(a|0){f=c[1830]|0;b=a>>>3;e=7340+(b<<1<<2)|0;a=c[1825]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{r=a;s=b}}else{c[1825]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[1827]=d;c[1830]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[1826]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[7604+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[7604+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[1827]|0)-q|0)>>>0:0){f=c[1829]|0;if(k>>>0<f>>>0)Ka();h=k+q|0;if(k>>>0>=h>>>0)Ka();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Ka();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Ka();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ka();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Ka()}while(0);do if(g|0){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[1826]=c[1826]&~(1<<a);break}}else{if(g>>>0<(c[1829]|0)>>>0)Ka();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[1829]|0;if(u>>>0<b>>>0)Ka();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ka();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)Ka();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{w=a;x=b}}else{c[1825]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=7604+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Ka()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[1827]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[1830]|0;if(a>>>0>15){N=b+q|0;c[1830]=N;c[1827]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[1827]=0;c[1830]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[1828]|0;if(a>>>0>q>>>0){L=a-q|0;c[1828]=L;N=c[1831]|0;M=N+q|0;c[1831]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[1943]|0)){c[1945]=4096;c[1944]=4096;c[1946]=-1;c[1947]=-1;c[1948]=0;c[1936]=0;x=p&-16^1431655768;c[p>>2]=x;c[1943]=x}h=q+48|0;g=c[1945]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[1935]|0;if(a|0?(w=c[1933]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[1936]&4)){a=c[1831]|0;c:do if(a){d=7748;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[1828]|0)&g;if(a>>>0<2147483647){b=ya(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=ya(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[1944]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[1933]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[1935]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=ya(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[1945]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((ya(y|0)|0)==(-1|0)){ya(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[1936]=c[1936]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=ya(k|0)|0,A=ya(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[1933]|0)+f|0;c[1933]=a;if(a>>>0>(c[1934]|0)>>>0)c[1934]=a;j=c[1831]|0;do if(j){e=7748;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[1828]|0)|0;c[1831]=M;c[1828]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[1832]=c[1947];break}a=c[1829]|0;if(h>>>0<a>>>0){c[1829]=h;k=h}else k=a;d=h+f|0;a=7748;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=7748;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[1830]|0)){N=(c[1827]|0)+g|0;c[1827]=N;c[1830]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Ka();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Ka();b=f+12|0;if((c[b>>2]|0)!=(a|0))Ka();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Ka()}while(0);if(!h)break;b=c[a+28>>2]|0;d=7604+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[1829]|0)>>>0)Ka();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[1826]=c[1826]&~(1<<b);break e}while(0);e=c[1829]|0;if(L>>>0<e>>>0)Ka();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Ka();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=7340+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Ka();if((c[d+12>>2]|0)==(a|0))break;Ka()}while(0);if((e|0)==(d|0)){c[1825]=c[1825]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Ka();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Ka()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;do if(!(b&a)){c[1825]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[1829]|0)>>>0){M=a;N=b;break}Ka()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=7604+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Ka()}}else{N=(c[1828]|0)+g|0;c[1828]=N;c[1831]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=7748;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[1831]=N;c[1828]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[1832]=c[1947];e=d+4|0;c[e>>2]=27;c[a>>2]=c[1937];c[a+4>>2]=c[1938];c[a+8>>2]=c[1939];c[a+12>>2]=c[1940];c[1937]=h;c[1938]=f;c[1940]=0;c[1939]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{J=a;K=b}}else{c[1825]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=7604+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Ka()}}}else{N=c[1829]|0;if((N|0)==0|h>>>0<N>>>0)c[1829]=h;c[1937]=h;c[1938]=f;c[1940]=0;c[1834]=c[1943];c[1833]=-1;a=0;do{N=7340+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[1831]=M;c[1828]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[1832]=c[1947]}while(0);a=c[1828]|0;if(a>>>0>q>>>0){L=a-q|0;c[1828]=L;N=c[1831]|0;M=N+q|0;c[1831]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(ye()|0)>>2]=12;N=0;i=O;return N|0}function _a(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0}while((of(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Eb(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[7148+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Eb(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[7157+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Eb(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Eb(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ye()|0)>>2]=22;qd(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Eb(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Eb(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;k=re(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=re(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Eb(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else qd(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=re(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=mb(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){qd(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=ae(o|0,n|0,2)|0;H=re(H|0,C|0,-32,-1)|0;e=re(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=re(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=ke(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=re(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+yf(+Xb(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ye()|0)>>2]=34;g=+zf(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Eb(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48){h=0;e=0;while(1){h=re(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=re(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=mb(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){qd(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=re(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(ye()|0)>>2]=22;qd(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[768+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[768+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[768+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=ae(c[p>>2]|0,0,29)|0;o=re(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Oe(o|0,n|0,1e9,0)|0;o=Dd(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+yf(+Xb(1.0,105-o|0),j);m=+Ef(j,+Xb(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ef(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ye()|0)>>2]=34}while(0);g=+zf(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ye()|0)>>2]=22;qd(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function $a(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(ye()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)wb(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[4456+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}lb(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=ee(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=4936;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=4936;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=ke(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=4936;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?4936:4938;L=76}else{p=1;r=4937;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=4936;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=4936;o=N;break}case 109:{o=oc(c[(ye()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:6838;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Qb(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?6846:6851}else{G=1;H=6848}else{q=-q;G=1;H=6845}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Af(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=hc(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[4920+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Qb(e,32,K,r,I);if(!(c[e>>2]&32))wb(y,w,e)|0;Qb(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))wb(ea,o,e)|0;f=ba-p|0;Qb(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))wb(t,f,e)|0;Qb(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=ae(c[r>>2]|0,0,t|0)|0;B=re(B|0,C|0,o|0,0)|0;o=C;A=Dd(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Oe(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=hc(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Qb(e,32,K,w,I);if(!(c[e>>2]&32))wb(H,G,e)|0;Qb(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=hc(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Cc(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))wb(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;wb(6876,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=hc(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Cc(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))wb(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Qb(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=hc(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))wb(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}wb(6876,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Cc(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))wb(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Qb(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;wb(u,ba-u|0,e)|0}while(0);Qb(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Qb(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){wb(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))wb(s?(t?7157:6872):t?6864:6868,3,e)|0;Qb(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=4936;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[4920+(o&15)>>0]|r;o=ee(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=4936;L=77}else{o=t;t=2;r=4936+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=4936;L=77}}else if((L|0)==76){f=hc(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=sb(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=4936;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Ie(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Qb(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Ie(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))wb(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Qb(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Qb(e,32,o,s,p);if(!(c[e>>2]&32))wb(v,w,e)|0;Qb(e,48,o,s,p^65536);Qb(e,48,r,t,0);if(!(c[e>>2]&32))wb(f,t,e)|0;Qb(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;lb(j+(m<<3)|0,n,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=ia;return m|0}function ab(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Qf(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(of(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{qd(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Eb(e)|0}while((of(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}qd(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Eb(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Cc(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Cc(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Za(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Eb(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(pb(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=lc(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Pe(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Za(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=lc(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+_a(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;qd(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Eb(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(of(d[m>>0]|0)|0))break;else n=m}qd(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Eb(e)|0}while((of(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){cb(l);cb(f)}}else k=0;while(0);if(O|0)Pf(e);i=P;return k|0}function bb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=re(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(2153==0?(Pc(c[a+8>>2]|0,2167)|0)!=0:0){ba=a+32|0;T=ba;T=Wa[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=re(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=re(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=re(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=re(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=ke(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=re(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=ke((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=ke(k|0,j|0,f|0,d|0)|0;nc(b|0,B+f|0,o|0)|0;e=re(o|0,E|0,e|0,n|0)|0;f=C;d=ke(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=re(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Jd(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=ic(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=re(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=ke(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(2153){y=re(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=re(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Oe(k|0,j|0,w|0,0)|0;t=re(A|0,B|0,-1,-1)|0;t=re(t|0,C|0,w|0,0)|0;w=Oe(t|0,C|0,w|0,0)|0;t=m+52|0;dd(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((cf(u,d,s)|0)<(s|0))f=0;else{wf(u);j=B;k=A;continue}while(1){o=cf(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=gf(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Kd(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Kd(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=re(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=ke(f|0,j|0,p|0,q|0)|0;k=C;f=mc(j)|0;c[W>>2]=f;m=Wa[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Jd(Z,c[K>>2]|0,p,0)|0;Oc(Z,c[K>>2]|0,f,j);Je(W)}bc(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Jd(P,c[t>>2]|0,da+64|0,0)|0;Oc(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}wf(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Jd(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Qc(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ae(2179,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;ge(4,2235,$);ge(4,2281,aa);S=0;T=0;break}else if((n|0)==36){Qc(Z,j,f,h);S=ba;S=re(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=re(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function cb(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;if(!a)return;d=a+-8|0;h=c[1829]|0;if(d>>>0<h>>>0)Ka();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Ka();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Ka();if((k|0)==(c[1830]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[1827]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=7340+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Ka();if((c[b+12>>2]|0)!=(k|0))Ka()}if((d|0)==(b|0)){c[1825]=c[1825]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Ka();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Ka()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Ka();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Ka();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ka();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Ka()}while(0);if(f){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[1826]=c[1826]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[1829]|0)>>>0)Ka();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[1829]|0;if(i>>>0<d>>>0)Ka();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ka();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[1829]|0)>>>0)Ka();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Ka();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Ka();if(!(b&2)){if((m|0)==(c[1831]|0)){p=(c[1828]|0)+g|0;c[1828]=p;c[1831]=q;c[q+4>>2]=p|1;if((q|0)!=(c[1830]|0))return;c[1830]=0;c[1827]=0;return}if((m|0)==(c[1830]|0)){p=(c[1827]|0)+g|0;c[1827]=p;c[1830]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();d=b+12|0;if((c[d>>2]|0)!=(m|0))Ka();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Ka()}while(0);if(f|0){a=c[m+28>>2]|0;b=7604+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[1826]=c[1826]&~(1<<a);break}}else{if(f>>>0<(c[1829]|0)>>>0)Ka();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[1829]|0;if(n>>>0<d>>>0)Ka();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ka();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)Ka();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=7340+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[1829]|0)>>>0)Ka();if((c[b+12>>2]|0)!=(m|0))Ka()}if((d|0)==(b|0)){c[1825]=c[1825]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[1829]|0)>>>0)Ka();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Ka()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[1830]|0)){c[1827]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{o=a;p=b}}else{c[1825]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=7604+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[1826]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[1829]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Ka()}}else{c[1826]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[1833]|0)+-1|0;c[1833]=q;if(!q)a=7756;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[1833]=-1;return}function db(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[1829]|0;if(l>>>0<i>>>0)Ka();if((l|0)==(c[1830]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[1827]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=7340+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Ka();if((c[a+12>>2]|0)!=(l|0))Ka()}if((b|0)==(a|0)){c[1825]=c[1825]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Ka();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ka()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Ka();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Ka();d=e+12|0;if((c[d>>2]|0)!=(l|0))Ka();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Ka()}while(0);if(f){d=c[l+28>>2]|0;a=7604+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[1826]=c[1826]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[1829]|0)>>>0)Ka();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[1829]|0;if(j>>>0<b>>>0)Ka();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ka();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[1829]|0)>>>0)Ka();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[1829]|0;if(o>>>0<h>>>0)Ka();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[1831]|0)){q=(c[1828]|0)+g|0;c[1828]=q;c[1831]=r;c[r+4>>2]=q|1;if((r|0)!=(c[1830]|0))return;c[1830]=0;c[1827]=0;return}if((o|0)==(c[1830]|0)){q=(c[1827]|0)+g|0;c[1827]=q;c[1830]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Ka();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Ka();d=e+12|0;if((c[d>>2]|0)!=(o|0))Ka();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Ka()}while(0);if(f|0){d=c[o+28>>2]|0;a=7604+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[1826]=c[1826]&~(1<<d);break}}else{if(f>>>0<(c[1829]|0)>>>0)Ka();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[1829]|0;if(n>>>0<b>>>0)Ka();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ka();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[1829]|0)>>>0)Ka();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=7340+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Ka();if((c[a+12>>2]|0)!=(o|0))Ka()}if((b|0)==(a|0)){c[1825]=c[1825]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Ka();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Ka()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[1830]|0)){c[1827]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=7340+(d<<1<<2)|0;a=c[1825]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[1829]|0)>>>0)Ka();else{p=d;q=a}}else{c[1825]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=7604+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[1826]|0;a=1<<b;if(!(d&a)){c[1826]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[1829]|0)>>>0)Ka();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[1829]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Ka();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(ye()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0}while((of(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Eb(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Eb(b)|0;if((d[6883+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){qd(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[6883+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;qd(b,0);c[(ye()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Eb(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Kd(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=re(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[7139+((e*23|0)>>>5&7)>>0]|0;j=a[6883+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=ee(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=ae(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[6883+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Oe(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Kd(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=re(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[6883+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0}while((d[6883+i>>0]|0)>>>0<e>>>0);c[(ye()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ye()|0)>>2]=34;g=re(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ye()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=ke(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function fb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=sc(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Pc(r,2678)|0)){j=g;h=k;N=4;break}s=De(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(of(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Zb(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(jf(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Ue(Q,o,(m|0)==0?3100:m)|0;else{l=Pd(o,f)|0;if(!l){l=Pd(o,76)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Re(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Qe(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+uf(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+uf(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?3100:m;l=Pd(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=te(Q,o)|0;l=le(m)|0;if(!n){Ue(Q,o,l)|0;break}else{be(n,l);break}}Ue(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ae(2689,z);break}case 34:{c[A>>2]=o;Ae(2715,A);break}case 36:{c[K>>2]=o;Ae(2754,K);break}case 38:{c[L>>2]=o;Ae(2790,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ae(2823,B);break}case 43:{c[C>>2]=o;Ae(2790,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ae(2865,D);break}case 48:{c[E>>2]=o;Ae(2909,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ae(2944,F);break}case 53:{c[G>>2]=o;Ae(2984,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ae(3020,H);break}case 57:{c[I>>2]=c[l>>2];Ae(3061,I);break}case 65:{Ae(3103,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function gb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Ta[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Ye(h)|0;c[b+16>>2]=e;f=Ob(c[f>>2]|0)|0;if(!f){s=0;break}s=Zb(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;wf(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}pc(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)id(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=xd(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;pc(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;sd(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}$b(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ae(1577,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}$b(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){$b(b,f);s=1}else s=1}while(0);i=y;return s|0}function hb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[1829]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Ka();f=c[k+4>>2]|0;if(!(f&1))Ka();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[1945]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;db(m,d);return a|0}if((k|0)==(c[1831]|0)){d=(c[1828]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[1831]=l;c[1828]=m;return a|0}if((k|0)==(c[1830]|0)){e=(c[1827]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1827]=d;c[1830]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Ka();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Ka();d=g+12|0;if((c[d>>2]|0)!=(k|0))Ka();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Ka()}while(0);if(h|0){d=c[k+28>>2]|0;e=7604+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[1826]=c[1826]&~(1<<d);break}}else{if(h>>>0<(c[1829]|0)>>>0)Ka();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[1829]|0;if(j>>>0<f>>>0)Ka();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Ka();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[1829]|0)>>>0)Ka();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=7340+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ka();if((c[e+12>>2]|0)!=(k|0))Ka()}if((f|0)==(e|0)){c[1825]=c[1825]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ka();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Ka()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;db(l,m);return a|0}return 0}function ib(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)ta(3772,3792,448,3808);h=ra()|0;c[s>>2]=h;if((h|0)<0)od(3821,l);if(h|0)if(!(Ld(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;od(4359,k)}r=Fe()|0;c[s>>2]=r;if(Ld(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;od(3832,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Fd(m)|0;j=ra()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}kd(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))nd(t);if(c[k>>2]|0)nd(m);g=0;f=0;j=h;h=k}if((b|0)==14)od(3821,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){Ib(k,l,h,e);x=k+8|0;w=c[x>>2]|0;oa(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];od(4066,o)}Ib(k,0,h,e);h=Ad(1,f,g)|0;if((h|0)<0)od(3977,p);if((h|0)==(g|0)){Od(1)|0;Oa(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ae(4012,q)}}else if((b|0)==28){Od(0)|0;Od(1)|0;de();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=Ra(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;kd(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)od(4139,u);else if((b|0)==35){c[v>>2]=h;Ae(4154,v)}else if((b|0)==39){v=Fc(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ae(4184,w)}else if((b|0)==41)ta(4239,3792,242,4263);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[55]|0;v=Fc(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Xd(h,4282,x)|0;h=c[k>>2]|0}Oa(h>>>8&255|0)}else if((b|0)==47)ta(4329,3792,396,4349);else if((b|0)==49)Oa(0)}}function jb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=ld(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((ld(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=re(m|0,l|0,-1,-1)|0;d=C;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;ke(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=ke(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function kb(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=ee(d|0,m|0,52)|0;e=e&2047;j=ee(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=ae(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=ae(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=ae(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=ae(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=ae(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=ae(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=ae(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=ae(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=ke(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=ae(d|0,f|0,1)|0;f=C;e=e+-1|0;l=ke(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=ae(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=re(d|0,f|0,0,-1048576)|0;d=C;e=ae(e|0,0,52)|0;d=d|C;e=o|e}else{e=ee(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function lb(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 mb(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Kd(f|0,b|0,10,0)|0;f=C;e=re(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=re(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=ke(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function nb(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[1812]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ge(Qa(146,n|0)|0)|0}else{qa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ge(Qa(146,m|0)|0)|0;ja(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 ob(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(sb(6878,f<<24>>24,4)|0){e=Za(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(De(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(De(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ka(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ka(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ka(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[1813]|0))c[e+76>>2]=-1;Ja(7276);f=c[1818]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[1818]=e;Ga(7276)}}else{c[(ye()|0)>>2]=22;e=0}i=o;return e|0}function pb(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;l=i;i=i+16|0;g=l;j=(f|0)==0?7296:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[452+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(ye()|0)>>2]=84;f=-1}i=l;return f|0}function qb(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;q=i;i=i+48|0;p=q+24|0;o=q+8|0;n=q;m=q+36|0;k=q+32|0;j=ve(b)|0;c[m>>2]=j;c[k>>2]=j;l=sc(8,1)|0;h=(e|0)==0;e=j;a:while(1){j=fe(e)|0;if(!j){e=15;break}e=a[j>>0]|0;if(!(e<<24>>24)){e=15;break}if(!h?(xf(e<<24>>24)|0)==0:0){e=6;break}e=De(j,61)|0;if(!e){e=8;break}g=e+1|0;a[e>>0]=0;e=a[g>>0]|0;f=e<<24>>24;switch(e<<24>>24){case 34:case 39:{if(!(xb(g,g,k)|0)){e=11;break a}break}default:{e=td(g)|0;c[k>>2]=e;if(e|0){c[k>>2]=e+1;a[e>>0]=0}}}Ue(l,j,ve(g)|0)|0;e=c[k>>2]|0}if((e|0)==6){c[n>>2]=d;c[n+4>>2]=j;Ae(3396,n)}else if((e|0)==8){c[o>>2]=d;c[o+4>>2]=j;c[o+8>>2]=b;Ae(3462,o)}else if((e|0)==11){c[p>>2]=d;c[p+4>>2]=f;Ae(3528,p)}else if((e|0)==15){Je(m);i=q;return l|0}return 0}function rb(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+120|0;r=s+80|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(($a(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Qf(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=$a(b,d,o,q,r)|0;if(h){Ta[c[b+36>>2]&7](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=$a(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Pf(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function sb(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|0)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?b:0)|0}function tb(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[1812]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ge(Pa(145,h|0)|0)|0}else{qa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ge(Pa(145,g|0)|0)|0;ja(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function ub(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)ta(3250,3302,388,3314);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Ne(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Id(b);d=d+1|0}wf(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=ic(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=ne(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){af(e,3718);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){af(e,3722);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}af(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Zd(j)|0;if(!(c[a>>2]|0))Ae(3724,k);if(!(b&8))e=0;else{be(l,yc(92,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;be(l,yc(d,l)|0);e=e+1|0}i=m;return l|0}function wb(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(!(Nc(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Ta[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ta[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);nc(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 xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;l=n;j=a[b>>0]|0;k=j<<24>>24;b=b+1|0;a:while(1){h=0;f=b;while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24)){m=4;break a}g=f<<24>>24==92;if(h|0)break;if(g){h=1;f=b}else{m=10;break}}if((m|0)==10){m=0;if(f<<24>>24==j<<24>>24){m=12;break}a[d>>0]=f;d=d+1|0;continue}h=d+1|0;if(g|f<<24>>24==j<<24>>24){a[d>>0]=f;d=h;continue}else{a[d>>0]=92;a[h>>0]=f;d=d+2|0;continue}}if((m|0)==4){c[l>>2]=k;oe(3383,l);b=0}else if((m|0)==12){a[d>>0]=0;if(!e)b=1;else{c[e>>2]=b;b=1}}i=n;return b|0}function yb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;h=m+24|0;k=m+20|0;j=m+16|0;g=m+12|0;d=ed(a,1)|0;e=Gb(b,1174)|0;c[h>>2]=e;c[k>>2]=se(e)|0;e=d+28|0;f=d+4|0;while(1){if(!(vd(d,j)|0)){a=9;break}b=fd(j)|0;a=lf(c[j>>2]|0,c[e>>2]|0)|0;c[g>>2]=a;if(!(Pc(1176,b)|0))Lb(d,a,c[k>>2]|0);else{if(Pc(1186,b)|0){a=7;break}Db(d,a,c[k>>2]|0)}Lc(g)}if((a|0)==7){k=c[f>>2]|0;m=c[j>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=k;c[l+8>>2]=m;Ae(1199,l)}else if((a|0)==9){we(k);We(h);i=m;return}}function zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Zb(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Ab(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=ic(16)|0;else l=Vc(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=bf(d,e)|0;else{k=Vc(h,e+1|0)|0;c[l+4>>2]=k;nc(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)ub(b,ue(m)|0);return l|0}function Bb(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Uf()|0;Lf(7168)|0;if((c[1799]|0)!=0&(a|0)==(c[1800]|0)){Ad(2,1274,61)|0;Oa(1)}Jf(7168)|0;Lf(7204)|0;Lf(7168)|0;c[1800]=a;c[1799]=1;Jf(7168)|0;if(!(c[1808]|0))c[1808]=sc(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Nd(d,64,1336,b)|0;a=Gc(c[1808]|0,d)|0;if(!a){a=ic(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Ue(c[1808]|0,d,a)|0}Lf(7168)|0;c[1799]=0;Jf(7168)|0;Jf(7204)|0;i=e;return c[a+8>>2]|0}function Cb(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Db(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;n=i;i=i+32|0;k=n;j=n+20|0;l=n+8|0;h=Zc(d,1106,b)|0;d=te(d,1118)|0;d=xe((d|0)==0?1123:d)|0;f=b+28|0;g=b+4|0;while(1){if(!(vd(b,j)|0))break;o=fe(c[j>>2]|0)|0;c[j>>2]=o;if(xf(a[o>>0]|0)|0){m=4;break}if((Wb(c[j>>2]|0,l,3)|0)!=2){m=6;break}o=(xc(b,l,0)|0)+-1|0;Sb(e,h,o,o+d|0,+wc(b,l,1))}if((m|0)==4)Cf(b);else if((m|0)==6){o=c[g>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=o;Ae(1130,k)}i=n;return}function Eb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=jd(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Fb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=656;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ye()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=rb(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Gb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Pc(b,1772)|0){if(!(Pc(b,1778)|0)){f=c[25]|0;break}e=cc(b,d)|0;if(!e){a:do if(!d)e=7796;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=1806;break a}case 119:{e=1796;break a}default:{e=e<<24>>24==97?1785:7796;break a}}}while(0);d=oc(c[(ye()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ae(1815,g)}else f=e}else f=c[84]|0;while(0);i=h;return f|0}function Hb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[3565+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[3565+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function Ib(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((va(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))od(3865,k);l=Fe()|0;if(Ld(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Fe()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;od(3888,f)}if(b|0?(rd(b,0)|0)<0:0)od(3915,g);if((d|0)!=1?(rd(d,1)|0)<0:0)od(3935,h);if((e|0)!=2?(rd(e,2)|0)<0:0)od(3956,j);de();i=k;return}function Jb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Kc(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=ic(5)|0;c[g>>2]=f;if((Bd(e,f,4)|0)<4)Je(g);else a[f+4>>0]=0;Od(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=jc(e)|0,Je(h),(g|0)!=0):0){h=Ed(Dc(b)|0,33,b,0)|0;e=Cd(b,d,Df(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function Kb(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ec(a)|0;break}d=(Qf(a)|0)==0;b=ec(a)|0;if(!d)Pf(a)}else{if(!(c[54]|0))b=0;else b=Kb(c[54]|0)|0;Ja(7276);a=c[1818]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Qf(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ec(a)|0|b;if(d|0)Pf(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(7276)}while(0);return b|0}function Lb(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;l=i;i=i+16|0;j=l;g=Zc(d,1106,b)|0;f=(xe(Zc(d,1112,b)|0)|0)+-1|0;m=te(d,1118)|0;m=(m|0)==0?1123:m;h=xe(m)|0;d=te(d,1125)|0;d=xe((d|0)==0?m:d)|0;while(1){if(!(vd(b,j)|0))break;m=fe(c[j>>2]|0)|0;c[j>>2]=m;if(xf(a[m>>0]|0)|0){k=4;break}Gd(c[j>>2]|0);Sb(e,g,f,f+h|0,+pd(c[j>>2]|0));f=f+d|0}if((k|0)==4)Cf(b);i=l;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=md(e,0)|0;c[n>>2]=g;yd(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=md(d,e)|0;else if(!f){e=Kc(d,0,h)|0;if((e|0)<0){c[k>>2]=d;od(4425,k)}else j=e}else j=0;c[m>>2]=j;e=Tc(a,b,j,g)|0;nd(m);if(!l)nd(n);i=o;return e|0}function Nb(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[(ye()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ob(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=mc(k)|0;nc(j|0,d|0,e|0)|0;wf(c);d=j;e=k;c=j}k=bb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ve(d)|0;wf(c);c=l}i=h;return c|0}function Pb(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((_d(f,1270,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Qb(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;Cc(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){wb(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;wb(h,f,a)|0}while(0);i=j;return}function Rb(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(!(Nc(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ta[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Sb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0;if(((((c[1791]|0)==0?(c[a>>2]|0)!=0:0)?(g=a+20|0,(c[g>>2]|0)==(d|0)):0)?!(+h[a+24>>3]!=f):0)?(Pc(b,c[a+8>>2]|0)|0)==0:0)c[g>>2]=e;else{Ec(a);g=(Zb(b)|0)+1|0;i=a+12|0;if((g|0)>(c[i>>2]|0)){c[i>>2]=g;i=a+8|0;g=Te(c[i>>2]|0,0,g)|0;c[i>>2]=g}else g=c[a+8>>2]|0;rf(g,b)|0;c[a+16>>2]=d;c[a+20>>2]=e;h[a+24>>3]=f;c[a>>2]=1}return}function Tb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Qf(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Rb(d,b)|0;Pf(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Rb(d,b)|0}while(0);return e|0}function Ub(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=ke(h^a|0,g^b|0,h|0,g|0)|0;b=C;jb(a,b,ke(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=ke(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Vb(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Bd(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;od(1845,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ae(1870,g)}else if((d|0)==8){i=h;return}}function Wb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(of(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(of(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Xb(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=ae(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Yb(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(of(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Zb(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 _b(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=ee(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+_b(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 $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Gc(c[e>>2]|0,d)|0)){Ue(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Xd(g,1573,h)|0}}}while(0);i=j;return}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;mf(d);d=g}e=e+1|0}}else{ze(b);b=d+8|0}while(0);wf(c[b>>2]|0);Je(a)}return}function bc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[3573+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[3581+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[3581+f>>0]}while(0);return}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(sb(6878,a[d>>0]|0,4)|0){h=Yc(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ge(La(5,e|0)|0)|0;if((e|0)>=0){b=ob(e,d)|0;if(!b){c[f>>2]=e;na(6,f|0)|0;b=0}}else b=0}else{c[(ye()|0)>>2]=22;b=0}i=g;return b|0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ae(2428,d)}d=tf(a,b)|0;if(!d){g=c[(ye()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ae(2492,e)}else{i=f;return d|0}return 0}function ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ta[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Ta[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function fc(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=ke(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return ke((jb(h,g,ke(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;qd(h,0);e=+_a(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function hc(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=Dd(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Oe(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 ic(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ae(2564,b)}b=Hf(a)|0;if(!b){f=c[(ye()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ae(2617,d)}else{Cc(b|0,0,a|0)|0;i=e;return b|0}return 0}function jc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(zd(1399,a)|0))if(!(zd(1402,a)|0))if(!(zd(1406,a)|0))if(!(zd(1409,a)|0))a=0;else{a=1414;e=5}else{a=1418;e=5}else{a=1422;e=5}else{a=1424;e=5}if((e|0)==5){c[d>>2]=a;Nd(b,20,1427,d)|0;a=ve(b)|0}i=f;return a|0}function kc(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ta[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function lc(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Za(b)|0;return a|0}if(b>>>0>4294967231){c[(ye()|0)>>2]=12;a=0;return a|0}d=hb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Za(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;nc(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;cb(a);a=d;return a|0}function mc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ae(2304,b)}b=Hf(a)|0;if(!b){f=c[(ye()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ae(2362,d)}else{i=e;return b|0}return 0}function nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return za(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 oc(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[4946+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=5034;e=5;break}}if((e|0)==2)if(!c)b=5034;else{b=5034;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 pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ae(1722,k)}else{c[j>>2]=e;Me(d,j)}return 0}function rc(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;qd(j,0);e=eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ic(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)ta(3250,3302,357,3325);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Qd((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Ne(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function tc(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ja(7276);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[1818]|0)==(a|0))c[1818]=b;Ga(7276)}b=Kb(a)|0;b=Xa[c[a+12>>2]&1](a)|0|b;d=c[a+92>>2]|0;if(d|0)cb(d);if(!e)cb(a);return b|0}function uc(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=_c(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=2047;else e=(d|0)==2?2006:2015;else e=2038;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;od(2056,g);return 0}function vc(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[25]|0;if((c[f+76>>2]|0)>-1)g=Qf(f)|0;else g=0;do if((ff(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=(Rb(f,10)|0)<0}while(0);if(g|0)Pf(f);return d<<31>>31|0}function wc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+uf(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Ae(1674,g);return +(0.0)}function xc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Ae(1626,f)}j=Yb(d)|0;i=g;return j|0}function yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ic(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=ic((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ve(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[25]|0);if((b|0)==(c[84]|0)|d)if(d){Kb(b)|0;b=1}else b=1;else if(!(tc(b)|0))b=1;else{hd(2088,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Md(b)|0;do if((f|0)!=0?(Pc(f,3100)|0)!=0:0){d=Re(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ae(2823,h)}else e=d;while(0);i=j;return e|0}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Ne(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ae(3221,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Cc(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 Dc(a){a=a|0;var b=0;b=ve(a)|0;if(!(((zd(1439,a)|0)==0?(zd(1447,a)|0)==0:0)?!(zd(1456,a)|0):0))Pb(a,b,Zb(a)|0);if(!($d(b,1463)|0))if(!($d(b,1467)|0))if(!($d(b,1470)|0)){a=($d(b,1475)|0)==0;a=a?0:24}else a=60;else a=48;else a=36;wf(b);return a|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,j=0;d=i;i=i+32|0;b=d;if(c[a>>2]|0){e=c[a+4>>2]|0;j=c[a+16>>2]|0;g=c[a+20>>2]|0;f=+h[a+24>>3];c[b>>2]=c[a+8>>2];c[b+4>>2]=j;c[b+8>>2]=g;h[b+16>>3]=f;Xd(e,1058,b)|0;c[a>>2]=0}i=d;return}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=ne(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){af(e,3722);b=c[d>>2]|0}af(e,b);f=f+1|0}g=Zd(g)|0;i=h;return g|0}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Pc(c[e+4>>2]|0,d)|0)!=0);return e|0}function Hc(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((Ge(Na(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Pc(a,1772)|0){if(Dc(a)|0){c=Jb(a,b)|0;break}c=Kc(a,0,c)|0;if((c|0)==-1)c=0;else c=Cd(a,b,c)|0}else c=hf(b)|0;while(0);i=d;return c|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Ad(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)od(1912,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ae(1938,e)}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ge(La(5,f|0)|0)|0;i=e;return d|0}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){f=b+16|0;d=b+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break;b=(c[d>>2]|0)+(e<<2)|0;while(1){b=c[b>>2]|0;if(!b)break;wf(c[b+8>>2]|0)}e=e+1|0}ac(a)}return}function Mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Yd(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;nc(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Nc(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 Oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=re(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Jc(b,d,e);return}function Pc(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 Qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=re(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Vb(b,d,e);return}function Rc(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,Fa(54,f|0)|0):0)a[b+75>>0]=-1;f=nb(b,d,e)|0;i=g;return f|0}function Sc(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 Tc(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;yd(b);a=vb(a,b)|0;if(!(b&1)){b=Fd(a+16|0)|0;c[f>>2]=b;ib(a,b,d,e,0,0);nd(f)}else ud(a,d,e,0,0);i=g;return a|0}function Uc(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=6;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=ab(e,b,d)|0;i=g;return h|0}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Bc(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Fb(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ae(2102,g)}return 0}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=sb(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;nc(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Yc(b){b=b|0;var c=0,d=0,e=0;d=(De(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(De(b,120)|0)==0;d=e?d:d|128;b=(De(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}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;a=te(a,b)|0;if(!a){a=c[d+28>>2]|0;f=c[d+4>>2]|0;c[e>>2]=b;c[e+4>>2]=a;c[e+8>>2]=f;Ae(1071,e)}else{i=f;return a|0}return 0}function _c(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ge(Na(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function $c(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=(Qf(e)|0)==0;a=wb(a,f,e)|0;if(!g)Pf(e)}else a=wb(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;pe(e,b,8);if((c[e>>2]|0)==3){c[1791]=Bf(1259)|0;yb(c[b+4>>2]|0,c[b+8>>2]|0);i=d;return 0}else Ae(800,d);return 0}function bd(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function cd(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[25]|0;else{vc(1341)|0;vc(1366)|0;d=c[25]|0;rb(d,a,b)|0;Tb(10,d)|0;Kb(d)|0}Kb(d)|0;d=c[55]|0;rb(d,a,b)|0;Tb(10,d)|0;Kb(d)|0}return}function dd(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=mc(h)|0;a=a+136|0;Jd(a,b,d+64|0,0)|0;Qc(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ic(a,b)|0;if(!b){e=oc(c[(ye()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Ae(1551,d)}else{i=e;return b|0}return 0}function fd(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=fe(e)|0,(a[d>>0]|0)!=0):0){e=td(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function gd(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=oc(c[(ye()|0)>>2]|0)|0;c[g+4>>2]=a;Wd(f,1393,g)|0;qe(f,e);i=d;return}function id(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else nc(b,c,d)|0;return b|0}function jd(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(kc(a)|0)!=0:0)b=-1;else if((Ta[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ae(4082,e)}}function ld(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 md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Kc(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;od(4393,d)}else{i=e;return b|0}return 0}function nd(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Od(b)|0)<0){c[d>>2]=b;od(4117,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=oc(c[(ye()|0)>>2]|0)|0;c[f+4>>2]=a;Wd(e,1393,f)|0;Me(e,d)}function pd(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+uf(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;Ae(1753,e);return +(0.0)}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=la(63,e|0)|0}while((d|0)==-16);e=Ge(d)|0;i=f;return e|0}function sd(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Te(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else ta(1495,1517,352,1533)}function td(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(of(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function ud(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Fd(h)|0;ib(a,b,c[h>>2]|0,d,e,f);nd(h);i=g;return}function vd(b,d){b=b|0;d=d|0;a:while(1){if(!(gb(b,d,0)|0)){b=0;break}switch(a[(fe(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;nc(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Bd(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function yd(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ae(3589,c);break}default:{}}if((a&18|0)==16)Ae(3655,b);else{i=c;return}}function zd(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ge(Ma(4,f|0)|0)|0;i=e;return a|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ge(Ha(3,f|0)|0)|0;i=e;return a|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ic(104)|0;c[f+4>>2]=ve(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=ic(65537)|0;return f|0}function Dd(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;jb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Mb(g,b,d,e)|0;i=f;return e|0}function Fd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((he(b)|0)<0)od(3754,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Gd(b){b=b|0;var c=0,d=0;c=Zb(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(of(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[18]|0)>=(a|0)){a=c[1809]|0;if(!a){a=c[55]|0;c[1809]=a}rb(a,b,d)|0;Kb(c[1809]|0)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return uc(b,d,e)|0}function Kd(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=bd(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ge(Ea(57,e|0)|0)|0;i=d;return a|0}function Md(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[1810]|0;if(!b)Ae(3189,d);else{a=te(b,a)|0;i=d;return a|0}return 0}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Wc(a,b,d,g)|0;i=f;return e|0}function Od(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=na(6,d|0)|0;a=Ge((a|0)==-4?-115:a)|0;i=b;return a|0}function Pd(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Pc(d,a)|0))break;b=b+8|0}return b|0}function Qd(a){a=a|0;var b=0;b=ic(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Bc(b,a)|0;return b|0}function Rd(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=Ge(na(6,d|0)|0)|0;i=b;return a|0}function Sd(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]}function Td(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Wa[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Vd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=ic(d+1|0)|0;c=(c|0)<(d|0)?c:d;nc(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xe(a,b,f)|0;i=e;return d|0}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=rb(a,b,f)|0;i=e;return d|0}function Yd(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Te(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Zd(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)ta(3336,3347,40,3363);else{b=c[b+4>>2]|0;Je(a);return b|0}return 0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Uc(a,b,f)|0;i=e;return d|0}function $d(a,b){a=a|0;b=b|0;var c=0;c=Zb(a)|0;c=c-(Zb(b)|0)|0;if((c|0)<0)c=0;else c=(Pc(a+c|0,b)|0)==0&1;return c|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function be(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function ce(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;wf(b);b=d}c[a>>2]=0;return}function de(){var a=0,b=0;a=Ia(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Od(b)|0;b=b+1|0}return}function ee(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function fe(b){b=b|0;if(!b)b=0;else while(1)if(!(of(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function ge(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;Hd(a,b,f);i=e;return}function he(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ge(ma(42,d|0)|0)|0;i=b;return a|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;a=dc(a,c)|0;if(c>>>0>b>>>0)Cc(a+b|0,0,c-b|0)|0;return a|0}function je(){}function ke(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 (C=d,a-c>>>0|0)|0}function le(a){a=a|0;var b=0;if(!a)a=ic(8)|0;else{b=ic((Zb(a)|0)+8|0)|0;rf(b+4|0,a)|0;a=b}return a|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[18]=a;c[d>>2]=0;i=b;return}function ne(a){a=a|0;var b=0;b=ic(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=ic(a+1|0)|0;c[b+8>>2]=a;return b|0}function oe(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;qe(a,e);i=d;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[1810]|0)){Le(fb(a,b,0,d,0)|0);c[1811]=d}return}function qe(a,b){a=a|0;b=b|0;var d=0;d=Bb()|0;Va[c[d+8+(c[d+88>>2]<<2)>>2]&1](a,b);return}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function se(a){a=a|0;var b=0;b=ic(32)|0;c[b+4>>2]=a;c[b+12>>2]=64;c[b+8>>2]=ic(64)|0;return b|0}function te(a,b){a=a|0;b=b|0;a=Gc(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ue(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ve(a){a=a|0;var b=0;if(!a)a=0;else{b=Zb(a)|0;a=Vd(a,b,b)|0}return a|0}function we(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ec(b);wf(c[b+8>>2]|0);Je(a)}return}function xe(a){a=a|0;var b=0;b=i;i=i+16|0;a=qc(a,0,b)|0;i=b;return a|0}function ye(){var a=0;if(!(c[1812]|0))a=7292;else a=c[(Uf()|0)+64>>2]|0;return a|0}function ze(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ce(b);wf(b);c[a>>2]=0}return}function Ae(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Me(a,d)}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ta[a&7](b|0,c|0,d|0)|0}function Ce(a){a=a|0;if((c[a+76>>2]|0)>-1?Qf(a)|0:0)Pf(a);return c[a+60>>2]|0}function De(b,c){b=b|0;c=c|0;b=zb(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ee(){var a=0;a=Bb()|0;Ya[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Oa(-1)}function Fe(){var a=0,b=0;b=i;i=i+16|0;a=sa(20,b|0)|0;i=b;return a|0}function Ge(a){a=a|0;if(a>>>0>4294963200){c[(ye()|0)>>2]=0-a;a=-1}return a|0}function He(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ie(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Nb(a,b,0)|0;return a|0}function Je(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)If(b);return}function Ke(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Le(a){a=a|0;c[1810]=a;if(Md(2681)|0)me(Ac(2681,0)|0);return}function Me(a,b){a=a|0;b=b|0;c[(Bb()|0)+4>>2]=1;qe(a,b);Ee()}function Ne(a){a=a|0;var b=0;b=mc(a)|0;Cc(b|0,0,a|0)|0;return b|0}function Oe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jb(a,b,c,d,0)|0}function Pe(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;a=rc(a,b,c,0,-2147483648)|0;return a|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;a=rc(a,b,c,-2147483648,0)|0;return a|0}function Se(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;return ie(a,b,c)|0}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;return Ab(a,b,Zb(b)|0,c)|0}function Ve(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function We(a){a=a|0;if(!(zc(a)|0))Ee();else return}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;return Fb(a,2147483647,b,c)|0}function Ye(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;Va[a&1](b|0,c|0)}function _e(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,b,c)|0}function $e(){if((Ca(1374)|0)==0?(Ca(1384)|0)==0:0)Oa(-1);Ka()}function af(a,b){a=a|0;b=b|0;Mc(a,b,Zb(b)|0);return}function bf(a,b){a=a|0;b=b|0;return Vd(a,Zb(a)|0,b)|0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;return Hb(a,b,0,c)|0}function df(a){a=a|0;if(!(c[a+68>>2]|0))Pf(a);return}function ef(a){a=a|0;if(!(c[a+68>>2]|0))Pf(a);return}function ff(a,b){a=a|0;b=b|0;return ($c(a,Zb(a)|0,1,b)|0)+-1|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;return Hb(a,b,1,c)|0}function hf(a){a=a|0;return Cd(1772,a,Ce(c[84]|0)|0)|0}function jf(a){a=a|0;return ((a+-48|0)>>>0<10|(xf(a)|0)!=0)&1|0}function kf(a,b){a=a|0;b=b|0;return Xa[a&1](b|0)|0}function lf(a,b){a=a|0;b=b|0;return qb(a,b,1)|0}function mf(a){a=a|0;wf(c[a+4>>2]|0);wf(a);return}function nf(a,b){a=a|0;b=b|0;i=a;j=b}function of(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function pf(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function qf(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function rf(a,b){a=a|0;b=b|0;Cb(a,b)|0;return a|0}function sf(a,b){a=a|0;b=b|0;Ua[a&3](b|0)}function tf(a,b){a=a|0;b=b|0;return lc(a,b)|0}function uf(a,b){a=a|0;b=b|0;return +(+gc(a,b,1))}function vf(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function wf(a){a=a|0;if(a|0)If(a);return}function xf(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function yf(a,b){a=+a;b=+b;return +(+gd(a,b))}function zf(a,b){a=+a;b=b|0;return +(+Xb(a,b))}function Af(a,b){a=+a;b=b|0;return +(+_b(a,b))}function Bf(a){a=a|0;return (Md(a)|0)!=0|0}function Cf(b){b=b|0;a[b+48>>0]=1;return}function Df(a){a=a|0;return c[a+16>>2]|0}function Ef(a,b){a=+a;b=+b;return +(+kb(a,b))}function Ff(a){a=a|0;return Se(a|0)|0}function Gf(a){a=a|0;Ya[a&1]()}function Hf(a){a=a|0;return Za(a)|0}function If(a){a=a|0;cb(a);return}function Jf(a){a=a|0;return 0}function Kf(a,b){a=a|0;b=b|0;ba(2)}function Lf(a){a=a|0;return 0}function Mf(a){a=a|0;i=a}function Nf(a){a=a|0;C=a}function Of(a){a=a|0;ba(4);return 0}function Pf(a){a=a|0;return}function Qf(a){a=a|0;return 0}function Rf(){return C|0}function Sf(){return i|0}function Tf(a){a=a|0;ba(1)}function Uf(){return 0}function Vf(){ba(5)}
+function Za(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[1825]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=7340+(b<<1<<2)|0;e=d+8|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[1829]|0)>>>0)na();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else na()}else c[1825]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[1827]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=7340+(b<<1<<2)|0;e=d+8|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[1829]|0)>>>0)na();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[1827]|0;break}else na()}else{c[1825]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[1830]|0;b=l>>>3;d=7340+(b<<1<<2)|0;a=c[1825]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{m=a;n=b}}else{c[1825]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[1827]=h;c[1830]=e;N=j;i=O;return N|0}a=c[1826]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[7604+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[1829]|0;if(k>>>0<g>>>0)na();j=k+q|0;if(k>>>0>=j>>>0)na();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)na();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)na();a=f+12|0;if((c[a>>2]|0)!=(k|0))na();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else na()}while(0);do if(h|0){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[1826]=c[1826]&~(1<<a);break}}else{if(h>>>0<(c[1829]|0)>>>0)na();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[1829]|0;if(o>>>0<b>>>0)na();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)na();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)na();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[1827]|0;if(a|0){f=c[1830]|0;b=a>>>3;e=7340+(b<<1<<2)|0;a=c[1825]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{r=a;s=b}}else{c[1825]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[1827]=d;c[1830]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[1826]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[7604+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[7604+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[1827]|0)-q|0)>>>0:0){f=c[1829]|0;if(k>>>0<f>>>0)na();h=k+q|0;if(k>>>0>=h>>>0)na();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)na();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)na();a=e+12|0;if((c[a>>2]|0)!=(k|0))na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else na()}while(0);do if(g|0){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[1826]=c[1826]&~(1<<a);break}}else{if(g>>>0<(c[1829]|0)>>>0)na();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[1829]|0;if(u>>>0<b>>>0)na();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)na();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)na();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{w=a;x=b}}else{c[1825]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=7604+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else na()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[1827]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[1830]|0;if(a>>>0>15){N=b+q|0;c[1830]=N;c[1827]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[1827]=0;c[1830]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[1828]|0;if(a>>>0>q>>>0){L=a-q|0;c[1828]=L;N=c[1831]|0;M=N+q|0;c[1831]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[1943]|0)){c[1945]=4096;c[1944]=4096;c[1946]=-1;c[1947]=-1;c[1948]=0;c[1936]=0;x=p&-16^1431655768;c[p>>2]=x;c[1943]=x}h=q+48|0;g=c[1945]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[1935]|0;if(a|0?(w=c[1933]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[1936]&4)){a=c[1831]|0;c:do if(a){d=7748;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[1828]|0)&g;if(a>>>0<2147483647){b=ya(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=ya(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[1944]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[1933]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[1935]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=ya(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[1945]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((ya(y|0)|0)==(-1|0)){ya(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[1936]=c[1936]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=ya(k|0)|0,A=ya(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[1933]|0)+f|0;c[1933]=a;if(a>>>0>(c[1934]|0)>>>0)c[1934]=a;j=c[1831]|0;do if(j){e=7748;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[1828]|0)|0;c[1831]=M;c[1828]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[1832]=c[1947];break}a=c[1829]|0;if(h>>>0<a>>>0){c[1829]=h;k=h}else k=a;d=h+f|0;a=7748;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=7748;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[1830]|0)){N=(c[1827]|0)+g|0;c[1827]=N;c[1830]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)na();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)na();b=f+12|0;if((c[b>>2]|0)!=(a|0))na();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else na()}while(0);if(!h)break;b=c[a+28>>2]|0;d=7604+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[1829]|0)>>>0)na();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[1826]=c[1826]&~(1<<b);break e}while(0);e=c[1829]|0;if(L>>>0<e>>>0)na();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)na();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[1829]|0)>>>0)na();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=7340+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)na();if((c[d+12>>2]|0)==(a|0))break;na()}while(0);if((e|0)==(d|0)){c[1825]=c[1825]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)na();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}na()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;do if(!(b&a)){c[1825]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[1829]|0)>>>0){M=a;N=b;break}na()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=7604+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else na()}}else{N=(c[1828]|0)+g|0;c[1828]=N;c[1831]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=7748;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[1831]=N;c[1828]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[1832]=c[1947];e=d+4|0;c[e>>2]=27;c[a>>2]=c[1937];c[a+4>>2]=c[1938];c[a+8>>2]=c[1939];c[a+12>>2]=c[1940];c[1937]=h;c[1938]=f;c[1940]=0;c[1939]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{J=a;K=b}}else{c[1825]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=7604+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else na()}}}else{N=c[1829]|0;if((N|0)==0|h>>>0<N>>>0)c[1829]=h;c[1937]=h;c[1938]=f;c[1940]=0;c[1834]=c[1943];c[1833]=-1;a=0;do{N=7340+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[1831]=M;c[1828]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[1832]=c[1947]}while(0);a=c[1828]|0;if(a>>>0>q>>>0){L=a-q|0;c[1828]=L;N=c[1831]|0;M=N+q|0;c[1831]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(ye()|0)>>2]=12;N=0;i=O;return N|0}function _a(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0}while((of(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Eb(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[7148+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Eb(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[7157+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Eb(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Eb(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ye()|0)>>2]=22;qd(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Eb(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Eb(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;k=re(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=re(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Eb(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else qd(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=re(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=mb(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){qd(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=ae(o|0,n|0,2)|0;H=re(H|0,C|0,-32,-1)|0;e=re(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=re(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=ke(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=re(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+yf(+Xb(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ye()|0)>>2]=34;g=+zf(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Eb(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48){h=0;e=0;while(1){h=re(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=re(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=mb(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){qd(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=re(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(ye()|0)>>2]=22;qd(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[768+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[768+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[768+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=ae(c[p>>2]|0,0,29)|0;o=re(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Oe(o|0,n|0,1e9,0)|0;o=Dd(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+yf(+Xb(1.0,105-o|0),j);m=+Ef(j,+Xb(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ef(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ye()|0)>>2]=34}while(0);g=+zf(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ye()|0)>>2]=22;qd(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function $a(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(ye()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)wb(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[4456+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}lb(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=ee(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=4936;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=4936;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=ke(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=4936;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?4936:4938;L=76}else{p=1;r=4937;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=4936;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=4936;o=N;break}case 109:{o=oc(c[(ye()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:6838;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Qb(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?6846:6851}else{G=1;H=6848}else{q=-q;G=1;H=6845}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Af(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=hc(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[4920+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Qb(e,32,K,r,I);if(!(c[e>>2]&32))wb(y,w,e)|0;Qb(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))wb(ea,o,e)|0;f=ba-p|0;Qb(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))wb(t,f,e)|0;Qb(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=ae(c[r>>2]|0,0,t|0)|0;B=re(B|0,C|0,o|0,0)|0;o=C;A=Dd(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Oe(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=hc(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Qb(e,32,K,w,I);if(!(c[e>>2]&32))wb(H,G,e)|0;Qb(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=hc(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Cc(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))wb(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;wb(6876,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=hc(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Cc(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))wb(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Qb(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=hc(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))wb(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}wb(6876,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Cc(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))wb(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Qb(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;wb(u,ba-u|0,e)|0}while(0);Qb(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Qb(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){wb(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))wb(s?(t?7157:6872):t?6864:6868,3,e)|0;Qb(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=4936;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[4920+(o&15)>>0]|r;o=ee(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=4936;L=77}else{o=t;t=2;r=4936+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=4936;L=77}}else if((L|0)==76){f=hc(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=sb(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=4936;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Ie(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Qb(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Ie(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))wb(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Qb(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Qb(e,32,o,s,p);if(!(c[e>>2]&32))wb(v,w,e)|0;Qb(e,48,o,s,p^65536);Qb(e,48,r,t,0);if(!(c[e>>2]&32))wb(f,t,e)|0;Qb(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;lb(j+(m<<3)|0,n,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=ia;return m|0}function ab(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Qf(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(of(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{qd(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Eb(e)|0}while((of(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}qd(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Eb(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Cc(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Cc(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Za(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Eb(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(pb(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=lc(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Pe(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Za(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=lc(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+_a(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;qd(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Eb(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(of(d[m>>0]|0)|0))break;else n=m}qd(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Eb(e)|0}while((of(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){cb(l);cb(f)}}else k=0;while(0);if(O|0)Pf(e);i=P;return k|0}function bb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=re(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(4305==0?(Pc(c[a+8>>2]|0,4319)|0)!=0:0){ba=a+32|0;T=ba;T=Wa[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=re(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=re(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=re(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=re(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=ke(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=re(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=ke((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=ke(k|0,j|0,f|0,d|0)|0;nc(b|0,B+f|0,o|0)|0;e=re(o|0,E|0,e|0,n|0)|0;f=C;d=ke(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=re(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Jd(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=ic(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=re(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=ke(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(4305){y=re(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=re(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Oe(k|0,j|0,w|0,0)|0;t=re(A|0,B|0,-1,-1)|0;t=re(t|0,C|0,w|0,0)|0;w=Oe(t|0,C|0,w|0,0)|0;t=m+52|0;dd(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((cf(u,d,s)|0)<(s|0))f=0;else{wf(u);j=B;k=A;continue}while(1){o=cf(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=gf(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Kd(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Kd(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=re(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=ke(f|0,j|0,p|0,q|0)|0;k=C;f=mc(j)|0;c[W>>2]=f;m=Wa[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Jd(Z,c[K>>2]|0,p,0)|0;Oc(Z,c[K>>2]|0,f,j);Je(W)}bc(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Jd(P,c[t>>2]|0,da+64|0,0)|0;Oc(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}wf(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Jd(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Qc(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ae(4331,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;ge(4,4387,$);ge(4,4433,aa);S=0;T=0;break}else if((n|0)==36){Qc(Z,j,f,h);S=ba;S=re(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=re(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function cb(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;if(!a)return;d=a+-8|0;h=c[1829]|0;if(d>>>0<h>>>0)na();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)na();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)na();if((k|0)==(c[1830]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[1827]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=7340+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)na();if((c[b+12>>2]|0)!=(k|0))na()}if((d|0)==(b|0)){c[1825]=c[1825]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)na();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else na()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)na();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)na();a=e+12|0;if((c[a>>2]|0)!=(k|0))na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else na()}while(0);if(f){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[1826]=c[1826]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[1829]|0)>>>0)na();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[1829]|0;if(i>>>0<d>>>0)na();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)na();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[1829]|0)>>>0)na();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)na();a=m+4|0;b=c[a>>2]|0;if(!(b&1))na();if(!(b&2)){if((m|0)==(c[1831]|0)){p=(c[1828]|0)+g|0;c[1828]=p;c[1831]=q;c[q+4>>2]=p|1;if((q|0)!=(c[1830]|0))return;c[1830]=0;c[1827]=0;return}if((m|0)==(c[1830]|0)){p=(c[1827]|0)+g|0;c[1827]=p;c[1830]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();d=b+12|0;if((c[d>>2]|0)!=(m|0))na();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else na()}while(0);if(f|0){a=c[m+28>>2]|0;b=7604+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[1826]=c[1826]&~(1<<a);break}}else{if(f>>>0<(c[1829]|0)>>>0)na();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[1829]|0;if(n>>>0<d>>>0)na();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)na();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)na();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=7340+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[1829]|0)>>>0)na();if((c[b+12>>2]|0)!=(m|0))na()}if((d|0)==(b|0)){c[1825]=c[1825]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[1829]|0)>>>0)na();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else na()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[1830]|0)){c[1827]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{o=a;p=b}}else{c[1825]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=7604+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[1826]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[1829]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else na()}}else{c[1826]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[1833]|0)+-1|0;c[1833]=q;if(!q)a=7756;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[1833]=-1;return}function db(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[1829]|0;if(l>>>0<i>>>0)na();if((l|0)==(c[1830]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[1827]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=7340+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)na();if((c[a+12>>2]|0)!=(l|0))na()}if((b|0)==(a|0)){c[1825]=c[1825]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)na();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else na()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)na();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)na();d=e+12|0;if((c[d>>2]|0)!=(l|0))na();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else na()}while(0);if(f){d=c[l+28>>2]|0;a=7604+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[1826]=c[1826]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[1829]|0)>>>0)na();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[1829]|0;if(j>>>0<b>>>0)na();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)na();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[1829]|0)>>>0)na();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[1829]|0;if(o>>>0<h>>>0)na();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[1831]|0)){q=(c[1828]|0)+g|0;c[1828]=q;c[1831]=r;c[r+4>>2]=q|1;if((r|0)!=(c[1830]|0))return;c[1830]=0;c[1827]=0;return}if((o|0)==(c[1830]|0)){q=(c[1827]|0)+g|0;c[1827]=q;c[1830]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)na();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)na();d=e+12|0;if((c[d>>2]|0)!=(o|0))na();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else na()}while(0);if(f|0){d=c[o+28>>2]|0;a=7604+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[1826]=c[1826]&~(1<<d);break}}else{if(f>>>0<(c[1829]|0)>>>0)na();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[1829]|0;if(n>>>0<b>>>0)na();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)na();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[1829]|0)>>>0)na();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=7340+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)na();if((c[a+12>>2]|0)!=(o|0))na()}if((b|0)==(a|0)){c[1825]=c[1825]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)na();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else na()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[1830]|0)){c[1827]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=7340+(d<<1<<2)|0;a=c[1825]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[1829]|0)>>>0)na();else{p=d;q=a}}else{c[1825]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=7604+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[1826]|0;a=1<<b;if(!(d&a)){c[1826]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[1829]|0)>>>0)na();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[1829]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))na();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(ye()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0}while((of(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Eb(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Eb(b)|0;if((d[6883+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){qd(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[6883+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;qd(b,0);c[(ye()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Eb(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Kd(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=re(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[7139+((e*23|0)>>>5&7)>>0]|0;j=a[6883+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=ee(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=ae(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[6883+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Oe(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Kd(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=re(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[6883+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0}while((d[6883+i>>0]|0)>>>0<e>>>0);c[(ye()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ye()|0)>>2]=34;g=re(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ye()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=ke(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function fb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=sc(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Pc(r,3151)|0)){j=g;h=k;N=4;break}s=De(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(of(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Zb(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(jf(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Ue(Q,o,(m|0)==0?3573:m)|0;else{l=Pd(o,f)|0;if(!l){l=Pd(o,36)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Re(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Qe(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+uf(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+uf(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?3573:m;l=Pd(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=te(Q,o)|0;l=le(m)|0;if(!n){Ue(Q,o,l)|0;break}else{be(n,l);break}}Ue(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ae(3162,z);break}case 34:{c[A>>2]=o;Ae(3188,A);break}case 36:{c[K>>2]=o;Ae(3227,K);break}case 38:{c[L>>2]=o;Ae(3263,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ae(3296,B);break}case 43:{c[C>>2]=o;Ae(3263,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ae(3338,D);break}case 48:{c[E>>2]=o;Ae(3382,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ae(3417,F);break}case 53:{c[G>>2]=o;Ae(3457,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ae(3493,H);break}case 57:{c[I>>2]=c[l>>2];Ae(3534,I);break}case 65:{Ae(3576,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function gb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Ta[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Ye(h)|0;c[b+16>>2]=e;f=Ob(c[f>>2]|0)|0;if(!f){s=0;break}s=Zb(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;wf(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}pc(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)id(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=xd(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;pc(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;sd(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}$b(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ae(4160,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}$b(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){$b(b,f);s=1}else s=1}while(0);i=y;return s|0}function hb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[1829]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))na();f=c[k+4>>2]|0;if(!(f&1))na();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[1945]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;db(m,d);return a|0}if((k|0)==(c[1831]|0)){d=(c[1828]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[1831]=l;c[1828]=m;return a|0}if((k|0)==(c[1830]|0)){e=(c[1827]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1827]=d;c[1830]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)na();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)na();d=g+12|0;if((c[d>>2]|0)!=(k|0))na();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else na()}while(0);if(h|0){d=c[k+28>>2]|0;e=7604+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[1826]=c[1826]&~(1<<d);break}}else{if(h>>>0<(c[1829]|0)>>>0)na();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[1829]|0;if(j>>>0<f>>>0)na();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)na();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[1829]|0)>>>0)na();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=7340+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)na();if((c[e+12>>2]|0)!=(k|0))na()}if((f|0)==(e|0)){c[1825]=c[1825]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)na();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else na()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;db(l,m);return a|0}return 0}function ib(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)ta(1457,1477,448,1493);h=ra()|0;c[s>>2]=h;if((h|0)<0)od(1506,l);if(h|0)if(!(Ld(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;od(2044,k)}r=Fe()|0;c[s>>2]=r;if(Ld(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;od(1517,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Fd(m)|0;j=ra()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}kd(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))nd(t);if(c[k>>2]|0)nd(m);g=0;f=0;j=h;h=k}if((b|0)==14)od(1506,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){Ib(k,l,h,e);x=k+8|0;w=c[x>>2]|0;oa(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];od(1751,o)}Ib(k,0,h,e);h=Ad(1,f,g)|0;if((h|0)<0)od(1662,p);if((h|0)==(g|0)){Od(1)|0;Oa(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ae(1697,q)}}else if((b|0)==28){Od(0)|0;Od(1)|0;de();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=Ra(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;kd(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)od(1824,u);else if((b|0)==35){c[v>>2]=h;Ae(1839,v)}else if((b|0)==39){v=Fc(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ae(1869,w)}else if((b|0)==41)ta(1924,1477,242,1948);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[55]|0;v=Fc(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Xd(h,1967,x)|0;h=c[k>>2]|0}Oa(h>>>8&255|0)}else if((b|0)==47)ta(2014,1477,396,2034);else if((b|0)==49)Oa(0)}}function jb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=ld(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((ld(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=re(m|0,l|0,-1,-1)|0;d=C;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;ke(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=ke(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function kb(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=ee(d|0,m|0,52)|0;e=e&2047;j=ee(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=ae(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=ae(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=ae(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=ae(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=ae(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=ae(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=ae(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=ae(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=ke(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=ae(d|0,f|0,1)|0;f=C;e=e+-1|0;l=ke(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=ae(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=re(d|0,f|0,0,-1048576)|0;d=C;e=ae(e|0,0,52)|0;d=d|C;e=o|e}else{e=ee(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function lb(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 mb(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Kd(f|0,b|0,10,0)|0;f=C;e=re(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=re(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=ke(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function nb(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[1812]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ge(Qa(146,n|0)|0)|0}else{qa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ge(Qa(146,m|0)|0)|0;ja(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 ob(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(sb(6878,f<<24>>24,4)|0){e=Za(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(De(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(De(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ka(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ka(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ka(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[1813]|0))c[e+76>>2]=-1;Ja(7276);f=c[1818]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[1818]=e;Ga(7276)}}else{c[(ye()|0)>>2]=22;e=0}i=o;return e|0}function pb(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;l=i;i=i+16|0;g=l;j=(f|0)==0?7296:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[452+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(ye()|0)>>2]=84;f=-1}i=l;return f|0}function qb(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;q=i;i=i+48|0;p=q+24|0;o=q+8|0;n=q;m=q+36|0;k=q+32|0;j=ve(b)|0;c[m>>2]=j;c[k>>2]=j;l=sc(8,1)|0;h=(e|0)==0;e=j;a:while(1){j=fe(e)|0;if(!j){e=15;break}e=a[j>>0]|0;if(!(e<<24>>24)){e=15;break}if(!h?(xf(e<<24>>24)|0)==0:0){e=6;break}e=De(j,61)|0;if(!e){e=8;break}g=e+1|0;a[e>>0]=0;e=a[g>>0]|0;f=e<<24>>24;switch(e<<24>>24){case 34:case 39:{if(!(xb(g,g,k)|0)){e=11;break a}break}default:{e=td(g)|0;c[k>>2]=e;if(e|0){c[k>>2]=e+1;a[e>>0]=0}}}Ue(l,j,ve(g)|0)|0;e=c[k>>2]|0}if((e|0)==6){c[n>>2]=d;c[n+4>>2]=j;Ae(3783,n)}else if((e|0)==8){c[o>>2]=d;c[o+4>>2]=j;c[o+8>>2]=b;Ae(3849,o)}else if((e|0)==11){c[p>>2]=d;c[p+4>>2]=f;Ae(3915,p)}else if((e|0)==15){Je(m);i=q;return l|0}return 0}function rb(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+120|0;r=s+80|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(($a(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Qf(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=$a(b,d,o,q,r)|0;if(h){Ta[c[b+36>>2]&7](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=$a(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Pf(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function sb(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|0)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?b:0)|0}function tb(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[1812]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ge(Pa(145,h|0)|0)|0}else{qa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ge(Pa(145,g|0)|0)|0;ja(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function ub(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)ta(2691,2743,388,2755);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Ne(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Id(b);d=d+1|0}wf(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=ic(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=ne(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){af(e,1403);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){af(e,1407);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}af(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Zd(j)|0;if(!(c[a>>2]|0))Ae(1409,k);if(!(b&8))e=0;else{be(l,yc(24,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;be(l,yc(d,l)|0);e=e+1|0}i=m;return l|0}function wb(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(!(Nc(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Ta[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ta[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);nc(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 xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;l=n;j=a[b>>0]|0;k=j<<24>>24;b=b+1|0;a:while(1){h=0;f=b;while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24)){m=4;break a}g=f<<24>>24==92;if(h|0)break;if(g){h=1;f=b}else{m=10;break}}if((m|0)==10){m=0;if(f<<24>>24==j<<24>>24){m=12;break}a[d>>0]=f;d=d+1|0;continue}h=d+1|0;if(g|f<<24>>24==j<<24>>24){a[d>>0]=f;d=h;continue}else{a[d>>0]=92;a[h>>0]=f;d=d+2|0;continue}}if((m|0)==4){c[l>>2]=k;oe(3770,l);b=0}else if((m|0)==12){a[d>>0]=0;if(!e)b=1;else{c[e>>2]=b;b=1}}i=n;return b|0}function yb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;h=m+24|0;k=m+20|0;j=m+16|0;g=m+12|0;d=ed(a,1)|0;e=Gb(b,1174)|0;c[h>>2]=e;c[k>>2]=se(e)|0;e=d+28|0;f=d+4|0;while(1){if(!(vd(d,j)|0)){a=9;break}b=fd(j)|0;a=lf(c[j>>2]|0,c[e>>2]|0)|0;c[g>>2]=a;if(!(Pc(1176,b)|0))Lb(d,a,c[k>>2]|0);else{if(Pc(1186,b)|0){a=7;break}Db(d,a,c[k>>2]|0)}Lc(g)}if((a|0)==7){k=c[f>>2]|0;m=c[j>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=k;c[l+8>>2]=m;Ae(1199,l)}else if((a|0)==9){we(k);We(h);i=m;return}}function zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Zb(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Ab(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=ic(16)|0;else l=Vc(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=bf(d,e)|0;else{k=Vc(h,e+1|0)|0;c[l+4>>2]=k;nc(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)ub(b,ue(m)|0);return l|0}function Bb(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Uf()|0;Lf(7168)|0;if((c[1799]|0)!=0&(a|0)==(c[1800]|0)){Ad(2,2141,61)|0;Oa(1)}Jf(7168)|0;Lf(7204)|0;Lf(7168)|0;c[1800]=a;c[1799]=1;Jf(7168)|0;if(!(c[1808]|0))c[1808]=sc(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Nd(d,64,2203,b)|0;a=Gc(c[1808]|0,d)|0;if(!a){a=ic(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Ue(c[1808]|0,d,a)|0}Lf(7168)|0;c[1799]=0;Jf(7168)|0;Jf(7204)|0;i=e;return c[a+8>>2]|0}function Cb(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Db(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;n=i;i=i+32|0;k=n;j=n+20|0;l=n+8|0;h=Zc(d,1106,b)|0;d=te(d,1118)|0;d=xe((d|0)==0?1123:d)|0;f=b+28|0;g=b+4|0;while(1){if(!(vd(b,j)|0))break;o=fe(c[j>>2]|0)|0;c[j>>2]=o;if(xf(a[o>>0]|0)|0){m=4;break}if((Wb(c[j>>2]|0,l,3)|0)!=2){m=6;break}o=(xc(b,l,0)|0)+-1|0;Sb(e,h,o,o+d|0,+wc(b,l,1))}if((m|0)==4)Cf(b);else if((m|0)==6){o=c[g>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=o;Ae(1130,k)}i=n;return}function Eb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=jd(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Fb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=656;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ye()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=rb(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Gb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Pc(b,4128)|0){if(!(Pc(b,2316)|0)){f=c[25]|0;break}e=cc(b,d)|0;if(!e){a:do if(!d)e=7796;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=2344;break a}case 119:{e=2334;break a}default:{e=e<<24>>24==97?2323:7796;break a}}}while(0);d=oc(c[(ye()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ae(2353,g)}else f=e}else f=c[84]|0;while(0);i=h;return f|0}function Hb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[3952+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[3952+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function Ib(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((va(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))od(1550,k);l=Fe()|0;if(Ld(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Fe()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;od(1573,f)}if(b|0?(rd(b,0)|0)<0:0)od(1600,g);if((d|0)!=1?(rd(d,1)|0)<0:0)od(1620,h);if((e|0)!=2?(rd(e,2)|0)<0:0)od(1641,j);de();i=k;return}function Jb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Kc(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=ic(5)|0;c[g>>2]=f;if((Bd(e,f,4)|0)<4)Je(g);else a[f+4>>0]=0;Od(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=jc(e)|0,Je(h),(g|0)!=0):0){h=Ed(Dc(b)|0,33,b,0)|0;e=Cd(b,d,Df(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function Kb(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ec(a)|0;break}d=(Qf(a)|0)==0;b=ec(a)|0;if(!d)Pf(a)}else{if(!(c[54]|0))b=0;else b=Kb(c[54]|0)|0;Ja(7276);a=c[1818]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Qf(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ec(a)|0|b;if(d|0)Pf(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(7276)}while(0);return b|0}function Lb(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;l=i;i=i+16|0;j=l;g=Zc(d,1106,b)|0;f=(xe(Zc(d,1112,b)|0)|0)+-1|0;m=te(d,1118)|0;m=(m|0)==0?1123:m;h=xe(m)|0;d=te(d,1125)|0;d=xe((d|0)==0?m:d)|0;while(1){if(!(vd(b,j)|0))break;m=fe(c[j>>2]|0)|0;c[j>>2]=m;if(xf(a[m>>0]|0)|0){k=4;break}Gd(c[j>>2]|0);Sb(e,g,f,f+h|0,+pd(c[j>>2]|0));f=f+d|0}if((k|0)==4)Cf(b);i=l;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=md(e,0)|0;c[n>>2]=g;yd(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=md(d,e)|0;else if(!f){e=Kc(d,0,h)|0;if((e|0)<0){c[k>>2]=d;od(2110,k)}else j=e}else j=0;c[m>>2]=j;e=Tc(a,b,j,g)|0;nd(m);if(!l)nd(n);i=o;return e|0}function Nb(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[(ye()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ob(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=mc(k)|0;nc(j|0,d|0,e|0)|0;wf(c);d=j;e=k;c=j}k=bb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ve(d)|0;wf(c);c=l}i=h;return c|0}function Pb(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((_d(f,1270,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Qb(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;Cc(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){wb(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;wb(h,f,a)|0}while(0);i=j;return}function Rb(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(!(Nc(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ta[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Sb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0;if(((((c[1791]|0)==0?(c[a>>2]|0)!=0:0)?(g=a+20|0,(c[g>>2]|0)==(d|0)):0)?!(+h[a+24>>3]!=f):0)?(Pc(b,c[a+8>>2]|0)|0)==0:0)c[g>>2]=e;else{Ec(a);g=(Zb(b)|0)+1|0;i=a+12|0;if((g|0)>(c[i>>2]|0)){c[i>>2]=g;i=a+8|0;g=Te(c[i>>2]|0,0,g)|0;c[i>>2]=g}else g=c[a+8>>2]|0;rf(g,b)|0;c[a+16>>2]=d;c[a+20>>2]=e;h[a+24>>3]=f;c[a>>2]=1}return}function Tb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Qf(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Rb(d,b)|0;Pf(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Rb(d,b)|0}while(0);return e|0}function Ub(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=ke(h^a|0,g^b|0,h|0,g|0)|0;b=C;jb(a,b,ke(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=ke(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Vb(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Bd(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;od(2383,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ae(2408,g)}else if((d|0)==8){i=h;return}}function Wb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(of(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(of(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Xb(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=ae(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Yb(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(of(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Zb(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 _b(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=ee(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+_b(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 $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Gc(c[e>>2]|0,d)|0)){Ue(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Xd(g,4156,h)|0}}}while(0);i=j;return}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;mf(d);d=g}e=e+1|0}}else{ze(b);b=d+8|0}while(0);wf(c[b>>2]|0);Je(a)}return}function bc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[3960+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[3968+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[3968+f>>0]}while(0);return}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(sb(6878,a[d>>0]|0,4)|0){h=Yc(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ge(La(5,e|0)|0)|0;if((e|0)>=0){b=ob(e,d)|0;if(!b){c[f>>2]=e;Ka(6,f|0)|0;b=0}}else b=0}else{c[(ye()|0)>>2]=22;b=0}i=g;return b|0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ae(2901,d)}d=tf(a,b)|0;if(!d){g=c[(ye()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ae(2965,e)}else{i=f;return d|0}return 0}function ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ta[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Ta[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function fc(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=ke(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return ke((jb(h,g,ke(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;qd(h,0);e=+_a(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function hc(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=Dd(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Oe(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 ic(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ae(3037,b)}b=Hf(a)|0;if(!b){f=c[(ye()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ae(3090,d)}else{Cc(b|0,0,a|0)|0;i=e;return b|0}return 0}function jc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(zd(3976,a)|0))if(!(zd(3979,a)|0))if(!(zd(3983,a)|0))if(!(zd(3986,a)|0))a=0;else{a=3991;e=5}else{a=3995;e=5}else{a=3999;e=5}else{a=4001;e=5}if((e|0)==5){c[d>>2]=a;Nd(b,20,4004,d)|0;a=ve(b)|0}i=f;return a|0}function kc(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ta[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function lc(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Za(b)|0;return a|0}if(b>>>0>4294967231){c[(ye()|0)>>2]=12;a=0;return a|0}d=hb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Za(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;nc(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;cb(a);a=d;return a|0}function mc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ae(2777,b)}b=Hf(a)|0;if(!b){f=c[(ye()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ae(2835,d)}else{i=e;return b|0}return 0}function nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return za(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 oc(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[4946+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=5034;e=5;break}}if((e|0)==2)if(!c)b=5034;else{b=5034;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 pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ae(2266,k)}else{c[j>>2]=e;Me(d,j)}return 0}function rc(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;qd(j,0);e=eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ic(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)ta(2691,2743,357,2766);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Qd((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Ne(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function tc(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ja(7276);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[1818]|0)==(a|0))c[1818]=b;Ga(7276)}b=Kb(a)|0;b=Xa[c[a+12>>2]&1](a)|0|b;d=c[a+92>>2]|0;if(d|0)cb(d);if(!e)cb(a);return b|0}function uc(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=_c(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=2585;else e=(d|0)==2?2544:2553;else e=2576;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;od(2594,g);return 0}function vc(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[25]|0;if((c[f+76>>2]|0)>-1)g=Qf(f)|0;else g=0;do if((ff(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=(Rb(f,10)|0)<0}while(0);if(g|0)Pf(f);return d<<31>>31|0}function wc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+uf(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Ae(4257,g);return +(0.0)}function xc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Ae(4209,f)}j=Yb(d)|0;i=g;return j|0}function yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ic(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=ic((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ve(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[25]|0);if((b|0)==(c[84]|0)|d)if(d){Kb(b)|0;b=1}else b=1;else if(!(tc(b)|0))b=1;else{hd(2626,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Md(b)|0;do if((f|0)!=0?(Pc(f,3573)|0)!=0:0){d=Re(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ae(3296,h)}else e=d;while(0);i=j;return e|0}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Ne(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ae(3694,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Cc(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 Dc(a){a=a|0;var b=0;b=ve(a)|0;if(!(((zd(4016,a)|0)==0?(zd(4024,a)|0)==0:0)?!(zd(4033,a)|0):0))Pb(a,b,Zb(a)|0);if(!($d(b,4040)|0))if(!($d(b,4044)|0))if(!($d(b,4047)|0)){a=($d(b,4052)|0)==0;a=a?0:52}else a=88;else a=76;else a=64;wf(b);return a|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,j=0;d=i;i=i+32|0;b=d;if(c[a>>2]|0){e=c[a+4>>2]|0;j=c[a+16>>2]|0;g=c[a+20>>2]|0;f=+h[a+24>>3];c[b>>2]=c[a+8>>2];c[b+4>>2]=j;c[b+8>>2]=g;h[b+16>>3]=f;Xd(e,1058,b)|0;c[a>>2]=0}i=d;return}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=ne(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){af(e,1407);b=c[d>>2]|0}af(e,b);f=f+1|0}g=Zd(g)|0;i=h;return g|0}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Pc(c[e+4>>2]|0,d)|0)!=0);return e|0}function Hc(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((Ge(Na(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Pc(a,4128)|0){if(Dc(a)|0){c=Jb(a,b)|0;break}c=Kc(a,0,c)|0;if((c|0)==-1)c=0;else c=Cd(a,b,c)|0}else c=hf(b)|0;while(0);i=d;return c|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Ad(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)od(2450,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ae(2476,e)}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ge(La(5,f|0)|0)|0;i=e;return d|0}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){f=b+16|0;d=b+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break;b=(c[d>>2]|0)+(e<<2)|0;while(1){b=c[b>>2]|0;if(!b)break;wf(c[b+8>>2]|0)}e=e+1|0}ac(a)}return}function Mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Yd(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;nc(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Nc(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 Oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=re(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Jc(b,d,e);return}function Pc(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 Qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=re(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Vb(b,d,e);return}function Rc(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,Fa(54,f|0)|0):0)a[b+75>>0]=-1;f=nb(b,d,e)|0;i=g;return f|0}function Sc(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 Tc(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;yd(b);a=vb(a,b)|0;if(!(b&1)){b=Fd(a+16|0)|0;c[f>>2]=b;ib(a,b,d,e,0,0);nd(f)}else ud(a,d,e,0,0);i=g;return a|0}function Uc(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=6;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=ab(e,b,d)|0;i=g;return h|0}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Bc(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Fb(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ae(2640,g)}return 0}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=sb(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;nc(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Yc(b){b=b|0;var c=0,d=0,e=0;d=(De(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(De(b,120)|0)==0;d=e?d:d|128;b=(De(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}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;a=te(a,b)|0;if(!a){a=c[d+28>>2]|0;f=c[d+4>>2]|0;c[e>>2]=b;c[e+4>>2]=a;c[e+8>>2]=f;Ae(1071,e)}else{i=f;return a|0}return 0}function _c(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ge(Na(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function $c(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=(Qf(e)|0)==0;a=wb(a,f,e)|0;if(!g)Pf(e)}else a=wb(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;pe(e,b,8);if((c[e>>2]|0)==3){c[1791]=Bf(1259)|0;yb(c[b+4>>2]|0,c[b+8>>2]|0);i=d;return 0}else Ae(800,d);return 0}function bd(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function cd(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[25]|0;else{vc(2208)|0;vc(2233)|0;d=c[25]|0;rb(d,a,b)|0;Tb(10,d)|0;Kb(d)|0}Kb(d)|0;d=c[55]|0;rb(d,a,b)|0;Tb(10,d)|0;Kb(d)|0}return}function dd(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=mc(h)|0;a=a+136|0;Jd(a,b,d+64|0,0)|0;Qc(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ic(a,b)|0;if(!b){e=oc(c[(ye()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Ae(4134,d)}else{i=e;return b|0}return 0}function fd(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=fe(e)|0,(a[d>>0]|0)!=0):0){e=td(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function gd(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=oc(c[(ye()|0)>>2]|0)|0;c[g+4>>2]=a;Wd(f,2260,g)|0;qe(f,e);i=d;return}function id(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else nc(b,c,d)|0;return b|0}function jd(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(kc(a)|0)!=0:0)b=-1;else if((Ta[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ae(1767,e)}}function ld(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 md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Kc(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;od(2078,d)}else{i=e;return b|0}return 0}function nd(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Od(b)|0)<0){c[d>>2]=b;od(1802,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=oc(c[(ye()|0)>>2]|0)|0;c[f+4>>2]=a;Wd(e,2260,f)|0;Me(e,d)}function pd(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+uf(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;Ae(2297,e);return +(0.0)}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=la(63,e|0)|0}while((d|0)==-16);e=Ge(d)|0;i=f;return e|0}function sd(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Te(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else ta(4072,4094,352,4110)}function td(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(of(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function ud(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Fd(h)|0;ib(a,b,c[h>>2]|0,d,e,f);nd(h);i=g;return}function vd(b,d){b=b|0;d=d|0;a:while(1){if(!(gb(b,d,0)|0)){b=0;break}switch(a[(fe(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;nc(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Bd(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function yd(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ae(1274,c);break}default:{}}if((a&18|0)==16)Ae(1340,b);else{i=c;return}}function zd(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ge(Ma(4,f|0)|0)|0;i=e;return a|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ge(Ha(3,f|0)|0)|0;i=e;return a|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ic(104)|0;c[f+4>>2]=ve(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=ic(65537)|0;return f|0}function Dd(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;jb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Mb(g,b,d,e)|0;i=f;return e|0}function Fd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((he(b)|0)<0)od(1439,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Gd(b){b=b|0;var c=0,d=0;c=Zb(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(of(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[8]|0)>=(a|0)){a=c[1809]|0;if(!a){a=c[55]|0;c[1809]=a}rb(a,b,d)|0;Kb(c[1809]|0)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return uc(b,d,e)|0}function Kd(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=bd(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ge(Ea(57,e|0)|0)|0;i=d;return a|0}function Md(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[1810]|0;if(!b)Ae(3662,d);else{a=te(b,a)|0;i=d;return a|0}return 0}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Wc(a,b,d,g)|0;i=f;return e|0}function Od(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ka(6,d|0)|0;a=Ge((a|0)==-4?-115:a)|0;i=b;return a|0}function Pd(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Pc(d,a)|0))break;b=b+8|0}return b|0}function Qd(a){a=a|0;var b=0;b=ic(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Bc(b,a)|0;return b|0}function Rd(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=Ge(Ka(6,d|0)|0)|0;i=b;return a|0}function Sd(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]}function Td(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Wa[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Vd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=ic(d+1|0)|0;c=(c|0)<(d|0)?c:d;nc(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xe(a,b,f)|0;i=e;return d|0}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=rb(a,b,f)|0;i=e;return d|0}function Yd(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Te(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Zd(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)ta(3723,3734,40,3750);else{b=c[b+4>>2]|0;Je(a);return b|0}return 0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Uc(a,b,f)|0;i=e;return d|0}function $d(a,b){a=a|0;b=b|0;var c=0;c=Zb(a)|0;c=c-(Zb(b)|0)|0;if((c|0)<0)c=0;else c=(Pc(a+c|0,b)|0)==0&1;return c|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function be(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function ce(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;wf(b);b=d}c[a>>2]=0;return}function de(){var a=0,b=0;a=Ia(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Od(b)|0;b=b+1|0}return}function ee(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function fe(b){b=b|0;if(!b)b=0;else while(1)if(!(of(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function ge(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;Hd(a,b,f);i=e;return}function he(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ge(ma(42,d|0)|0)|0;i=b;return a|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;a=dc(a,c)|0;if(c>>>0>b>>>0)Cc(a+b|0,0,c-b|0)|0;return a|0}function je(){}function ke(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 (C=d,a-c>>>0|0)|0}function le(a){a=a|0;var b=0;if(!a)a=ic(8)|0;else{b=ic((Zb(a)|0)+8|0)|0;rf(b+4|0,a)|0;a=b}return a|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[8]=a;c[d>>2]=0;i=b;return}function ne(a){a=a|0;var b=0;b=ic(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=ic(a+1|0)|0;c[b+8>>2]=a;return b|0}function oe(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;qe(a,e);i=d;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[1810]|0)){Le(fb(a,b,0,d,0)|0);c[1811]=d}return}function qe(a,b){a=a|0;b=b|0;var d=0;d=Bb()|0;Va[c[d+8+(c[d+88>>2]<<2)>>2]&1](a,b);return}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function se(a){a=a|0;var b=0;b=ic(32)|0;c[b+4>>2]=a;c[b+12>>2]=64;c[b+8>>2]=ic(64)|0;return b|0}function te(a,b){a=a|0;b=b|0;a=Gc(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ue(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ve(a){a=a|0;var b=0;if(!a)a=0;else{b=Zb(a)|0;a=Vd(a,b,b)|0}return a|0}function we(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ec(b);wf(c[b+8>>2]|0);Je(a)}return}function xe(a){a=a|0;var b=0;b=i;i=i+16|0;a=qc(a,0,b)|0;i=b;return a|0}function ye(){var a=0;if(!(c[1812]|0))a=7292;else a=c[(Uf()|0)+64>>2]|0;return a|0}function ze(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ce(b);wf(b);c[a>>2]=0}return}function Ae(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Me(a,d)}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ta[a&7](b|0,c|0,d|0)|0}function Ce(a){a=a|0;if((c[a+76>>2]|0)>-1?Qf(a)|0:0)Pf(a);return c[a+60>>2]|0}function De(b,c){b=b|0;c=c|0;b=zb(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ee(){var a=0;a=Bb()|0;Ya[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Oa(-1)}function Fe(){var a=0,b=0;b=i;i=i+16|0;a=sa(20,b|0)|0;i=b;return a|0}function Ge(a){a=a|0;if(a>>>0>4294963200){c[(ye()|0)>>2]=0-a;a=-1}return a|0}function He(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ie(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Nb(a,b,0)|0;return a|0}function Je(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)If(b);return}function Ke(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Le(a){a=a|0;c[1810]=a;if(Md(3154)|0)me(Ac(3154,0)|0);return}function Me(a,b){a=a|0;b=b|0;c[(Bb()|0)+4>>2]=1;qe(a,b);Ee()}function Ne(a){a=a|0;var b=0;b=mc(a)|0;Cc(b|0,0,a|0)|0;return b|0}function Oe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jb(a,b,c,d,0)|0}function Pe(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;a=rc(a,b,c,0,-2147483648)|0;return a|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;a=rc(a,b,c,-2147483648,0)|0;return a|0}function Se(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;return ie(a,b,c)|0}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;return Ab(a,b,Zb(b)|0,c)|0}function Ve(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function We(a){a=a|0;if(!(zc(a)|0))Ee();else return}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;return Fb(a,2147483647,b,c)|0}function Ye(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;Va[a&1](b|0,c|0)}function _e(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,b,c)|0}function $e(){if((Ca(2241)|0)==0?(Ca(2251)|0)==0:0)Oa(-1);na()}function af(a,b){a=a|0;b=b|0;Mc(a,b,Zb(b)|0);return}function bf(a,b){a=a|0;b=b|0;return Vd(a,Zb(a)|0,b)|0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;return Hb(a,b,0,c)|0}function df(a){a=a|0;if(!(c[a+68>>2]|0))Pf(a);return}function ef(a){a=a|0;if(!(c[a+68>>2]|0))Pf(a);return}function ff(a,b){a=a|0;b=b|0;return ($c(a,Zb(a)|0,1,b)|0)+-1|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;return Hb(a,b,1,c)|0}function hf(a){a=a|0;return Cd(4128,a,Ce(c[84]|0)|0)|0}function jf(a){a=a|0;return ((a+-48|0)>>>0<10|(xf(a)|0)!=0)&1|0}function kf(a,b){a=a|0;b=b|0;return Xa[a&1](b|0)|0}function lf(a,b){a=a|0;b=b|0;return qb(a,b,1)|0}function mf(a){a=a|0;wf(c[a+4>>2]|0);wf(a);return}function nf(a,b){a=a|0;b=b|0;i=a;j=b}function of(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function pf(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function qf(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function rf(a,b){a=a|0;b=b|0;Cb(a,b)|0;return a|0}function sf(a,b){a=a|0;b=b|0;Ua[a&3](b|0)}function tf(a,b){a=a|0;b=b|0;return lc(a,b)|0}function uf(a,b){a=a|0;b=b|0;return +(+gc(a,b,1))}function vf(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function wf(a){a=a|0;if(a|0)If(a);return}function xf(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function yf(a,b){a=+a;b=+b;return +(+gd(a,b))}function zf(a,b){a=+a;b=b|0;return +(+Xb(a,b))}function Af(a,b){a=+a;b=b|0;return +(+_b(a,b))}function Bf(a){a=a|0;return (Md(a)|0)!=0|0}function Cf(b){b=b|0;a[b+48>>0]=1;return}function Df(a){a=a|0;return c[a+16>>2]|0}function Ef(a,b){a=+a;b=+b;return +(+kb(a,b))}function Ff(a){a=a|0;return Se(a|0)|0}function Gf(a){a=a|0;Ya[a&1]()}function Hf(a){a=a|0;return Za(a)|0}function If(a){a=a|0;cb(a);return}function Jf(a){a=a|0;return 0}function Kf(a,b){a=a|0;b=b|0;ba(2)}function Lf(a){a=a|0;return 0}function Mf(a){a=a|0;i=a}function Nf(a){a=a|0;C=a}function Of(a){a=a|0;ba(4);return 0}function Pf(a){a=a|0;return}function Qf(a){a=a|0;return 0}function Rf(){return C|0}function Sf(){return i|0}function Tf(a){a=a|0;ba(1)}function Uf(){return 0}function Vf(){ba(5)}
 
 // EMSCRIPTEN_END_FUNCS
 var Ta=[vf,Rc,Hc,nb,tb,wd,_e,vf];var Ua=[Tf,ef,df,Tf];var Va=[Kf,cd];var Wa=[Ke];var Xa=[Of,Rd];var Ya=[Vf,$e];return{_i64Subtract:ke,_free:cb,_main:ad,_htonl:Ff,_realloc:lc,_i64Add:re,_memmove:id,_pthread_self:Uf,_memset:Cc,_pthread_mutex_unlock:Jf,_malloc:Za,_pthread_mutex_lock:Lf,_memcpy:nc,_llvm_bswap_i32:Se,_bitshift64Lshr:ee,_htons:qf,_bitshift64Shl:ae,___errno_location:ye,_ntohs:pf,runPostSets:je,stackAlloc:He,stackSave:Sf,stackRestore:Mf,establishStackSpace:nf,setThrew:Ve,setTempRet0:Nf,getTempRet0:Rf,dynCall_iiii:Be,dynCall_vi:sf,dynCall_vii:Ze,dynCall_iiiiiii:Td,dynCall_ii:kf,dynCall_v:Gf}})
diff --git a/bedTools/wigToBedGraph_static.js.html.mem b/bedTools/wigToBedGraph_static.js.html.mem
index 3973b14025a34e511e26f9276bb55016043e4d6a..5a20730b1f1209e01e1b72b934f50f3c4d884ecd 100644
Binary files a/bedTools/wigToBedGraph_static.js.html.mem and b/bedTools/wigToBedGraph_static.js.html.mem differ
diff --git a/bedTools/wigToBedGraph_static.js.js b/bedTools/wigToBedGraph_static.js.js
index 96d48c0fc843cd61349a28cb632fc3a551cc5004..916456060eb1ca3e113be734935ee7918a25762c 100644
--- a/bedTools/wigToBedGraph_static.js.js
+++ b/bedTools/wigToBedGraph_static.js.js
@@ -1,8 +1,8 @@
-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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+9872;__ATINIT__.push();memoryInitializer="wigToBedGraph_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;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 ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}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}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"___syscall63":___syscall63,"___syscall42":___syscall42,"___syscall6":___syscall6,"_execvp":_execvp,"_llvm_fabs_f64":_llvm_fabs_f64,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"___syscall20":___syscall20,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_execl":_execl,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"_abort":_abort,"___syscall5":___syscall5,"___syscall4":___syscall4,"___syscall140":___syscall140,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+9872;__ATINIT__.push();memoryInitializer="wigToBedGraph_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;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 ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}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}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"___syscall63":___syscall63,"___syscall42":___syscall42,"_abort":_abort,"_execvp":_execvp,"_llvm_fabs_f64":_llvm_fabs_f64,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"___syscall20":___syscall20,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_execl":_execl,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"___syscall6":___syscall6,"___syscall5":___syscall5,"___syscall4":___syscall4,"___syscall140":___syscall140,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_v;var ja=env._pthread_cleanup_pop;var ka=env.___syscall221;var la=env.___syscall63;var ma=env.___syscall42;var na=env.___syscall6;var oa=env._execvp;var pa=env._llvm_fabs_f64;var qa=env._pthread_cleanup_push;var ra=env._fork;var sa=env.___syscall20;var ta=env.___assert_fail;var ua=env.___buildEnvironment;var va=env._signal;var wa=env._wait;var xa=env.___setErrNo;var ya=env._sbrk;var za=env._emscripten_memcpy_big;var Aa=env.__exit;var Ba=env._execl;var Ca=env._getenv;var Da=env.___syscall51;var Ea=env.___syscall57;var Fa=env.___syscall54;var Ga=env.___unlock;var Ha=env.___syscall3;var Ia=env._sysconf;var Ja=env.___lock;var Ka=env._abort;var La=env.___syscall5;var Ma=env.___syscall4;var Na=env.___syscall140;var Oa=env._exit;var Pa=env.___syscall145;var Qa=env.___syscall146;var Ra=env._waitpid;var Sa=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_v;var ja=env._pthread_cleanup_pop;var ka=env.___syscall221;var la=env.___syscall63;var ma=env.___syscall42;var na=env._abort;var oa=env._execvp;var pa=env._llvm_fabs_f64;var qa=env._pthread_cleanup_push;var ra=env._fork;var sa=env.___syscall20;var ta=env.___assert_fail;var ua=env.___buildEnvironment;var va=env._signal;var wa=env._wait;var xa=env.___setErrNo;var ya=env._sbrk;var za=env._emscripten_memcpy_big;var Aa=env.__exit;var Ba=env._execl;var Ca=env._getenv;var Da=env.___syscall51;var Ea=env.___syscall57;var Fa=env.___syscall54;var Ga=env.___unlock;var Ha=env.___syscall3;var Ia=env._sysconf;var Ja=env.___lock;var Ka=env.___syscall6;var La=env.___syscall5;var Ma=env.___syscall4;var Na=env.___syscall140;var Oa=env._exit;var Pa=env.___syscall145;var Qa=env.___syscall146;var Ra=env._waitpid;var Sa=0.0;
 // EMSCRIPTEN_START_FUNCS
-function Za(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[1825]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=7340+(b<<1<<2)|0;e=d+8|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[1829]|0)>>>0)Ka();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Ka()}else c[1825]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[1827]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=7340+(b<<1<<2)|0;e=d+8|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[1829]|0)>>>0)Ka();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[1827]|0;break}else Ka()}else{c[1825]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[1830]|0;b=l>>>3;d=7340+(b<<1<<2)|0;a=c[1825]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{m=a;n=b}}else{c[1825]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[1827]=h;c[1830]=e;N=j;i=O;return N|0}a=c[1826]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[7604+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[1829]|0;if(k>>>0<g>>>0)Ka();j=k+q|0;if(k>>>0>=j>>>0)Ka();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Ka();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Ka();a=f+12|0;if((c[a>>2]|0)!=(k|0))Ka();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Ka()}while(0);do if(h|0){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[1826]=c[1826]&~(1<<a);break}}else{if(h>>>0<(c[1829]|0)>>>0)Ka();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[1829]|0;if(o>>>0<b>>>0)Ka();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ka();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)Ka();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[1827]|0;if(a|0){f=c[1830]|0;b=a>>>3;e=7340+(b<<1<<2)|0;a=c[1825]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{r=a;s=b}}else{c[1825]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[1827]=d;c[1830]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[1826]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[7604+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[7604+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[1827]|0)-q|0)>>>0:0){f=c[1829]|0;if(k>>>0<f>>>0)Ka();h=k+q|0;if(k>>>0>=h>>>0)Ka();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Ka();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Ka();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ka();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Ka()}while(0);do if(g|0){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[1826]=c[1826]&~(1<<a);break}}else{if(g>>>0<(c[1829]|0)>>>0)Ka();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[1829]|0;if(u>>>0<b>>>0)Ka();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ka();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)Ka();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{w=a;x=b}}else{c[1825]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=7604+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Ka()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[1827]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[1830]|0;if(a>>>0>15){N=b+q|0;c[1830]=N;c[1827]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[1827]=0;c[1830]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[1828]|0;if(a>>>0>q>>>0){L=a-q|0;c[1828]=L;N=c[1831]|0;M=N+q|0;c[1831]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[1943]|0)){c[1945]=4096;c[1944]=4096;c[1946]=-1;c[1947]=-1;c[1948]=0;c[1936]=0;x=p&-16^1431655768;c[p>>2]=x;c[1943]=x}h=q+48|0;g=c[1945]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[1935]|0;if(a|0?(w=c[1933]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[1936]&4)){a=c[1831]|0;c:do if(a){d=7748;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[1828]|0)&g;if(a>>>0<2147483647){b=ya(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=ya(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[1944]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[1933]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[1935]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=ya(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[1945]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((ya(y|0)|0)==(-1|0)){ya(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[1936]=c[1936]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=ya(k|0)|0,A=ya(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[1933]|0)+f|0;c[1933]=a;if(a>>>0>(c[1934]|0)>>>0)c[1934]=a;j=c[1831]|0;do if(j){e=7748;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[1828]|0)|0;c[1831]=M;c[1828]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[1832]=c[1947];break}a=c[1829]|0;if(h>>>0<a>>>0){c[1829]=h;k=h}else k=a;d=h+f|0;a=7748;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=7748;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[1830]|0)){N=(c[1827]|0)+g|0;c[1827]=N;c[1830]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Ka();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Ka();b=f+12|0;if((c[b>>2]|0)!=(a|0))Ka();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Ka()}while(0);if(!h)break;b=c[a+28>>2]|0;d=7604+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[1829]|0)>>>0)Ka();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[1826]=c[1826]&~(1<<b);break e}while(0);e=c[1829]|0;if(L>>>0<e>>>0)Ka();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Ka();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=7340+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Ka();if((c[d+12>>2]|0)==(a|0))break;Ka()}while(0);if((e|0)==(d|0)){c[1825]=c[1825]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Ka();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Ka()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;do if(!(b&a)){c[1825]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[1829]|0)>>>0){M=a;N=b;break}Ka()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=7604+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Ka()}}else{N=(c[1828]|0)+g|0;c[1828]=N;c[1831]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=7748;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[1831]=N;c[1828]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[1832]=c[1947];e=d+4|0;c[e>>2]=27;c[a>>2]=c[1937];c[a+4>>2]=c[1938];c[a+8>>2]=c[1939];c[a+12>>2]=c[1940];c[1937]=h;c[1938]=f;c[1940]=0;c[1939]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{J=a;K=b}}else{c[1825]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=7604+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Ka()}}}else{N=c[1829]|0;if((N|0)==0|h>>>0<N>>>0)c[1829]=h;c[1937]=h;c[1938]=f;c[1940]=0;c[1834]=c[1943];c[1833]=-1;a=0;do{N=7340+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[1831]=M;c[1828]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[1832]=c[1947]}while(0);a=c[1828]|0;if(a>>>0>q>>>0){L=a-q|0;c[1828]=L;N=c[1831]|0;M=N+q|0;c[1831]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(ye()|0)>>2]=12;N=0;i=O;return N|0}function _a(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0}while((of(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Eb(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[7148+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Eb(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[7157+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Eb(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Eb(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ye()|0)>>2]=22;qd(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Eb(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Eb(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;k=re(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=re(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Eb(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else qd(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=re(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=mb(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){qd(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=ae(o|0,n|0,2)|0;H=re(H|0,C|0,-32,-1)|0;e=re(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=re(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=ke(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=re(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+yf(+Xb(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ye()|0)>>2]=34;g=+zf(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Eb(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48){h=0;e=0;while(1){h=re(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=re(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=mb(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){qd(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=re(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(ye()|0)>>2]=22;qd(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[768+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[768+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[768+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=ae(c[p>>2]|0,0,29)|0;o=re(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Oe(o|0,n|0,1e9,0)|0;o=Dd(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+yf(+Xb(1.0,105-o|0),j);m=+Ef(j,+Xb(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ef(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ye()|0)>>2]=34}while(0);g=+zf(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ye()|0)>>2]=22;qd(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function $a(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(ye()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)wb(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[4456+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}lb(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=ee(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=4936;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=4936;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=ke(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=4936;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?4936:4938;L=76}else{p=1;r=4937;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=4936;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=4936;o=N;break}case 109:{o=oc(c[(ye()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:6838;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Qb(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?6846:6851}else{G=1;H=6848}else{q=-q;G=1;H=6845}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Af(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=hc(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[4920+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Qb(e,32,K,r,I);if(!(c[e>>2]&32))wb(y,w,e)|0;Qb(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))wb(ea,o,e)|0;f=ba-p|0;Qb(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))wb(t,f,e)|0;Qb(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=ae(c[r>>2]|0,0,t|0)|0;B=re(B|0,C|0,o|0,0)|0;o=C;A=Dd(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Oe(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=hc(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Qb(e,32,K,w,I);if(!(c[e>>2]&32))wb(H,G,e)|0;Qb(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=hc(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Cc(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))wb(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;wb(6876,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=hc(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Cc(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))wb(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Qb(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=hc(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))wb(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}wb(6876,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Cc(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))wb(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Qb(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;wb(u,ba-u|0,e)|0}while(0);Qb(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Qb(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){wb(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))wb(s?(t?7157:6872):t?6864:6868,3,e)|0;Qb(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=4936;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[4920+(o&15)>>0]|r;o=ee(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=4936;L=77}else{o=t;t=2;r=4936+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=4936;L=77}}else if((L|0)==76){f=hc(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=sb(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=4936;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Ie(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Qb(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Ie(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))wb(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Qb(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Qb(e,32,o,s,p);if(!(c[e>>2]&32))wb(v,w,e)|0;Qb(e,48,o,s,p^65536);Qb(e,48,r,t,0);if(!(c[e>>2]&32))wb(f,t,e)|0;Qb(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;lb(j+(m<<3)|0,n,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=ia;return m|0}function ab(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Qf(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(of(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{qd(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Eb(e)|0}while((of(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}qd(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Eb(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Cc(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Cc(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Za(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Eb(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(pb(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=lc(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Pe(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Za(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=lc(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+_a(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;qd(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Eb(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(of(d[m>>0]|0)|0))break;else n=m}qd(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Eb(e)|0}while((of(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){cb(l);cb(f)}}else k=0;while(0);if(O|0)Pf(e);i=P;return k|0}function bb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=re(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(2153==0?(Pc(c[a+8>>2]|0,2167)|0)!=0:0){ba=a+32|0;T=ba;T=Wa[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=re(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=re(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=re(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=re(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=ke(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=re(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=ke((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=ke(k|0,j|0,f|0,d|0)|0;nc(b|0,B+f|0,o|0)|0;e=re(o|0,E|0,e|0,n|0)|0;f=C;d=ke(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=re(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Jd(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=ic(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=re(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=ke(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(2153){y=re(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=re(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Oe(k|0,j|0,w|0,0)|0;t=re(A|0,B|0,-1,-1)|0;t=re(t|0,C|0,w|0,0)|0;w=Oe(t|0,C|0,w|0,0)|0;t=m+52|0;dd(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((cf(u,d,s)|0)<(s|0))f=0;else{wf(u);j=B;k=A;continue}while(1){o=cf(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=gf(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Kd(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Kd(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=re(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=ke(f|0,j|0,p|0,q|0)|0;k=C;f=mc(j)|0;c[W>>2]=f;m=Wa[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Jd(Z,c[K>>2]|0,p,0)|0;Oc(Z,c[K>>2]|0,f,j);Je(W)}bc(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Jd(P,c[t>>2]|0,da+64|0,0)|0;Oc(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}wf(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Jd(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Qc(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ae(2179,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;ge(4,2235,$);ge(4,2281,aa);S=0;T=0;break}else if((n|0)==36){Qc(Z,j,f,h);S=ba;S=re(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=re(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function cb(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;if(!a)return;d=a+-8|0;h=c[1829]|0;if(d>>>0<h>>>0)Ka();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Ka();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Ka();if((k|0)==(c[1830]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[1827]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=7340+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Ka();if((c[b+12>>2]|0)!=(k|0))Ka()}if((d|0)==(b|0)){c[1825]=c[1825]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Ka();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Ka()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Ka();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Ka();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ka();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Ka()}while(0);if(f){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[1826]=c[1826]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[1829]|0)>>>0)Ka();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[1829]|0;if(i>>>0<d>>>0)Ka();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ka();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[1829]|0)>>>0)Ka();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Ka();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Ka();if(!(b&2)){if((m|0)==(c[1831]|0)){p=(c[1828]|0)+g|0;c[1828]=p;c[1831]=q;c[q+4>>2]=p|1;if((q|0)!=(c[1830]|0))return;c[1830]=0;c[1827]=0;return}if((m|0)==(c[1830]|0)){p=(c[1827]|0)+g|0;c[1827]=p;c[1830]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();d=b+12|0;if((c[d>>2]|0)!=(m|0))Ka();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Ka()}while(0);if(f|0){a=c[m+28>>2]|0;b=7604+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[1826]=c[1826]&~(1<<a);break}}else{if(f>>>0<(c[1829]|0)>>>0)Ka();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[1829]|0;if(n>>>0<d>>>0)Ka();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ka();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)Ka();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=7340+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[1829]|0)>>>0)Ka();if((c[b+12>>2]|0)!=(m|0))Ka()}if((d|0)==(b|0)){c[1825]=c[1825]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[1829]|0)>>>0)Ka();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Ka()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[1830]|0)){c[1827]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)Ka();else{o=a;p=b}}else{c[1825]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=7604+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[1826]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[1829]|0)>>>0)Ka();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[1829]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Ka()}}else{c[1826]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[1833]|0)+-1|0;c[1833]=q;if(!q)a=7756;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[1833]=-1;return}function db(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[1829]|0;if(l>>>0<i>>>0)Ka();if((l|0)==(c[1830]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[1827]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=7340+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Ka();if((c[a+12>>2]|0)!=(l|0))Ka()}if((b|0)==(a|0)){c[1825]=c[1825]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Ka();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ka()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Ka();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Ka();d=e+12|0;if((c[d>>2]|0)!=(l|0))Ka();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Ka()}while(0);if(f){d=c[l+28>>2]|0;a=7604+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[1826]=c[1826]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[1829]|0)>>>0)Ka();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[1829]|0;if(j>>>0<b>>>0)Ka();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ka();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[1829]|0)>>>0)Ka();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[1829]|0;if(o>>>0<h>>>0)Ka();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[1831]|0)){q=(c[1828]|0)+g|0;c[1828]=q;c[1831]=r;c[r+4>>2]=q|1;if((r|0)!=(c[1830]|0))return;c[1830]=0;c[1827]=0;return}if((o|0)==(c[1830]|0)){q=(c[1827]|0)+g|0;c[1827]=q;c[1830]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Ka();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Ka();d=e+12|0;if((c[d>>2]|0)!=(o|0))Ka();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Ka()}while(0);if(f|0){d=c[o+28>>2]|0;a=7604+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[1826]=c[1826]&~(1<<d);break}}else{if(f>>>0<(c[1829]|0)>>>0)Ka();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[1829]|0;if(n>>>0<b>>>0)Ka();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ka();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[1829]|0)>>>0)Ka();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=7340+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Ka();if((c[a+12>>2]|0)!=(o|0))Ka()}if((b|0)==(a|0)){c[1825]=c[1825]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Ka();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Ka()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[1830]|0)){c[1827]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=7340+(d<<1<<2)|0;a=c[1825]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[1829]|0)>>>0)Ka();else{p=d;q=a}}else{c[1825]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=7604+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[1826]|0;a=1<<b;if(!(d&a)){c[1826]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[1829]|0)>>>0)Ka();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[1829]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Ka();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(ye()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0}while((of(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Eb(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Eb(b)|0;if((d[6883+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){qd(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[6883+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;qd(b,0);c[(ye()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Eb(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Kd(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=re(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[7139+((e*23|0)>>>5&7)>>0]|0;j=a[6883+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=ee(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=ae(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[6883+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Oe(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Kd(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=re(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[6883+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0}while((d[6883+i>>0]|0)>>>0<e>>>0);c[(ye()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ye()|0)>>2]=34;g=re(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ye()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=ke(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function fb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=sc(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Pc(r,2678)|0)){j=g;h=k;N=4;break}s=De(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(of(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Zb(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(jf(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Ue(Q,o,(m|0)==0?3100:m)|0;else{l=Pd(o,f)|0;if(!l){l=Pd(o,76)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Re(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Qe(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+uf(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+uf(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?3100:m;l=Pd(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=te(Q,o)|0;l=le(m)|0;if(!n){Ue(Q,o,l)|0;break}else{be(n,l);break}}Ue(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ae(2689,z);break}case 34:{c[A>>2]=o;Ae(2715,A);break}case 36:{c[K>>2]=o;Ae(2754,K);break}case 38:{c[L>>2]=o;Ae(2790,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ae(2823,B);break}case 43:{c[C>>2]=o;Ae(2790,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ae(2865,D);break}case 48:{c[E>>2]=o;Ae(2909,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ae(2944,F);break}case 53:{c[G>>2]=o;Ae(2984,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ae(3020,H);break}case 57:{c[I>>2]=c[l>>2];Ae(3061,I);break}case 65:{Ae(3103,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function gb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Ta[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Ye(h)|0;c[b+16>>2]=e;f=Ob(c[f>>2]|0)|0;if(!f){s=0;break}s=Zb(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;wf(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}pc(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)id(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=xd(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;pc(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;sd(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}$b(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ae(1577,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}$b(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){$b(b,f);s=1}else s=1}while(0);i=y;return s|0}function hb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[1829]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Ka();f=c[k+4>>2]|0;if(!(f&1))Ka();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[1945]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;db(m,d);return a|0}if((k|0)==(c[1831]|0)){d=(c[1828]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[1831]=l;c[1828]=m;return a|0}if((k|0)==(c[1830]|0)){e=(c[1827]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1827]=d;c[1830]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Ka();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Ka();d=g+12|0;if((c[d>>2]|0)!=(k|0))Ka();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Ka()}while(0);if(h|0){d=c[k+28>>2]|0;e=7604+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[1826]=c[1826]&~(1<<d);break}}else{if(h>>>0<(c[1829]|0)>>>0)Ka();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[1829]|0;if(j>>>0<f>>>0)Ka();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Ka();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[1829]|0)>>>0)Ka();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=7340+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ka();if((c[e+12>>2]|0)!=(k|0))Ka()}if((f|0)==(e|0)){c[1825]=c[1825]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ka();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Ka()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;db(l,m);return a|0}return 0}function ib(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)ta(3772,3792,448,3808);h=ra()|0;c[s>>2]=h;if((h|0)<0)od(3821,l);if(h|0)if(!(Ld(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;od(4359,k)}r=Fe()|0;c[s>>2]=r;if(Ld(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;od(3832,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Fd(m)|0;j=ra()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}kd(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))nd(t);if(c[k>>2]|0)nd(m);g=0;f=0;j=h;h=k}if((b|0)==14)od(3821,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){Ib(k,l,h,e);x=k+8|0;w=c[x>>2]|0;oa(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];od(4066,o)}Ib(k,0,h,e);h=Ad(1,f,g)|0;if((h|0)<0)od(3977,p);if((h|0)==(g|0)){Od(1)|0;Oa(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ae(4012,q)}}else if((b|0)==28){Od(0)|0;Od(1)|0;de();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=Ra(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;kd(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)od(4139,u);else if((b|0)==35){c[v>>2]=h;Ae(4154,v)}else if((b|0)==39){v=Fc(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ae(4184,w)}else if((b|0)==41)ta(4239,3792,242,4263);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[55]|0;v=Fc(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Xd(h,4282,x)|0;h=c[k>>2]|0}Oa(h>>>8&255|0)}else if((b|0)==47)ta(4329,3792,396,4349);else if((b|0)==49)Oa(0)}}function jb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=ld(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((ld(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=re(m|0,l|0,-1,-1)|0;d=C;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;ke(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=ke(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function kb(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=ee(d|0,m|0,52)|0;e=e&2047;j=ee(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=ae(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=ae(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=ae(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=ae(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=ae(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=ae(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=ae(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=ae(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=ke(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=ae(d|0,f|0,1)|0;f=C;e=e+-1|0;l=ke(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=ae(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=re(d|0,f|0,0,-1048576)|0;d=C;e=ae(e|0,0,52)|0;d=d|C;e=o|e}else{e=ee(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function lb(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 mb(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Kd(f|0,b|0,10,0)|0;f=C;e=re(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=re(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=ke(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function nb(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[1812]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ge(Qa(146,n|0)|0)|0}else{qa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ge(Qa(146,m|0)|0)|0;ja(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 ob(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(sb(6878,f<<24>>24,4)|0){e=Za(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(De(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(De(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ka(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ka(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ka(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[1813]|0))c[e+76>>2]=-1;Ja(7276);f=c[1818]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[1818]=e;Ga(7276)}}else{c[(ye()|0)>>2]=22;e=0}i=o;return e|0}function pb(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;l=i;i=i+16|0;g=l;j=(f|0)==0?7296:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[452+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(ye()|0)>>2]=84;f=-1}i=l;return f|0}function qb(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;q=i;i=i+48|0;p=q+24|0;o=q+8|0;n=q;m=q+36|0;k=q+32|0;j=ve(b)|0;c[m>>2]=j;c[k>>2]=j;l=sc(8,1)|0;h=(e|0)==0;e=j;a:while(1){j=fe(e)|0;if(!j){e=15;break}e=a[j>>0]|0;if(!(e<<24>>24)){e=15;break}if(!h?(xf(e<<24>>24)|0)==0:0){e=6;break}e=De(j,61)|0;if(!e){e=8;break}g=e+1|0;a[e>>0]=0;e=a[g>>0]|0;f=e<<24>>24;switch(e<<24>>24){case 34:case 39:{if(!(xb(g,g,k)|0)){e=11;break a}break}default:{e=td(g)|0;c[k>>2]=e;if(e|0){c[k>>2]=e+1;a[e>>0]=0}}}Ue(l,j,ve(g)|0)|0;e=c[k>>2]|0}if((e|0)==6){c[n>>2]=d;c[n+4>>2]=j;Ae(3396,n)}else if((e|0)==8){c[o>>2]=d;c[o+4>>2]=j;c[o+8>>2]=b;Ae(3462,o)}else if((e|0)==11){c[p>>2]=d;c[p+4>>2]=f;Ae(3528,p)}else if((e|0)==15){Je(m);i=q;return l|0}return 0}function rb(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+120|0;r=s+80|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(($a(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Qf(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=$a(b,d,o,q,r)|0;if(h){Ta[c[b+36>>2]&7](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=$a(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Pf(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function sb(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|0)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?b:0)|0}function tb(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[1812]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ge(Pa(145,h|0)|0)|0}else{qa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ge(Pa(145,g|0)|0)|0;ja(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function ub(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)ta(3250,3302,388,3314);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Ne(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Id(b);d=d+1|0}wf(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=ic(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=ne(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){af(e,3718);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){af(e,3722);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}af(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Zd(j)|0;if(!(c[a>>2]|0))Ae(3724,k);if(!(b&8))e=0;else{be(l,yc(92,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;be(l,yc(d,l)|0);e=e+1|0}i=m;return l|0}function wb(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(!(Nc(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Ta[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ta[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);nc(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 xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;l=n;j=a[b>>0]|0;k=j<<24>>24;b=b+1|0;a:while(1){h=0;f=b;while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24)){m=4;break a}g=f<<24>>24==92;if(h|0)break;if(g){h=1;f=b}else{m=10;break}}if((m|0)==10){m=0;if(f<<24>>24==j<<24>>24){m=12;break}a[d>>0]=f;d=d+1|0;continue}h=d+1|0;if(g|f<<24>>24==j<<24>>24){a[d>>0]=f;d=h;continue}else{a[d>>0]=92;a[h>>0]=f;d=d+2|0;continue}}if((m|0)==4){c[l>>2]=k;oe(3383,l);b=0}else if((m|0)==12){a[d>>0]=0;if(!e)b=1;else{c[e>>2]=b;b=1}}i=n;return b|0}function yb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;h=m+24|0;k=m+20|0;j=m+16|0;g=m+12|0;d=ed(a,1)|0;e=Gb(b,1174)|0;c[h>>2]=e;c[k>>2]=se(e)|0;e=d+28|0;f=d+4|0;while(1){if(!(vd(d,j)|0)){a=9;break}b=fd(j)|0;a=lf(c[j>>2]|0,c[e>>2]|0)|0;c[g>>2]=a;if(!(Pc(1176,b)|0))Lb(d,a,c[k>>2]|0);else{if(Pc(1186,b)|0){a=7;break}Db(d,a,c[k>>2]|0)}Lc(g)}if((a|0)==7){k=c[f>>2]|0;m=c[j>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=k;c[l+8>>2]=m;Ae(1199,l)}else if((a|0)==9){we(k);We(h);i=m;return}}function zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Zb(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Ab(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=ic(16)|0;else l=Vc(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=bf(d,e)|0;else{k=Vc(h,e+1|0)|0;c[l+4>>2]=k;nc(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)ub(b,ue(m)|0);return l|0}function Bb(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Uf()|0;Lf(7168)|0;if((c[1799]|0)!=0&(a|0)==(c[1800]|0)){Ad(2,1274,61)|0;Oa(1)}Jf(7168)|0;Lf(7204)|0;Lf(7168)|0;c[1800]=a;c[1799]=1;Jf(7168)|0;if(!(c[1808]|0))c[1808]=sc(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Nd(d,64,1336,b)|0;a=Gc(c[1808]|0,d)|0;if(!a){a=ic(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Ue(c[1808]|0,d,a)|0}Lf(7168)|0;c[1799]=0;Jf(7168)|0;Jf(7204)|0;i=e;return c[a+8>>2]|0}function Cb(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Db(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;n=i;i=i+32|0;k=n;j=n+20|0;l=n+8|0;h=Zc(d,1106,b)|0;d=te(d,1118)|0;d=xe((d|0)==0?1123:d)|0;f=b+28|0;g=b+4|0;while(1){if(!(vd(b,j)|0))break;o=fe(c[j>>2]|0)|0;c[j>>2]=o;if(xf(a[o>>0]|0)|0){m=4;break}if((Wb(c[j>>2]|0,l,3)|0)!=2){m=6;break}o=(xc(b,l,0)|0)+-1|0;Sb(e,h,o,o+d|0,+wc(b,l,1))}if((m|0)==4)Cf(b);else if((m|0)==6){o=c[g>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=o;Ae(1130,k)}i=n;return}function Eb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=jd(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Fb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=656;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ye()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=rb(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Gb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Pc(b,1772)|0){if(!(Pc(b,1778)|0)){f=c[25]|0;break}e=cc(b,d)|0;if(!e){a:do if(!d)e=7796;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=1806;break a}case 119:{e=1796;break a}default:{e=e<<24>>24==97?1785:7796;break a}}}while(0);d=oc(c[(ye()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ae(1815,g)}else f=e}else f=c[84]|0;while(0);i=h;return f|0}function Hb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[3565+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[3565+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function Ib(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((va(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))od(3865,k);l=Fe()|0;if(Ld(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Fe()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;od(3888,f)}if(b|0?(rd(b,0)|0)<0:0)od(3915,g);if((d|0)!=1?(rd(d,1)|0)<0:0)od(3935,h);if((e|0)!=2?(rd(e,2)|0)<0:0)od(3956,j);de();i=k;return}function Jb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Kc(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=ic(5)|0;c[g>>2]=f;if((Bd(e,f,4)|0)<4)Je(g);else a[f+4>>0]=0;Od(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=jc(e)|0,Je(h),(g|0)!=0):0){h=Ed(Dc(b)|0,33,b,0)|0;e=Cd(b,d,Df(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function Kb(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ec(a)|0;break}d=(Qf(a)|0)==0;b=ec(a)|0;if(!d)Pf(a)}else{if(!(c[54]|0))b=0;else b=Kb(c[54]|0)|0;Ja(7276);a=c[1818]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Qf(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ec(a)|0|b;if(d|0)Pf(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(7276)}while(0);return b|0}function Lb(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;l=i;i=i+16|0;j=l;g=Zc(d,1106,b)|0;f=(xe(Zc(d,1112,b)|0)|0)+-1|0;m=te(d,1118)|0;m=(m|0)==0?1123:m;h=xe(m)|0;d=te(d,1125)|0;d=xe((d|0)==0?m:d)|0;while(1){if(!(vd(b,j)|0))break;m=fe(c[j>>2]|0)|0;c[j>>2]=m;if(xf(a[m>>0]|0)|0){k=4;break}Gd(c[j>>2]|0);Sb(e,g,f,f+h|0,+pd(c[j>>2]|0));f=f+d|0}if((k|0)==4)Cf(b);i=l;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=md(e,0)|0;c[n>>2]=g;yd(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=md(d,e)|0;else if(!f){e=Kc(d,0,h)|0;if((e|0)<0){c[k>>2]=d;od(4425,k)}else j=e}else j=0;c[m>>2]=j;e=Tc(a,b,j,g)|0;nd(m);if(!l)nd(n);i=o;return e|0}function Nb(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[(ye()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ob(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=mc(k)|0;nc(j|0,d|0,e|0)|0;wf(c);d=j;e=k;c=j}k=bb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ve(d)|0;wf(c);c=l}i=h;return c|0}function Pb(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((_d(f,1270,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Qb(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;Cc(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){wb(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;wb(h,f,a)|0}while(0);i=j;return}function Rb(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(!(Nc(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ta[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Sb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0;if(((((c[1791]|0)==0?(c[a>>2]|0)!=0:0)?(g=a+20|0,(c[g>>2]|0)==(d|0)):0)?!(+h[a+24>>3]!=f):0)?(Pc(b,c[a+8>>2]|0)|0)==0:0)c[g>>2]=e;else{Ec(a);g=(Zb(b)|0)+1|0;i=a+12|0;if((g|0)>(c[i>>2]|0)){c[i>>2]=g;i=a+8|0;g=Te(c[i>>2]|0,0,g)|0;c[i>>2]=g}else g=c[a+8>>2]|0;rf(g,b)|0;c[a+16>>2]=d;c[a+20>>2]=e;h[a+24>>3]=f;c[a>>2]=1}return}function Tb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Qf(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Rb(d,b)|0;Pf(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Rb(d,b)|0}while(0);return e|0}function Ub(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=ke(h^a|0,g^b|0,h|0,g|0)|0;b=C;jb(a,b,ke(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=ke(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Vb(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Bd(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;od(1845,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ae(1870,g)}else if((d|0)==8){i=h;return}}function Wb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(of(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(of(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Xb(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=ae(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Yb(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(of(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Zb(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 _b(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=ee(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+_b(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 $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Gc(c[e>>2]|0,d)|0)){Ue(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Xd(g,1573,h)|0}}}while(0);i=j;return}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;mf(d);d=g}e=e+1|0}}else{ze(b);b=d+8|0}while(0);wf(c[b>>2]|0);Je(a)}return}function bc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[3573+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[3581+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[3581+f>>0]}while(0);return}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(sb(6878,a[d>>0]|0,4)|0){h=Yc(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ge(La(5,e|0)|0)|0;if((e|0)>=0){b=ob(e,d)|0;if(!b){c[f>>2]=e;na(6,f|0)|0;b=0}}else b=0}else{c[(ye()|0)>>2]=22;b=0}i=g;return b|0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ae(2428,d)}d=tf(a,b)|0;if(!d){g=c[(ye()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ae(2492,e)}else{i=f;return d|0}return 0}function ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ta[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Ta[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function fc(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=ke(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return ke((jb(h,g,ke(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;qd(h,0);e=+_a(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function hc(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=Dd(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Oe(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 ic(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ae(2564,b)}b=Hf(a)|0;if(!b){f=c[(ye()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ae(2617,d)}else{Cc(b|0,0,a|0)|0;i=e;return b|0}return 0}function jc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(zd(1399,a)|0))if(!(zd(1402,a)|0))if(!(zd(1406,a)|0))if(!(zd(1409,a)|0))a=0;else{a=1414;e=5}else{a=1418;e=5}else{a=1422;e=5}else{a=1424;e=5}if((e|0)==5){c[d>>2]=a;Nd(b,20,1427,d)|0;a=ve(b)|0}i=f;return a|0}function kc(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ta[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function lc(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Za(b)|0;return a|0}if(b>>>0>4294967231){c[(ye()|0)>>2]=12;a=0;return a|0}d=hb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Za(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;nc(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;cb(a);a=d;return a|0}function mc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ae(2304,b)}b=Hf(a)|0;if(!b){f=c[(ye()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ae(2362,d)}else{i=e;return b|0}return 0}function nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return za(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 oc(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[4946+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=5034;e=5;break}}if((e|0)==2)if(!c)b=5034;else{b=5034;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 pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ae(1722,k)}else{c[j>>2]=e;Me(d,j)}return 0}function rc(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;qd(j,0);e=eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ic(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)ta(3250,3302,357,3325);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Qd((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Ne(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function tc(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ja(7276);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[1818]|0)==(a|0))c[1818]=b;Ga(7276)}b=Kb(a)|0;b=Xa[c[a+12>>2]&1](a)|0|b;d=c[a+92>>2]|0;if(d|0)cb(d);if(!e)cb(a);return b|0}function uc(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=_c(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=2047;else e=(d|0)==2?2006:2015;else e=2038;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;od(2056,g);return 0}function vc(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[25]|0;if((c[f+76>>2]|0)>-1)g=Qf(f)|0;else g=0;do if((ff(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=(Rb(f,10)|0)<0}while(0);if(g|0)Pf(f);return d<<31>>31|0}function wc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+uf(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Ae(1674,g);return +(0.0)}function xc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Ae(1626,f)}j=Yb(d)|0;i=g;return j|0}function yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ic(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=ic((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ve(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[25]|0);if((b|0)==(c[84]|0)|d)if(d){Kb(b)|0;b=1}else b=1;else if(!(tc(b)|0))b=1;else{hd(2088,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Md(b)|0;do if((f|0)!=0?(Pc(f,3100)|0)!=0:0){d=Re(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ae(2823,h)}else e=d;while(0);i=j;return e|0}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Ne(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ae(3221,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Cc(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 Dc(a){a=a|0;var b=0;b=ve(a)|0;if(!(((zd(1439,a)|0)==0?(zd(1447,a)|0)==0:0)?!(zd(1456,a)|0):0))Pb(a,b,Zb(a)|0);if(!($d(b,1463)|0))if(!($d(b,1467)|0))if(!($d(b,1470)|0)){a=($d(b,1475)|0)==0;a=a?0:24}else a=60;else a=48;else a=36;wf(b);return a|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,j=0;d=i;i=i+32|0;b=d;if(c[a>>2]|0){e=c[a+4>>2]|0;j=c[a+16>>2]|0;g=c[a+20>>2]|0;f=+h[a+24>>3];c[b>>2]=c[a+8>>2];c[b+4>>2]=j;c[b+8>>2]=g;h[b+16>>3]=f;Xd(e,1058,b)|0;c[a>>2]=0}i=d;return}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=ne(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){af(e,3722);b=c[d>>2]|0}af(e,b);f=f+1|0}g=Zd(g)|0;i=h;return g|0}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Pc(c[e+4>>2]|0,d)|0)!=0);return e|0}function Hc(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((Ge(Na(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Pc(a,1772)|0){if(Dc(a)|0){c=Jb(a,b)|0;break}c=Kc(a,0,c)|0;if((c|0)==-1)c=0;else c=Cd(a,b,c)|0}else c=hf(b)|0;while(0);i=d;return c|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Ad(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)od(1912,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ae(1938,e)}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ge(La(5,f|0)|0)|0;i=e;return d|0}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){f=b+16|0;d=b+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break;b=(c[d>>2]|0)+(e<<2)|0;while(1){b=c[b>>2]|0;if(!b)break;wf(c[b+8>>2]|0)}e=e+1|0}ac(a)}return}function Mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Yd(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;nc(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Nc(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 Oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=re(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Jc(b,d,e);return}function Pc(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 Qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=re(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Vb(b,d,e);return}function Rc(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,Fa(54,f|0)|0):0)a[b+75>>0]=-1;f=nb(b,d,e)|0;i=g;return f|0}function Sc(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 Tc(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;yd(b);a=vb(a,b)|0;if(!(b&1)){b=Fd(a+16|0)|0;c[f>>2]=b;ib(a,b,d,e,0,0);nd(f)}else ud(a,d,e,0,0);i=g;return a|0}function Uc(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=6;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=ab(e,b,d)|0;i=g;return h|0}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Bc(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Fb(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ae(2102,g)}return 0}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=sb(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;nc(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Yc(b){b=b|0;var c=0,d=0,e=0;d=(De(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(De(b,120)|0)==0;d=e?d:d|128;b=(De(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}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;a=te(a,b)|0;if(!a){a=c[d+28>>2]|0;f=c[d+4>>2]|0;c[e>>2]=b;c[e+4>>2]=a;c[e+8>>2]=f;Ae(1071,e)}else{i=f;return a|0}return 0}function _c(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ge(Na(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function $c(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=(Qf(e)|0)==0;a=wb(a,f,e)|0;if(!g)Pf(e)}else a=wb(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;pe(e,b,8);if((c[e>>2]|0)==3){c[1791]=Bf(1259)|0;yb(c[b+4>>2]|0,c[b+8>>2]|0);i=d;return 0}else Ae(800,d);return 0}function bd(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function cd(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[25]|0;else{vc(1341)|0;vc(1366)|0;d=c[25]|0;rb(d,a,b)|0;Tb(10,d)|0;Kb(d)|0}Kb(d)|0;d=c[55]|0;rb(d,a,b)|0;Tb(10,d)|0;Kb(d)|0}return}function dd(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=mc(h)|0;a=a+136|0;Jd(a,b,d+64|0,0)|0;Qc(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ic(a,b)|0;if(!b){e=oc(c[(ye()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Ae(1551,d)}else{i=e;return b|0}return 0}function fd(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=fe(e)|0,(a[d>>0]|0)!=0):0){e=td(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function gd(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=oc(c[(ye()|0)>>2]|0)|0;c[g+4>>2]=a;Wd(f,1393,g)|0;qe(f,e);i=d;return}function id(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else nc(b,c,d)|0;return b|0}function jd(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(kc(a)|0)!=0:0)b=-1;else if((Ta[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ae(4082,e)}}function ld(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 md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Kc(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;od(4393,d)}else{i=e;return b|0}return 0}function nd(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Od(b)|0)<0){c[d>>2]=b;od(4117,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=oc(c[(ye()|0)>>2]|0)|0;c[f+4>>2]=a;Wd(e,1393,f)|0;Me(e,d)}function pd(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+uf(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;Ae(1753,e);return +(0.0)}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=la(63,e|0)|0}while((d|0)==-16);e=Ge(d)|0;i=f;return e|0}function sd(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Te(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else ta(1495,1517,352,1533)}function td(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(of(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function ud(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Fd(h)|0;ib(a,b,c[h>>2]|0,d,e,f);nd(h);i=g;return}function vd(b,d){b=b|0;d=d|0;a:while(1){if(!(gb(b,d,0)|0)){b=0;break}switch(a[(fe(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;nc(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Bd(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function yd(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ae(3589,c);break}default:{}}if((a&18|0)==16)Ae(3655,b);else{i=c;return}}function zd(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ge(Ma(4,f|0)|0)|0;i=e;return a|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ge(Ha(3,f|0)|0)|0;i=e;return a|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ic(104)|0;c[f+4>>2]=ve(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=ic(65537)|0;return f|0}function Dd(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;jb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Mb(g,b,d,e)|0;i=f;return e|0}function Fd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((he(b)|0)<0)od(3754,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Gd(b){b=b|0;var c=0,d=0;c=Zb(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(of(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[18]|0)>=(a|0)){a=c[1809]|0;if(!a){a=c[55]|0;c[1809]=a}rb(a,b,d)|0;Kb(c[1809]|0)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return uc(b,d,e)|0}function Kd(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=bd(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ge(Ea(57,e|0)|0)|0;i=d;return a|0}function Md(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[1810]|0;if(!b)Ae(3189,d);else{a=te(b,a)|0;i=d;return a|0}return 0}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Wc(a,b,d,g)|0;i=f;return e|0}function Od(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=na(6,d|0)|0;a=Ge((a|0)==-4?-115:a)|0;i=b;return a|0}function Pd(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Pc(d,a)|0))break;b=b+8|0}return b|0}function Qd(a){a=a|0;var b=0;b=ic(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Bc(b,a)|0;return b|0}function Rd(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=Ge(na(6,d|0)|0)|0;i=b;return a|0}function Sd(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]}function Td(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Wa[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Vd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=ic(d+1|0)|0;c=(c|0)<(d|0)?c:d;nc(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xe(a,b,f)|0;i=e;return d|0}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=rb(a,b,f)|0;i=e;return d|0}function Yd(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Te(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Zd(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)ta(3336,3347,40,3363);else{b=c[b+4>>2]|0;Je(a);return b|0}return 0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Uc(a,b,f)|0;i=e;return d|0}function $d(a,b){a=a|0;b=b|0;var c=0;c=Zb(a)|0;c=c-(Zb(b)|0)|0;if((c|0)<0)c=0;else c=(Pc(a+c|0,b)|0)==0&1;return c|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function be(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function ce(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;wf(b);b=d}c[a>>2]=0;return}function de(){var a=0,b=0;a=Ia(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Od(b)|0;b=b+1|0}return}function ee(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function fe(b){b=b|0;if(!b)b=0;else while(1)if(!(of(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function ge(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;Hd(a,b,f);i=e;return}function he(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ge(ma(42,d|0)|0)|0;i=b;return a|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;a=dc(a,c)|0;if(c>>>0>b>>>0)Cc(a+b|0,0,c-b|0)|0;return a|0}function je(){}function ke(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 (C=d,a-c>>>0|0)|0}function le(a){a=a|0;var b=0;if(!a)a=ic(8)|0;else{b=ic((Zb(a)|0)+8|0)|0;rf(b+4|0,a)|0;a=b}return a|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[18]=a;c[d>>2]=0;i=b;return}function ne(a){a=a|0;var b=0;b=ic(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=ic(a+1|0)|0;c[b+8>>2]=a;return b|0}function oe(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;qe(a,e);i=d;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[1810]|0)){Le(fb(a,b,0,d,0)|0);c[1811]=d}return}function qe(a,b){a=a|0;b=b|0;var d=0;d=Bb()|0;Va[c[d+8+(c[d+88>>2]<<2)>>2]&1](a,b);return}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function se(a){a=a|0;var b=0;b=ic(32)|0;c[b+4>>2]=a;c[b+12>>2]=64;c[b+8>>2]=ic(64)|0;return b|0}function te(a,b){a=a|0;b=b|0;a=Gc(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ue(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ve(a){a=a|0;var b=0;if(!a)a=0;else{b=Zb(a)|0;a=Vd(a,b,b)|0}return a|0}function we(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ec(b);wf(c[b+8>>2]|0);Je(a)}return}function xe(a){a=a|0;var b=0;b=i;i=i+16|0;a=qc(a,0,b)|0;i=b;return a|0}function ye(){var a=0;if(!(c[1812]|0))a=7292;else a=c[(Uf()|0)+64>>2]|0;return a|0}function ze(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ce(b);wf(b);c[a>>2]=0}return}function Ae(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Me(a,d)}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ta[a&7](b|0,c|0,d|0)|0}function Ce(a){a=a|0;if((c[a+76>>2]|0)>-1?Qf(a)|0:0)Pf(a);return c[a+60>>2]|0}function De(b,c){b=b|0;c=c|0;b=zb(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ee(){var a=0;a=Bb()|0;Ya[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Oa(-1)}function Fe(){var a=0,b=0;b=i;i=i+16|0;a=sa(20,b|0)|0;i=b;return a|0}function Ge(a){a=a|0;if(a>>>0>4294963200){c[(ye()|0)>>2]=0-a;a=-1}return a|0}function He(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ie(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Nb(a,b,0)|0;return a|0}function Je(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)If(b);return}function Ke(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Le(a){a=a|0;c[1810]=a;if(Md(2681)|0)me(Ac(2681,0)|0);return}function Me(a,b){a=a|0;b=b|0;c[(Bb()|0)+4>>2]=1;qe(a,b);Ee()}function Ne(a){a=a|0;var b=0;b=mc(a)|0;Cc(b|0,0,a|0)|0;return b|0}function Oe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jb(a,b,c,d,0)|0}function Pe(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;a=rc(a,b,c,0,-2147483648)|0;return a|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;a=rc(a,b,c,-2147483648,0)|0;return a|0}function Se(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;return ie(a,b,c)|0}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;return Ab(a,b,Zb(b)|0,c)|0}function Ve(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function We(a){a=a|0;if(!(zc(a)|0))Ee();else return}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;return Fb(a,2147483647,b,c)|0}function Ye(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;Va[a&1](b|0,c|0)}function _e(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,b,c)|0}function $e(){if((Ca(1374)|0)==0?(Ca(1384)|0)==0:0)Oa(-1);Ka()}function af(a,b){a=a|0;b=b|0;Mc(a,b,Zb(b)|0);return}function bf(a,b){a=a|0;b=b|0;return Vd(a,Zb(a)|0,b)|0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;return Hb(a,b,0,c)|0}function df(a){a=a|0;if(!(c[a+68>>2]|0))Pf(a);return}function ef(a){a=a|0;if(!(c[a+68>>2]|0))Pf(a);return}function ff(a,b){a=a|0;b=b|0;return ($c(a,Zb(a)|0,1,b)|0)+-1|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;return Hb(a,b,1,c)|0}function hf(a){a=a|0;return Cd(1772,a,Ce(c[84]|0)|0)|0}function jf(a){a=a|0;return ((a+-48|0)>>>0<10|(xf(a)|0)!=0)&1|0}function kf(a,b){a=a|0;b=b|0;return Xa[a&1](b|0)|0}function lf(a,b){a=a|0;b=b|0;return qb(a,b,1)|0}function mf(a){a=a|0;wf(c[a+4>>2]|0);wf(a);return}function nf(a,b){a=a|0;b=b|0;i=a;j=b}function of(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function pf(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function qf(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function rf(a,b){a=a|0;b=b|0;Cb(a,b)|0;return a|0}function sf(a,b){a=a|0;b=b|0;Ua[a&3](b|0)}function tf(a,b){a=a|0;b=b|0;return lc(a,b)|0}function uf(a,b){a=a|0;b=b|0;return +(+gc(a,b,1))}function vf(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function wf(a){a=a|0;if(a|0)If(a);return}function xf(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function yf(a,b){a=+a;b=+b;return +(+gd(a,b))}function zf(a,b){a=+a;b=b|0;return +(+Xb(a,b))}function Af(a,b){a=+a;b=b|0;return +(+_b(a,b))}function Bf(a){a=a|0;return (Md(a)|0)!=0|0}function Cf(b){b=b|0;a[b+48>>0]=1;return}function Df(a){a=a|0;return c[a+16>>2]|0}function Ef(a,b){a=+a;b=+b;return +(+kb(a,b))}function Ff(a){a=a|0;return Se(a|0)|0}function Gf(a){a=a|0;Ya[a&1]()}function Hf(a){a=a|0;return Za(a)|0}function If(a){a=a|0;cb(a);return}function Jf(a){a=a|0;return 0}function Kf(a,b){a=a|0;b=b|0;ba(2)}function Lf(a){a=a|0;return 0}function Mf(a){a=a|0;i=a}function Nf(a){a=a|0;C=a}function Of(a){a=a|0;ba(4);return 0}function Pf(a){a=a|0;return}function Qf(a){a=a|0;return 0}function Rf(){return C|0}function Sf(){return i|0}function Tf(a){a=a|0;ba(1)}function Uf(){return 0}function Vf(){ba(5)}
+function Za(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[1825]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=7340+(b<<1<<2)|0;e=d+8|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[1829]|0)>>>0)na();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else na()}else c[1825]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[1827]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=7340+(b<<1<<2)|0;e=d+8|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[1829]|0)>>>0)na();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[1827]|0;break}else na()}else{c[1825]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[1830]|0;b=l>>>3;d=7340+(b<<1<<2)|0;a=c[1825]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{m=a;n=b}}else{c[1825]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[1827]=h;c[1830]=e;N=j;i=O;return N|0}a=c[1826]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[7604+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[1829]|0;if(k>>>0<g>>>0)na();j=k+q|0;if(k>>>0>=j>>>0)na();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)na();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)na();a=f+12|0;if((c[a>>2]|0)!=(k|0))na();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else na()}while(0);do if(h|0){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[1826]=c[1826]&~(1<<a);break}}else{if(h>>>0<(c[1829]|0)>>>0)na();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[1829]|0;if(o>>>0<b>>>0)na();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)na();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)na();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[1827]|0;if(a|0){f=c[1830]|0;b=a>>>3;e=7340+(b<<1<<2)|0;a=c[1825]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{r=a;s=b}}else{c[1825]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[1827]=d;c[1830]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[1826]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[7604+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[7604+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[1827]|0)-q|0)>>>0:0){f=c[1829]|0;if(k>>>0<f>>>0)na();h=k+q|0;if(k>>>0>=h>>>0)na();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)na();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)na();a=e+12|0;if((c[a>>2]|0)!=(k|0))na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else na()}while(0);do if(g|0){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[1826]=c[1826]&~(1<<a);break}}else{if(g>>>0<(c[1829]|0)>>>0)na();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[1829]|0;if(u>>>0<b>>>0)na();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)na();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)na();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{w=a;x=b}}else{c[1825]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=7604+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else na()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[1827]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[1830]|0;if(a>>>0>15){N=b+q|0;c[1830]=N;c[1827]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[1827]=0;c[1830]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[1828]|0;if(a>>>0>q>>>0){L=a-q|0;c[1828]=L;N=c[1831]|0;M=N+q|0;c[1831]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[1943]|0)){c[1945]=4096;c[1944]=4096;c[1946]=-1;c[1947]=-1;c[1948]=0;c[1936]=0;x=p&-16^1431655768;c[p>>2]=x;c[1943]=x}h=q+48|0;g=c[1945]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[1935]|0;if(a|0?(w=c[1933]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[1936]&4)){a=c[1831]|0;c:do if(a){d=7748;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[1828]|0)&g;if(a>>>0<2147483647){b=ya(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=ya(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[1944]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[1933]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[1935]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=ya(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[1945]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((ya(y|0)|0)==(-1|0)){ya(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[1936]=c[1936]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=ya(k|0)|0,A=ya(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[1933]|0)+f|0;c[1933]=a;if(a>>>0>(c[1934]|0)>>>0)c[1934]=a;j=c[1831]|0;do if(j){e=7748;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[1828]|0)|0;c[1831]=M;c[1828]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[1832]=c[1947];break}a=c[1829]|0;if(h>>>0<a>>>0){c[1829]=h;k=h}else k=a;d=h+f|0;a=7748;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=7748;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[1830]|0)){N=(c[1827]|0)+g|0;c[1827]=N;c[1830]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)na();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)na();b=f+12|0;if((c[b>>2]|0)!=(a|0))na();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else na()}while(0);if(!h)break;b=c[a+28>>2]|0;d=7604+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[1829]|0)>>>0)na();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[1826]=c[1826]&~(1<<b);break e}while(0);e=c[1829]|0;if(L>>>0<e>>>0)na();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)na();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[1829]|0)>>>0)na();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=7340+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)na();if((c[d+12>>2]|0)==(a|0))break;na()}while(0);if((e|0)==(d|0)){c[1825]=c[1825]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)na();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}na()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;do if(!(b&a)){c[1825]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[1829]|0)>>>0){M=a;N=b;break}na()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=7604+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else na()}}else{N=(c[1828]|0)+g|0;c[1828]=N;c[1831]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=7748;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[1831]=N;c[1828]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[1832]=c[1947];e=d+4|0;c[e>>2]=27;c[a>>2]=c[1937];c[a+4>>2]=c[1938];c[a+8>>2]=c[1939];c[a+12>>2]=c[1940];c[1937]=h;c[1938]=f;c[1940]=0;c[1939]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{J=a;K=b}}else{c[1825]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=7604+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[1826]|0;b=1<<d;if(!(a&b)){c[1826]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[1829]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else na()}}}else{N=c[1829]|0;if((N|0)==0|h>>>0<N>>>0)c[1829]=h;c[1937]=h;c[1938]=f;c[1940]=0;c[1834]=c[1943];c[1833]=-1;a=0;do{N=7340+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[1831]=M;c[1828]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[1832]=c[1947]}while(0);a=c[1828]|0;if(a>>>0>q>>>0){L=a-q|0;c[1828]=L;N=c[1831]|0;M=N+q|0;c[1831]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(ye()|0)>>2]=12;N=0;i=O;return N|0}function _a(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0}while((of(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Eb(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[7148+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Eb(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[7157+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Eb(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Eb(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ye()|0)>>2]=22;qd(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Eb(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Eb(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;k=re(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=re(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Eb(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else qd(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=re(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=mb(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){qd(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=ae(o|0,n|0,2)|0;H=re(H|0,C|0,-32,-1)|0;e=re(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=re(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=ke(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=re(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+yf(+Xb(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ye()|0)>>2]=34;g=+zf(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Eb(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48){h=0;e=0;while(1){h=re(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=re(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Eb(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=mb(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){qd(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=re(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(ye()|0)>>2]=22;qd(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(ye()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[768+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[768+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[768+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=ae(c[p>>2]|0,0,29)|0;o=re(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Oe(o|0,n|0,1e9,0)|0;o=Dd(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+yf(+Xb(1.0,105-o|0),j);m=+Ef(j,+Xb(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ef(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ye()|0)>>2]=34}while(0);g=+zf(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ye()|0)>>2]=22;qd(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function $a(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(ye()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)wb(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[4456+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}lb(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=ee(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=4936;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=4936;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=ke(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=4936;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?4936:4938;L=76}else{p=1;r=4937;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=4936;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=4936;o=N;break}case 109:{o=oc(c[(ye()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:6838;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Qb(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?6846:6851}else{G=1;H=6848}else{q=-q;G=1;H=6845}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Af(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=hc(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[4920+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Qb(e,32,K,r,I);if(!(c[e>>2]&32))wb(y,w,e)|0;Qb(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))wb(ea,o,e)|0;f=ba-p|0;Qb(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))wb(t,f,e)|0;Qb(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=ae(c[r>>2]|0,0,t|0)|0;B=re(B|0,C|0,o|0,0)|0;o=C;A=Dd(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Oe(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=hc(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Qb(e,32,K,w,I);if(!(c[e>>2]&32))wb(H,G,e)|0;Qb(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=hc(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Cc(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))wb(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;wb(6876,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=hc(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Cc(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))wb(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Qb(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=hc(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))wb(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}wb(6876,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Cc(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))wb(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Qb(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;wb(u,ba-u|0,e)|0}while(0);Qb(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Qb(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){wb(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))wb(s?(t?7157:6872):t?6864:6868,3,e)|0;Qb(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=4936;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[4920+(o&15)>>0]|r;o=ee(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=4936;L=77}else{o=t;t=2;r=4936+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=4936;L=77}}else if((L|0)==76){f=hc(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=sb(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=4936;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Ie(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Qb(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Ie(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))wb(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Qb(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Qb(e,32,o,s,p);if(!(c[e>>2]&32))wb(v,w,e)|0;Qb(e,48,o,s,p^65536);Qb(e,48,r,t,0);if(!(c[e>>2]&32))wb(f,t,e)|0;Qb(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;lb(j+(m<<3)|0,n,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=ia;return m|0}function ab(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Qf(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(of(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{qd(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Eb(e)|0}while((of(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}qd(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Eb(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Cc(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Cc(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Za(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Eb(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(pb(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=lc(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Pe(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Za(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=lc(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Eb(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+_a(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;qd(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Eb(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(of(d[m>>0]|0)|0))break;else n=m}qd(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Eb(e)|0}while((of(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){cb(l);cb(f)}}else k=0;while(0);if(O|0)Pf(e);i=P;return k|0}function bb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=re(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(4305==0?(Pc(c[a+8>>2]|0,4319)|0)!=0:0){ba=a+32|0;T=ba;T=Wa[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=re(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=re(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=re(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=re(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=ke(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=re(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=ke((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=ke(k|0,j|0,f|0,d|0)|0;nc(b|0,B+f|0,o|0)|0;e=re(o|0,E|0,e|0,n|0)|0;f=C;d=ke(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=re(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;Jd(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=ic(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=re(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=ke(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(4305){y=re(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=re(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Oe(k|0,j|0,w|0,0)|0;t=re(A|0,B|0,-1,-1)|0;t=re(t|0,C|0,w|0,0)|0;w=Oe(t|0,C|0,w|0,0)|0;t=m+52|0;dd(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((cf(u,d,s)|0)<(s|0))f=0;else{wf(u);j=B;k=A;continue}while(1){o=cf(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=gf(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=Kd(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=Kd(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=re(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=ke(f|0,j|0,p|0,q|0)|0;k=C;f=mc(j)|0;c[W>>2]=f;m=Wa[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}Jd(Z,c[K>>2]|0,p,0)|0;Oc(Z,c[K>>2]|0,f,j);Je(W)}bc(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;Jd(P,c[t>>2]|0,da+64|0,0)|0;Oc(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}wf(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);Jd(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Qc(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Ae(4331,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;ge(4,4387,$);ge(4,4433,aa);S=0;T=0;break}else if((n|0)==36){Qc(Z,j,f,h);S=ba;S=re(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=re(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function cb(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;if(!a)return;d=a+-8|0;h=c[1829]|0;if(d>>>0<h>>>0)na();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)na();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)na();if((k|0)==(c[1830]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[1827]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=7340+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)na();if((c[b+12>>2]|0)!=(k|0))na()}if((d|0)==(b|0)){c[1825]=c[1825]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)na();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else na()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)na();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)na();a=e+12|0;if((c[a>>2]|0)!=(k|0))na();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else na()}while(0);if(f){a=c[k+28>>2]|0;b=7604+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[1826]=c[1826]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[1829]|0)>>>0)na();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[1829]|0;if(i>>>0<d>>>0)na();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)na();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[1829]|0)>>>0)na();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)na();a=m+4|0;b=c[a>>2]|0;if(!(b&1))na();if(!(b&2)){if((m|0)==(c[1831]|0)){p=(c[1828]|0)+g|0;c[1828]=p;c[1831]=q;c[q+4>>2]=p|1;if((q|0)!=(c[1830]|0))return;c[1830]=0;c[1827]=0;return}if((m|0)==(c[1830]|0)){p=(c[1827]|0)+g|0;c[1827]=p;c[1830]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();d=b+12|0;if((c[d>>2]|0)!=(m|0))na();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else na()}while(0);if(f|0){a=c[m+28>>2]|0;b=7604+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[1826]=c[1826]&~(1<<a);break}}else{if(f>>>0<(c[1829]|0)>>>0)na();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[1829]|0;if(n>>>0<d>>>0)na();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)na();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[1829]|0)>>>0)na();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=7340+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[1829]|0)>>>0)na();if((c[b+12>>2]|0)!=(m|0))na()}if((d|0)==(b|0)){c[1825]=c[1825]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[1829]|0)>>>0)na();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else na()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[1830]|0)){c[1827]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=7340+(a<<1<<2)|0;b=c[1825]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[1829]|0)>>>0)na();else{o=a;p=b}}else{c[1825]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=7604+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[1826]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[1829]|0)>>>0)na();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[1829]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else na()}}else{c[1826]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[1833]|0)+-1|0;c[1833]=q;if(!q)a=7756;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[1833]=-1;return}function db(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[1829]|0;if(l>>>0<i>>>0)na();if((l|0)==(c[1830]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[1827]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=7340+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)na();if((c[a+12>>2]|0)!=(l|0))na()}if((b|0)==(a|0)){c[1825]=c[1825]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)na();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else na()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)na();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)na();d=e+12|0;if((c[d>>2]|0)!=(l|0))na();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else na()}while(0);if(f){d=c[l+28>>2]|0;a=7604+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[1826]=c[1826]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[1829]|0)>>>0)na();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[1829]|0;if(j>>>0<b>>>0)na();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)na();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[1829]|0)>>>0)na();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[1829]|0;if(o>>>0<h>>>0)na();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[1831]|0)){q=(c[1828]|0)+g|0;c[1828]=q;c[1831]=r;c[r+4>>2]=q|1;if((r|0)!=(c[1830]|0))return;c[1830]=0;c[1827]=0;return}if((o|0)==(c[1830]|0)){q=(c[1827]|0)+g|0;c[1827]=q;c[1830]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)na();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)na();d=e+12|0;if((c[d>>2]|0)!=(o|0))na();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else na()}while(0);if(f|0){d=c[o+28>>2]|0;a=7604+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[1826]=c[1826]&~(1<<d);break}}else{if(f>>>0<(c[1829]|0)>>>0)na();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[1829]|0;if(n>>>0<b>>>0)na();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)na();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[1829]|0)>>>0)na();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=7340+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)na();if((c[a+12>>2]|0)!=(o|0))na()}if((b|0)==(a|0)){c[1825]=c[1825]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)na();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else na()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[1830]|0)){c[1827]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=7340+(d<<1<<2)|0;a=c[1825]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[1829]|0)>>>0)na();else{p=d;q=a}}else{c[1825]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=7604+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[1826]|0;a=1<<b;if(!(d&a)){c[1826]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[1829]|0)>>>0)na();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[1829]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))na();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(ye()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0}while((of(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Eb(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Eb(b)|0;if((d[6883+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){qd(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[6883+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;qd(b,0);c[(ye()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Eb(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Kd(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=re(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[7139+((e*23|0)>>>5&7)>>0]|0;j=a[6883+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=ee(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=ae(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[6883+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Oe(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Kd(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=re(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0;j=a[6883+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[6883+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Eb(b)|0}while((d[6883+i>>0]|0)>>>0<e>>>0);c[(ye()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ye()|0)>>2]=34;g=re(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ye()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=ke(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function fb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=sc(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Pc(r,3151)|0)){j=g;h=k;N=4;break}s=De(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(of(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Zb(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(jf(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Ue(Q,o,(m|0)==0?3573:m)|0;else{l=Pd(o,f)|0;if(!l){l=Pd(o,36)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Re(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Qe(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+uf(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+uf(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?3573:m;l=Pd(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=te(Q,o)|0;l=le(m)|0;if(!n){Ue(Q,o,l)|0;break}else{be(n,l);break}}Ue(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Ae(3162,z);break}case 34:{c[A>>2]=o;Ae(3188,A);break}case 36:{c[K>>2]=o;Ae(3227,K);break}case 38:{c[L>>2]=o;Ae(3263,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Ae(3296,B);break}case 43:{c[C>>2]=o;Ae(3263,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Ae(3338,D);break}case 48:{c[E>>2]=o;Ae(3382,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Ae(3417,F);break}case 53:{c[G>>2]=o;Ae(3457,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Ae(3493,H);break}case 57:{c[I>>2]=c[l>>2];Ae(3534,I);break}case 65:{Ae(3576,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function gb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Ta[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Ye(h)|0;c[b+16>>2]=e;f=Ob(c[f>>2]|0)|0;if(!f){s=0;break}s=Zb(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;wf(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}pc(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)id(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=xd(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;pc(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;sd(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}$b(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Ae(4160,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}$b(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){$b(b,f);s=1}else s=1}while(0);i=y;return s|0}function hb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[1829]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))na();f=c[k+4>>2]|0;if(!(f&1))na();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[1945]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;db(m,d);return a|0}if((k|0)==(c[1831]|0)){d=(c[1828]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[1831]=l;c[1828]=m;return a|0}if((k|0)==(c[1830]|0)){e=(c[1827]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1827]=d;c[1830]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)na();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)na();d=g+12|0;if((c[d>>2]|0)!=(k|0))na();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else na()}while(0);if(h|0){d=c[k+28>>2]|0;e=7604+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[1826]=c[1826]&~(1<<d);break}}else{if(h>>>0<(c[1829]|0)>>>0)na();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[1829]|0;if(j>>>0<f>>>0)na();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)na();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[1829]|0)>>>0)na();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=7340+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)na();if((c[e+12>>2]|0)!=(k|0))na()}if((f|0)==(e|0)){c[1825]=c[1825]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)na();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else na()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;db(l,m);return a|0}return 0}function ib(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)ta(1457,1477,448,1493);h=ra()|0;c[s>>2]=h;if((h|0)<0)od(1506,l);if(h|0)if(!(Ld(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;od(2044,k)}r=Fe()|0;c[s>>2]=r;if(Ld(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;od(1517,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Fd(m)|0;j=ra()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}kd(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))nd(t);if(c[k>>2]|0)nd(m);g=0;f=0;j=h;h=k}if((b|0)==14)od(1506,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){Ib(k,l,h,e);x=k+8|0;w=c[x>>2]|0;oa(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];od(1751,o)}Ib(k,0,h,e);h=Ad(1,f,g)|0;if((h|0)<0)od(1662,p);if((h|0)==(g|0)){Od(1)|0;Oa(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Ae(1697,q)}}else if((b|0)==28){Od(0)|0;Od(1)|0;de();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=Ra(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;kd(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)od(1824,u);else if((b|0)==35){c[v>>2]=h;Ae(1839,v)}else if((b|0)==39){v=Fc(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Ae(1869,w)}else if((b|0)==41)ta(1924,1477,242,1948);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[55]|0;v=Fc(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Xd(h,1967,x)|0;h=c[k>>2]|0}Oa(h>>>8&255|0)}else if((b|0)==47)ta(2014,1477,396,2034);else if((b|0)==49)Oa(0)}}function jb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=ld(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((ld(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=re(m|0,l|0,-1,-1)|0;d=C;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;ke(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=ke(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function kb(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=ee(d|0,m|0,52)|0;e=e&2047;j=ee(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=ae(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=ae(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=ae(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=ae(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=ae(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=ae(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=ae(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=ae(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=ke(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=ae(d|0,f|0,1)|0;f=C;e=e+-1|0;l=ke(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=ae(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=re(d|0,f|0,0,-1048576)|0;d=C;e=ae(e|0,0,52)|0;d=d|C;e=o|e}else{e=ee(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function lb(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 mb(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Kd(f|0,b|0,10,0)|0;f=C;e=re(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=re(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Eb(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=ke(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function nb(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[1812]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ge(Qa(146,n|0)|0)|0}else{qa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ge(Qa(146,m|0)|0)|0;ja(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 ob(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(sb(6878,f<<24>>24,4)|0){e=Za(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(De(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(De(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ka(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ka(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ka(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[1813]|0))c[e+76>>2]=-1;Ja(7276);f=c[1818]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[1818]=e;Ga(7276)}}else{c[(ye()|0)>>2]=22;e=0}i=o;return e|0}function pb(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;l=i;i=i+16|0;g=l;j=(f|0)==0?7296:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[452+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(ye()|0)>>2]=84;f=-1}i=l;return f|0}function qb(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;q=i;i=i+48|0;p=q+24|0;o=q+8|0;n=q;m=q+36|0;k=q+32|0;j=ve(b)|0;c[m>>2]=j;c[k>>2]=j;l=sc(8,1)|0;h=(e|0)==0;e=j;a:while(1){j=fe(e)|0;if(!j){e=15;break}e=a[j>>0]|0;if(!(e<<24>>24)){e=15;break}if(!h?(xf(e<<24>>24)|0)==0:0){e=6;break}e=De(j,61)|0;if(!e){e=8;break}g=e+1|0;a[e>>0]=0;e=a[g>>0]|0;f=e<<24>>24;switch(e<<24>>24){case 34:case 39:{if(!(xb(g,g,k)|0)){e=11;break a}break}default:{e=td(g)|0;c[k>>2]=e;if(e|0){c[k>>2]=e+1;a[e>>0]=0}}}Ue(l,j,ve(g)|0)|0;e=c[k>>2]|0}if((e|0)==6){c[n>>2]=d;c[n+4>>2]=j;Ae(3783,n)}else if((e|0)==8){c[o>>2]=d;c[o+4>>2]=j;c[o+8>>2]=b;Ae(3849,o)}else if((e|0)==11){c[p>>2]=d;c[p+4>>2]=f;Ae(3915,p)}else if((e|0)==15){Je(m);i=q;return l|0}return 0}function rb(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+120|0;r=s+80|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(($a(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Qf(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=$a(b,d,o,q,r)|0;if(h){Ta[c[b+36>>2]&7](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=$a(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)Pf(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function sb(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|0)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?b:0)|0}function tb(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[1812]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ge(Pa(145,h|0)|0)|0}else{qa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ge(Pa(145,g|0)|0)|0;ja(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function ub(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)ta(2691,2743,388,2755);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Ne(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)Id(b);d=d+1|0}wf(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=ic(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=ne(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){af(e,1403);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){af(e,1407);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}af(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Zd(j)|0;if(!(c[a>>2]|0))Ae(1409,k);if(!(b&8))e=0;else{be(l,yc(24,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;be(l,yc(d,l)|0);e=e+1|0}i=m;return l|0}function wb(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(!(Nc(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Ta[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ta[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);nc(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 xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;l=n;j=a[b>>0]|0;k=j<<24>>24;b=b+1|0;a:while(1){h=0;f=b;while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24)){m=4;break a}g=f<<24>>24==92;if(h|0)break;if(g){h=1;f=b}else{m=10;break}}if((m|0)==10){m=0;if(f<<24>>24==j<<24>>24){m=12;break}a[d>>0]=f;d=d+1|0;continue}h=d+1|0;if(g|f<<24>>24==j<<24>>24){a[d>>0]=f;d=h;continue}else{a[d>>0]=92;a[h>>0]=f;d=d+2|0;continue}}if((m|0)==4){c[l>>2]=k;oe(3770,l);b=0}else if((m|0)==12){a[d>>0]=0;if(!e)b=1;else{c[e>>2]=b;b=1}}i=n;return b|0}function yb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;h=m+24|0;k=m+20|0;j=m+16|0;g=m+12|0;d=ed(a,1)|0;e=Gb(b,1174)|0;c[h>>2]=e;c[k>>2]=se(e)|0;e=d+28|0;f=d+4|0;while(1){if(!(vd(d,j)|0)){a=9;break}b=fd(j)|0;a=lf(c[j>>2]|0,c[e>>2]|0)|0;c[g>>2]=a;if(!(Pc(1176,b)|0))Lb(d,a,c[k>>2]|0);else{if(Pc(1186,b)|0){a=7;break}Db(d,a,c[k>>2]|0)}Lc(g)}if((a|0)==7){k=c[f>>2]|0;m=c[j>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=k;c[l+8>>2]=m;Ae(1199,l)}else if((a|0)==9){we(k);We(h);i=m;return}}function zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Zb(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Ab(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=ic(16)|0;else l=Vc(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=bf(d,e)|0;else{k=Vc(h,e+1|0)|0;c[l+4>>2]=k;nc(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)ub(b,ue(m)|0);return l|0}function Bb(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=Uf()|0;Lf(7168)|0;if((c[1799]|0)!=0&(a|0)==(c[1800]|0)){Ad(2,2141,61)|0;Oa(1)}Jf(7168)|0;Lf(7204)|0;Lf(7168)|0;c[1800]=a;c[1799]=1;Jf(7168)|0;if(!(c[1808]|0))c[1808]=sc(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;Nd(d,64,2203,b)|0;a=Gc(c[1808]|0,d)|0;if(!a){a=ic(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Ue(c[1808]|0,d,a)|0}Lf(7168)|0;c[1799]=0;Jf(7168)|0;Jf(7204)|0;i=e;return c[a+8>>2]|0}function Cb(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Db(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;n=i;i=i+32|0;k=n;j=n+20|0;l=n+8|0;h=Zc(d,1106,b)|0;d=te(d,1118)|0;d=xe((d|0)==0?1123:d)|0;f=b+28|0;g=b+4|0;while(1){if(!(vd(b,j)|0))break;o=fe(c[j>>2]|0)|0;c[j>>2]=o;if(xf(a[o>>0]|0)|0){m=4;break}if((Wb(c[j>>2]|0,l,3)|0)!=2){m=6;break}o=(xc(b,l,0)|0)+-1|0;Sb(e,h,o,o+d|0,+wc(b,l,1))}if((m|0)==4)Cf(b);else if((m|0)==6){o=c[g>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=o;Ae(1130,k)}i=n;return}function Eb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=jd(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Fb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=656;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ye()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=rb(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Gb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Pc(b,4128)|0){if(!(Pc(b,2316)|0)){f=c[25]|0;break}e=cc(b,d)|0;if(!e){a:do if(!d)e=7796;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=2344;break a}case 119:{e=2334;break a}default:{e=e<<24>>24==97?2323:7796;break a}}}while(0);d=oc(c[(ye()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Ae(2353,g)}else f=e}else f=c[84]|0;while(0);i=h;return f|0}function Hb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[3952+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[3952+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function Ib(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((va(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))od(1550,k);l=Fe()|0;if(Ld(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Fe()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;od(1573,f)}if(b|0?(rd(b,0)|0)<0:0)od(1600,g);if((d|0)!=1?(rd(d,1)|0)<0:0)od(1620,h);if((e|0)!=2?(rd(e,2)|0)<0:0)od(1641,j);de();i=k;return}function Jb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Kc(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=ic(5)|0;c[g>>2]=f;if((Bd(e,f,4)|0)<4)Je(g);else a[f+4>>0]=0;Od(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=jc(e)|0,Je(h),(g|0)!=0):0){h=Ed(Dc(b)|0,33,b,0)|0;e=Cd(b,d,Df(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function Kb(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=ec(a)|0;break}d=(Qf(a)|0)==0;b=ec(a)|0;if(!d)Pf(a)}else{if(!(c[54]|0))b=0;else b=Kb(c[54]|0)|0;Ja(7276);a=c[1818]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Qf(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=ec(a)|0|b;if(d|0)Pf(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(7276)}while(0);return b|0}function Lb(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;l=i;i=i+16|0;j=l;g=Zc(d,1106,b)|0;f=(xe(Zc(d,1112,b)|0)|0)+-1|0;m=te(d,1118)|0;m=(m|0)==0?1123:m;h=xe(m)|0;d=te(d,1125)|0;d=xe((d|0)==0?m:d)|0;while(1){if(!(vd(b,j)|0))break;m=fe(c[j>>2]|0)|0;c[j>>2]=m;if(xf(a[m>>0]|0)|0){k=4;break}Gd(c[j>>2]|0);Sb(e,g,f,f+h|0,+pd(c[j>>2]|0));f=f+d|0}if((k|0)==4)Cf(b);i=l;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=md(e,0)|0;c[n>>2]=g;yd(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=md(d,e)|0;else if(!f){e=Kc(d,0,h)|0;if((e|0)<0){c[k>>2]=d;od(2110,k)}else j=e}else j=0;c[m>>2]=j;e=Tc(a,b,j,g)|0;nd(m);if(!l)nd(n);i=o;return e|0}function Nb(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[(ye()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ob(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=mc(k)|0;nc(j|0,d|0,e|0)|0;wf(c);d=j;e=k;c=j}k=bb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=ve(d)|0;wf(c);c=l}i=h;return c|0}function Pb(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((_d(f,1270,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Qb(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;Cc(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){wb(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;wb(h,f,a)|0}while(0);i=j;return}function Rb(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(!(Nc(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ta[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Sb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0;if(((((c[1791]|0)==0?(c[a>>2]|0)!=0:0)?(g=a+20|0,(c[g>>2]|0)==(d|0)):0)?!(+h[a+24>>3]!=f):0)?(Pc(b,c[a+8>>2]|0)|0)==0:0)c[g>>2]=e;else{Ec(a);g=(Zb(b)|0)+1|0;i=a+12|0;if((g|0)>(c[i>>2]|0)){c[i>>2]=g;i=a+8|0;g=Te(c[i>>2]|0,0,g)|0;c[i>>2]=g}else g=c[a+8>>2]|0;rf(g,b)|0;c[a+16>>2]=d;c[a+20>>2]=e;h[a+24>>3]=f;c[a>>2]=1}return}function Tb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Qf(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Rb(d,b)|0;Pf(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Rb(d,b)|0}while(0);return e|0}function Ub(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=ke(h^a|0,g^b|0,h|0,g|0)|0;b=C;jb(a,b,ke(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=ke(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Vb(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Bd(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;od(2383,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Ae(2408,g)}else if((d|0)==8){i=h;return}}function Wb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(of(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(of(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Xb(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=ae(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Yb(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(of(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Zb(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 _b(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=ee(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+_b(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 $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Gc(c[e>>2]|0,d)|0)){Ue(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Xd(g,4156,h)|0}}}while(0);i=j;return}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;mf(d);d=g}e=e+1|0}}else{ze(b);b=d+8|0}while(0);wf(c[b>>2]|0);Je(a)}return}function bc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[3960+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[3968+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[3968+f>>0]}while(0);return}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(sb(6878,a[d>>0]|0,4)|0){h=Yc(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ge(La(5,e|0)|0)|0;if((e|0)>=0){b=ob(e,d)|0;if(!b){c[f>>2]=e;Ka(6,f|0)|0;b=0}}else b=0}else{c[(ye()|0)>>2]=22;b=0}i=g;return b|0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Ae(2901,d)}d=tf(a,b)|0;if(!d){g=c[(ye()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Ae(2965,e)}else{i=f;return d|0}return 0}function ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ta[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Ta[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function fc(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=ke(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return ke((jb(h,g,ke(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;qd(h,0);e=+_a(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function hc(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=Dd(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Oe(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 ic(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Ae(3037,b)}b=Hf(a)|0;if(!b){f=c[(ye()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ae(3090,d)}else{Cc(b|0,0,a|0)|0;i=e;return b|0}return 0}function jc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(zd(3976,a)|0))if(!(zd(3979,a)|0))if(!(zd(3983,a)|0))if(!(zd(3986,a)|0))a=0;else{a=3991;e=5}else{a=3995;e=5}else{a=3999;e=5}else{a=4001;e=5}if((e|0)==5){c[d>>2]=a;Nd(b,20,4004,d)|0;a=ve(b)|0}i=f;return a|0}function kc(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ta[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function lc(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Za(b)|0;return a|0}if(b>>>0>4294967231){c[(ye()|0)>>2]=12;a=0;return a|0}d=hb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Za(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;nc(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;cb(a);a=d;return a|0}function mc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Ae(2777,b)}b=Hf(a)|0;if(!b){f=c[(ye()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Ae(2835,d)}else{i=e;return b|0}return 0}function nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return za(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 oc(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[4946+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=5034;e=5;break}}if((e|0)==2)if(!c)b=5034;else{b=5034;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 pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Ae(2266,k)}else{c[j>>2]=e;Me(d,j)}return 0}function rc(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;qd(j,0);e=eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ic(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)ta(2691,2743,357,2766);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=Qd((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Ne(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function tc(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ja(7276);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[1818]|0)==(a|0))c[1818]=b;Ga(7276)}b=Kb(a)|0;b=Xa[c[a+12>>2]&1](a)|0|b;d=c[a+92>>2]|0;if(d|0)cb(d);if(!e)cb(a);return b|0}function uc(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=_c(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=2585;else e=(d|0)==2?2544:2553;else e=2576;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;od(2594,g);return 0}function vc(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[25]|0;if((c[f+76>>2]|0)>-1)g=Qf(f)|0;else g=0;do if((ff(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=(Rb(f,10)|0)<0}while(0);if(g|0)Pf(f);return d<<31>>31|0}function wc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+uf(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Ae(4257,g);return +(0.0)}function xc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Ae(4209,f)}j=Yb(d)|0;i=g;return j|0}function yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ic(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=ic((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=ve(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[25]|0);if((b|0)==(c[84]|0)|d)if(d){Kb(b)|0;b=1}else b=1;else if(!(tc(b)|0))b=1;else{hd(2626,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=Md(b)|0;do if((f|0)!=0?(Pc(f,3573)|0)!=0:0){d=Re(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Ae(3296,h)}else e=d;while(0);i=j;return e|0}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Ne(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Ae(3694,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Cc(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 Dc(a){a=a|0;var b=0;b=ve(a)|0;if(!(((zd(4016,a)|0)==0?(zd(4024,a)|0)==0:0)?!(zd(4033,a)|0):0))Pb(a,b,Zb(a)|0);if(!($d(b,4040)|0))if(!($d(b,4044)|0))if(!($d(b,4047)|0)){a=($d(b,4052)|0)==0;a=a?0:52}else a=88;else a=76;else a=64;wf(b);return a|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,j=0;d=i;i=i+32|0;b=d;if(c[a>>2]|0){e=c[a+4>>2]|0;j=c[a+16>>2]|0;g=c[a+20>>2]|0;f=+h[a+24>>3];c[b>>2]=c[a+8>>2];c[b+4>>2]=j;c[b+8>>2]=g;h[b+16>>3]=f;Xd(e,1058,b)|0;c[a>>2]=0}i=d;return}function Fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=ne(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){af(e,1407);b=c[d>>2]|0}af(e,b);f=f+1|0}g=Zd(g)|0;i=h;return g|0}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Pc(c[e+4>>2]|0,d)|0)!=0);return e|0}function Hc(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((Ge(Na(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Pc(a,4128)|0){if(Dc(a)|0){c=Jb(a,b)|0;break}c=Kc(a,0,c)|0;if((c|0)==-1)c=0;else c=Cd(a,b,c)|0}else c=hf(b)|0;while(0);i=d;return c|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Ad(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)od(2450,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Ae(2476,e)}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ge(La(5,f|0)|0)|0;i=e;return d|0}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){f=b+16|0;d=b+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break;b=(c[d>>2]|0)+(e<<2)|0;while(1){b=c[b>>2]|0;if(!b)break;wf(c[b+8>>2]|0)}e=e+1|0}ac(a)}return}function Mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Yd(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;nc(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Nc(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 Oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=re(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Jc(b,d,e);return}function Pc(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 Qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=re(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Vb(b,d,e);return}function Rc(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,Fa(54,f|0)|0):0)a[b+75>>0]=-1;f=nb(b,d,e)|0;i=g;return f|0}function Sc(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 Tc(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;yd(b);a=vb(a,b)|0;if(!(b&1)){b=Fd(a+16|0)|0;c[f>>2]=b;ib(a,b,d,e,0,0);nd(f)}else ud(a,d,e,0,0);i=g;return a|0}function Uc(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=6;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=ab(e,b,d)|0;i=g;return h|0}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Bc(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Fb(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Ae(2640,g)}return 0}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=sb(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;nc(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Yc(b){b=b|0;var c=0,d=0,e=0;d=(De(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(De(b,120)|0)==0;d=e?d:d|128;b=(De(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}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;a=te(a,b)|0;if(!a){a=c[d+28>>2]|0;f=c[d+4>>2]|0;c[e>>2]=b;c[e+4>>2]=a;c[e+8>>2]=f;Ae(1071,e)}else{i=f;return a|0}return 0}function _c(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ge(Na(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function $c(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=(Qf(e)|0)==0;a=wb(a,f,e)|0;if(!g)Pf(e)}else a=wb(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;pe(e,b,8);if((c[e>>2]|0)==3){c[1791]=Bf(1259)|0;yb(c[b+4>>2]|0,c[b+8>>2]|0);i=d;return 0}else Ae(800,d);return 0}function bd(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function cd(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[25]|0;else{vc(2208)|0;vc(2233)|0;d=c[25]|0;rb(d,a,b)|0;Tb(10,d)|0;Kb(d)|0}Kb(d)|0;d=c[55]|0;rb(d,a,b)|0;Tb(10,d)|0;Kb(d)|0}return}function dd(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=mc(h)|0;a=a+136|0;Jd(a,b,d+64|0,0)|0;Qc(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Ic(a,b)|0;if(!b){e=oc(c[(ye()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Ae(4134,d)}else{i=e;return b|0}return 0}function fd(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=fe(e)|0,(a[d>>0]|0)!=0):0){e=td(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function gd(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=oc(c[(ye()|0)>>2]|0)|0;c[g+4>>2]=a;Wd(f,2260,g)|0;qe(f,e);i=d;return}function id(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else nc(b,c,d)|0;return b|0}function jd(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(kc(a)|0)!=0:0)b=-1;else if((Ta[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Ae(1767,e)}}function ld(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 md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Kc(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;od(2078,d)}else{i=e;return b|0}return 0}function nd(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((Od(b)|0)<0){c[d>>2]=b;od(1802,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=oc(c[(ye()|0)>>2]|0)|0;c[f+4>>2]=a;Wd(e,2260,f)|0;Me(e,d)}function pd(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+uf(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;Ae(2297,e);return +(0.0)}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=la(63,e|0)|0}while((d|0)==-16);e=Ge(d)|0;i=f;return e|0}function sd(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Te(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else ta(4072,4094,352,4110)}function td(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(of(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function ud(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;g=i;i=i+16|0;h=g;c[a+16>>2]=Fd(h)|0;ib(a,b,c[h>>2]|0,d,e,f);nd(h);i=g;return}function vd(b,d){b=b|0;d=d|0;a:while(1){if(!(gb(b,d,0)|0)){b=0;break}switch(a[(fe(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;nc(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Bd(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function yd(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Ae(1274,c);break}default:{}}if((a&18|0)==16)Ae(1340,b);else{i=c;return}}function zd(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ge(Ma(4,f|0)|0)|0;i=e;return a|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ge(Ha(3,f|0)|0)|0;i=e;return a|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ic(104)|0;c[f+4>>2]=ve(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=ic(65537)|0;return f|0}function Dd(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;jb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Mb(g,b,d,e)|0;i=f;return e|0}function Fd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((he(b)|0)<0)od(1439,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Gd(b){b=b|0;var c=0,d=0;c=Zb(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(of(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[8]|0)>=(a|0)){a=c[1809]|0;if(!a){a=c[55]|0;c[1809]=a}rb(a,b,d)|0;Kb(c[1809]|0)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function Jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=re(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return uc(b,d,e)|0}function Kd(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=bd(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ge(Ea(57,e|0)|0)|0;i=d;return a|0}function Md(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[1810]|0;if(!b)Ae(3662,d);else{a=te(b,a)|0;i=d;return a|0}return 0}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Wc(a,b,d,g)|0;i=f;return e|0}function Od(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ka(6,d|0)|0;a=Ge((a|0)==-4?-115:a)|0;i=b;return a|0}function Pd(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Pc(d,a)|0))break;b=b+8|0}return b|0}function Qd(a){a=a|0;var b=0;b=ic(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Bc(b,a)|0;return b|0}function Rd(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=Ge(Ka(6,d|0)|0)|0;i=b;return a|0}function Sd(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]}function Td(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Wa[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Vd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=ic(d+1|0)|0;c=(c|0)<(d|0)?c:d;nc(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xe(a,b,f)|0;i=e;return d|0}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=rb(a,b,f)|0;i=e;return d|0}function Yd(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Te(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Zd(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)ta(3723,3734,40,3750);else{b=c[b+4>>2]|0;Je(a);return b|0}return 0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Uc(a,b,f)|0;i=e;return d|0}function $d(a,b){a=a|0;b=b|0;var c=0;c=Zb(a)|0;c=c-(Zb(b)|0)|0;if((c|0)<0)c=0;else c=(Pc(a+c|0,b)|0)==0&1;return c|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function be(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function ce(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;wf(b);b=d}c[a>>2]=0;return}function de(){var a=0,b=0;a=Ia(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;Od(b)|0;b=b+1|0}return}function ee(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function fe(b){b=b|0;if(!b)b=0;else while(1)if(!(of(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function ge(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;Hd(a,b,f);i=e;return}function he(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ge(ma(42,d|0)|0)|0;i=b;return a|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;a=dc(a,c)|0;if(c>>>0>b>>>0)Cc(a+b|0,0,c-b|0)|0;return a|0}function je(){}function ke(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 (C=d,a-c>>>0|0)|0}function le(a){a=a|0;var b=0;if(!a)a=ic(8)|0;else{b=ic((Zb(a)|0)+8|0)|0;rf(b+4|0,a)|0;a=b}return a|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[8]=a;c[d>>2]=0;i=b;return}function ne(a){a=a|0;var b=0;b=ic(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=ic(a+1|0)|0;c[b+8>>2]=a;return b|0}function oe(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;qe(a,e);i=d;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[1810]|0)){Le(fb(a,b,0,d,0)|0);c[1811]=d}return}function qe(a,b){a=a|0;b=b|0;var d=0;d=Bb()|0;Va[c[d+8+(c[d+88>>2]<<2)>>2]&1](a,b);return}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function se(a){a=a|0;var b=0;b=ic(32)|0;c[b+4>>2]=a;c[b+12>>2]=64;c[b+8>>2]=ic(64)|0;return b|0}function te(a,b){a=a|0;b=b|0;a=Gc(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ue(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function ve(a){a=a|0;var b=0;if(!a)a=0;else{b=Zb(a)|0;a=Vd(a,b,b)|0}return a|0}function we(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Ec(b);wf(c[b+8>>2]|0);Je(a)}return}function xe(a){a=a|0;var b=0;b=i;i=i+16|0;a=qc(a,0,b)|0;i=b;return a|0}function ye(){var a=0;if(!(c[1812]|0))a=7292;else a=c[(Uf()|0)+64>>2]|0;return a|0}function ze(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){ce(b);wf(b);c[a>>2]=0}return}function Ae(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Me(a,d)}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ta[a&7](b|0,c|0,d|0)|0}function Ce(a){a=a|0;if((c[a+76>>2]|0)>-1?Qf(a)|0:0)Pf(a);return c[a+60>>2]|0}function De(b,c){b=b|0;c=c|0;b=zb(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ee(){var a=0;a=Bb()|0;Ya[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Oa(-1)}function Fe(){var a=0,b=0;b=i;i=i+16|0;a=sa(20,b|0)|0;i=b;return a|0}function Ge(a){a=a|0;if(a>>>0>4294963200){c[(ye()|0)>>2]=0-a;a=-1}return a|0}function He(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ie(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Nb(a,b,0)|0;return a|0}function Je(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)If(b);return}function Ke(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Le(a){a=a|0;c[1810]=a;if(Md(3154)|0)me(Ac(3154,0)|0);return}function Me(a,b){a=a|0;b=b|0;c[(Bb()|0)+4>>2]=1;qe(a,b);Ee()}function Ne(a){a=a|0;var b=0;b=mc(a)|0;Cc(b|0,0,a|0)|0;return b|0}function Oe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jb(a,b,c,d,0)|0}function Pe(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;a=rc(a,b,c,0,-2147483648)|0;return a|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;a=rc(a,b,c,-2147483648,0)|0;return a|0}function Se(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;return ie(a,b,c)|0}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;return Ab(a,b,Zb(b)|0,c)|0}function Ve(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function We(a){a=a|0;if(!(zc(a)|0))Ee();else return}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;return Fb(a,2147483647,b,c)|0}function Ye(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;Va[a&1](b|0,c|0)}function _e(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,b,c)|0}function $e(){if((Ca(2241)|0)==0?(Ca(2251)|0)==0:0)Oa(-1);na()}function af(a,b){a=a|0;b=b|0;Mc(a,b,Zb(b)|0);return}function bf(a,b){a=a|0;b=b|0;return Vd(a,Zb(a)|0,b)|0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;return Hb(a,b,0,c)|0}function df(a){a=a|0;if(!(c[a+68>>2]|0))Pf(a);return}function ef(a){a=a|0;if(!(c[a+68>>2]|0))Pf(a);return}function ff(a,b){a=a|0;b=b|0;return ($c(a,Zb(a)|0,1,b)|0)+-1|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;return Hb(a,b,1,c)|0}function hf(a){a=a|0;return Cd(4128,a,Ce(c[84]|0)|0)|0}function jf(a){a=a|0;return ((a+-48|0)>>>0<10|(xf(a)|0)!=0)&1|0}function kf(a,b){a=a|0;b=b|0;return Xa[a&1](b|0)|0}function lf(a,b){a=a|0;b=b|0;return qb(a,b,1)|0}function mf(a){a=a|0;wf(c[a+4>>2]|0);wf(a);return}function nf(a,b){a=a|0;b=b|0;i=a;j=b}function of(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function pf(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function qf(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function rf(a,b){a=a|0;b=b|0;Cb(a,b)|0;return a|0}function sf(a,b){a=a|0;b=b|0;Ua[a&3](b|0)}function tf(a,b){a=a|0;b=b|0;return lc(a,b)|0}function uf(a,b){a=a|0;b=b|0;return +(+gc(a,b,1))}function vf(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function wf(a){a=a|0;if(a|0)If(a);return}function xf(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function yf(a,b){a=+a;b=+b;return +(+gd(a,b))}function zf(a,b){a=+a;b=b|0;return +(+Xb(a,b))}function Af(a,b){a=+a;b=b|0;return +(+_b(a,b))}function Bf(a){a=a|0;return (Md(a)|0)!=0|0}function Cf(b){b=b|0;a[b+48>>0]=1;return}function Df(a){a=a|0;return c[a+16>>2]|0}function Ef(a,b){a=+a;b=+b;return +(+kb(a,b))}function Ff(a){a=a|0;return Se(a|0)|0}function Gf(a){a=a|0;Ya[a&1]()}function Hf(a){a=a|0;return Za(a)|0}function If(a){a=a|0;cb(a);return}function Jf(a){a=a|0;return 0}function Kf(a,b){a=a|0;b=b|0;ba(2)}function Lf(a){a=a|0;return 0}function Mf(a){a=a|0;i=a}function Nf(a){a=a|0;C=a}function Of(a){a=a|0;ba(4);return 0}function Pf(a){a=a|0;return}function Qf(a){a=a|0;return 0}function Rf(){return C|0}function Sf(){return i|0}function Tf(a){a=a|0;ba(1)}function Uf(){return 0}function Vf(){ba(5)}
 
 // EMSCRIPTEN_END_FUNCS
 var Ta=[vf,Rc,Hc,nb,tb,wd,_e,vf];var Ua=[Tf,ef,df,Tf];var Va=[Kf,cd];var Wa=[Ke];var Xa=[Of,Rd];var Ya=[Vf,$e];return{_i64Subtract:ke,_free:cb,_main:ad,_htonl:Ff,_realloc:lc,_i64Add:re,_memmove:id,_pthread_self:Uf,_memset:Cc,_pthread_mutex_unlock:Jf,_malloc:Za,_pthread_mutex_lock:Lf,_memcpy:nc,_llvm_bswap_i32:Se,_bitshift64Lshr:ee,_htons:qf,_bitshift64Shl:ae,___errno_location:ye,_ntohs:pf,runPostSets:je,stackAlloc:He,stackSave:Sf,stackRestore:Mf,establishStackSpace:nf,setThrew:Ve,setTempRet0:Nf,getTempRet0:Rf,dynCall_iiii:Be,dynCall_vi:sf,dynCall_vii:Ze,dynCall_iiiiiii:Td,dynCall_ii:kf,dynCall_v:Gf}})
diff --git a/bedTools/wigToBedGraph_static.js.mem b/bedTools/wigToBedGraph_static.js.mem
index 3973b14025a34e511e26f9276bb55016043e4d6a..5a20730b1f1209e01e1b72b934f50f3c4d884ecd 100644
Binary files a/bedTools/wigToBedGraph_static.js.mem and b/bedTools/wigToBedGraph_static.js.mem differ
diff --git a/bedTools/wigToBed_static.js b/bedTools/wigToBed_static.js
index eb6c0e7e00976c45ef490c6bb3450207ecc791c2..355b112d333baf5b22aab8c2ec071314c1a83e35 100644
--- a/bedTools/wigToBed_static.js
+++ b/bedTools/wigToBed_static.js
@@ -1,12 +1,12 @@
-var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+27712;__ATINIT__.push();memoryInitializer="wigToBed_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}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 ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"_gai_strerror":_gai_strerror,"__addDays":__addDays,"_signal":_signal,"_tzset":_tzset,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_wait":_wait,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"___syscall39":___syscall39,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"_getenv":_getenv,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+27712;__ATINIT__.push();memoryInitializer="wigToBed_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env._gai_strerror;var Ia=env.__addDays;var Ja=env._signal;var Ka=env._tzset;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env.___syscall195;var Pa=env.__exit;var Qa=env._utime;var Ra=env._execl;var Sa=env._mktime;var Ta=env._strptime;var Ua=env.__write_sockaddr;var Va=env.___syscall6;var Wa=env.__arraySum;var Xa=env._emscripten_memcpy_big;var Ya=env._abort;var Za=env._exit;var _a=env._llvm_stacksave;var $a=env._wait;var ab=env.___syscall51;var bb=env.___syscall57;var cb=env.___syscall54;var db=env.___unlock;var eb=env._pthread_create;var fb=env.___syscall39;var gb=env.___syscall38;var hb=env.___syscall10;var ib=env.___syscall5;var jb=env._getenv;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
 // EMSCRIPTEN_START_FUNCS
-function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=nc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=nc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=21705;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=21732;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=jc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=21682;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=21705;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=21752;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=Zi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=21816;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=21845;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=jc(o,q,r)|0;else o=nc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=Zi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=22019;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=jc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11152+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=22040;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=nc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}re(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11152+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Sb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=21881;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=8976;c[H>>2]=9;c[I>>2]=11024;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=21797;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=21906;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=21906;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=21932;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Sb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=21969;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Sb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21997;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Wb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=22115;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;re(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=nc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=nc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=22093;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=nc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=21777;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=nc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=22063;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Lc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=jc(j,h,k)|0;else h=nc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6252]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=25048+(b<<1<<2)|0;e=d+8|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[6256]|0)>>>0)Ya();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Ya()}else c[6252]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6254]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=25048+(b<<1<<2)|0;e=d+8|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[6256]|0)>>>0)Ya();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6254]|0;break}else Ya()}else{c[6252]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6257]|0;b=l>>>3;d=25048+(b<<1<<2)|0;a=c[6252]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{m=a;n=b}}else{c[6252]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6254]=h;c[6257]=e;N=j;i=O;return N|0}a=c[6253]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[25312+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6256]|0;if(k>>>0<g>>>0)Ya();j=k+q|0;if(k>>>0>=j>>>0)Ya();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Ya();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Ya();a=f+12|0;if((c[a>>2]|0)!=(k|0))Ya();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Ya()}while(0);do if(h|0){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6253]=c[6253]&~(1<<a);break}}else{if(h>>>0<(c[6256]|0)>>>0)Ya();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6256]|0;if(o>>>0<b>>>0)Ya();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ya();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Ya();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6254]|0;if(a|0){f=c[6257]|0;b=a>>>3;e=25048+(b<<1<<2)|0;a=c[6252]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{r=a;s=b}}else{c[6252]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6254]=d;c[6257]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6253]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[25312+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[25312+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6254]|0)-q|0)>>>0:0){f=c[6256]|0;if(k>>>0<f>>>0)Ya();h=k+q|0;if(k>>>0>=h>>>0)Ya();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Ya();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Ya();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ya();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Ya()}while(0);do if(g|0){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6253]=c[6253]&~(1<<a);break}}else{if(g>>>0<(c[6256]|0)>>>0)Ya();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6256]|0;if(u>>>0<b>>>0)Ya();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ya();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Ya();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{w=a;x=b}}else{c[6252]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=25312+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Ya()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6254]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6257]|0;if(a>>>0>15){N=b+q|0;c[6257]=N;c[6254]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6254]=0;c[6257]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6255]|0;if(a>>>0>q>>>0){L=a-q|0;c[6255]=L;N=c[6258]|0;M=N+q|0;c[6258]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6370]|0)){c[6372]=4096;c[6371]=4096;c[6373]=-1;c[6374]=-1;c[6375]=0;c[6363]=0;x=p&-16^1431655768;c[p>>2]=x;c[6370]=x}h=q+48|0;g=c[6372]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6362]|0;if(a|0?(w=c[6360]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6363]&4)){a=c[6258]|0;c:do if(a){d=25456;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6255]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6371]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6360]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6362]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6372]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6363]=c[6363]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6360]|0)+f|0;c[6360]=a;if(a>>>0>(c[6361]|0)>>>0)c[6361]=a;j=c[6258]|0;do if(j){e=25456;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6255]|0)|0;c[6258]=M;c[6255]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6259]=c[6374];break}a=c[6256]|0;if(h>>>0<a>>>0){c[6256]=h;k=h}else k=a;d=h+f|0;a=25456;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=25456;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6257]|0)){N=(c[6254]|0)+g|0;c[6254]=N;c[6257]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Ya();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Ya();b=f+12|0;if((c[b>>2]|0)!=(a|0))Ya();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Ya()}while(0);if(!h)break;b=c[a+28>>2]|0;d=25312+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6256]|0)>>>0)Ya();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6253]=c[6253]&~(1<<b);break e}while(0);e=c[6256]|0;if(L>>>0<e>>>0)Ya();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Ya();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=25048+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Ya();if((c[d+12>>2]|0)==(a|0))break;Ya()}while(0);if((e|0)==(d|0)){c[6252]=c[6252]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Ya();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Ya()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;do if(!(b&a)){c[6252]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6256]|0)>>>0){M=a;N=b;break}Ya()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=25312+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Ya()}}else{N=(c[6255]|0)+g|0;c[6255]=N;c[6258]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=25456;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6258]=N;c[6255]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6259]=c[6374];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6364];c[a+4>>2]=c[6365];c[a+8>>2]=c[6366];c[a+12>>2]=c[6367];c[6364]=h;c[6365]=f;c[6367]=0;c[6366]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{J=a;K=b}}else{c[6252]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=25312+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Ya()}}}else{N=c[6256]|0;if((N|0)==0|h>>>0<N>>>0)c[6256]=h;c[6364]=h;c[6365]=f;c[6367]=0;c[6261]=c[6370];c[6260]=-1;a=0;do{N=25048+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6258]=M;c[6255]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6259]=c[6374]}while(0);a=c[6255]|0;if(a>>>0>q>>>0){L=a-q|0;c[6255]=L;N=c[6258]|0;M=N+q|0;c[6258]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(yi()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0}while((Fj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=dd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[24835+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=dd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[24844+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=dd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=dd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(yi()|0)>>2]=22;sg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=dd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=dd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;k=ji(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=ji(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=dd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else sg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=ji(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=uc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){sg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Lh(o|0,n|0,2)|0;H=ji(H|0,C|0,-32,-1)|0;e=ji(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=ji(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Vh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=ji(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Rj(+Ud(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(yi()|0)>>2]=34;g=+Sj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=dd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=ji(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=ji(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=uc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){sg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=ji(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(yi()|0)>>2]=22;sg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8944+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8944+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8944+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Lh(c[p>>2]|0,0,29)|0;o=ji(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ui(o|0,n|0,1e9,0)|0;o=Ug(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Rj(+Ud(1.0,105-o|0),j);m=+$j(j,+Ud(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+$j(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(yi()|0)>>2]=34}while(0);g=+Sj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(yi()|0)>>2]=22;sg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(yi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Wc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[22143+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}sc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Ph(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=22623;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=22623;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Vh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=22623;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?22623:22625;L=76}else{p=1;r=22624;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=22623;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=22623;o=N;break}case 109:{o=se(c[(yi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:24525;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Fd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?24533:24538}else{G=1;H=24535}else{q=-q;G=1;H=24532}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Tj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ke(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[22607+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Fd(e,32,K,r,I);if(!(c[e>>2]&32))Wc(y,w,e)|0;Fd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Wc(ea,o,e)|0;f=ba-p|0;Fd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Wc(t,f,e)|0;Fd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Lh(c[r>>2]|0,0,t|0)|0;B=ji(B|0,C|0,o|0,0)|0;o=C;A=Ug(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ui(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ke(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Fd(e,32,K,w,I);if(!(c[e>>2]&32))Wc(H,G,e)|0;Fd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ke(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ze(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Wc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Wc(24563,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ke(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ze(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Wc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Fd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ke(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Wc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Wc(24563,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ze(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Wc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Fd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Wc(u,ba-u|0,e)|0}while(0);Fd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Fd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Wc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Wc(s?(t?24844:24559):t?24551:24555,3,e)|0;Fd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=22623;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[22607+(o&15)>>0]|r;o=Ph(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=22623;L=77}else{o=t;t=2;r=22623+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=22623;L=77}}else if((L|0)==76){f=ke(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Mc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=22623;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Oi(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Fd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Oi(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Wc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Fd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Fd(e,32,o,s,p);if(!(c[e>>2]&32))Wc(v,w,e)|0;Fd(e,48,o,s,p^65536);Fd(e,48,r,t,0);if(!(c[e>>2]&32))Wc(f,t,e)|0;Fd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;sc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=sk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Fj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{sg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=dd(e)|0}while((Fj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}sg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((dd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ze(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ze(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=dd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Bc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=qe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Vi(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=qe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Vb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;sg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=dd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Fj(d[m>>0]|0)|0))break;else n=m}sg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=dd(e)|0}while((Fj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)rk(e);i=P;return k|0}function Ob(a,d,e,f,j){a=a|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0.0;aa=i;i=i+368|0;$=aa+280|0;W=aa+256|0;V=aa+232|0;T=aa+216|0;S=aa+192|0;R=aa+176|0;Q=aa+160|0;P=aa+136|0;O=aa+128|0;N=aa+120|0;M=aa+112|0;K=aa+88|0;J=aa+80|0;I=aa+72|0;H=aa+48|0;G=aa+40|0;U=aa+24|0;L=aa+16|0;F=aa+8|0;E=aa;A=aa+352|0;B=aa+344|0;D=aa+336|0;X=aa+316|0;z=aa+296|0;C=aa+292|0;Z=aa+288|0;v=_f(a,1)|0;c[Z>>2]=0;ue(v);w=(e|0)==0;x=v+28|0;y=v+4|0;t=(d|0)==0;u=A+4|0;a:while(1){if(!(Cg(v,C)|0)){Y=106;break}c[E>>2]=c[C>>2];Rh(2,19326,E);a=c[C>>2]|0;if(!(Ub(a,19341)|0)){if((Qd(qi(a)|0,z,5)|0)!=4){Y=77;break}q=c[z>>2]|0;r=Me(v,z,1)|0;s=Me(v,z,2)|0;ba=+Le(v,z,3);c[S>>2]=q;c[S+4>>2]=r;c[S+8>>2]=s;h[S+16>>3]=ba;Rh(2,20035,S);Uj(v);c[A>>2]=ye(0,1)|0;c[B>>2]=0;while(1){if(!(Cg(v,D)|0))break;if(ri(c[D>>2]|0)|0){Y=81;break}Qf(v,4,Qd(c[D>>2]|0,X,5)|0);d=c[X>>2]|0;a=mi(c[A>>2]|0,d)|0;if(!a){a=If(c[(c[A>>2]|0)+20>>2]|0,16)|0;ki(c[A>>2]|0,d,a,a+4|0)|0;if(w)d=1073741823;else d=yj(e,d)|0;c[a+8>>2]=d;c[a>>2]=c[B>>2];c[B>>2]=a}k=If(j,16)|0;d=k+4|0;c[d>>2]=Me(v,X,1)|0;l=k+8|0;c[l>>2]=Me(v,X,2)|0;g[k+12>>2]=+Le(v,X,3);d=c[d>>2]|0;l=c[l>>2]|0;if(d>>>0>l>>>0){Y=87;break a}d=c[a+8>>2]|0;if(l>>>0>d>>>0){r=c[y>>2]|0;s=c[a+4>>2]|0;c[V>>2]=c[x>>2];c[V+4>>2]=r;c[V+8>>2]=s;c[V+12>>2]=d;c[V+16>>2]=l;ci(20114,V);if(t){Y=90;break a}}else{s=a+12|0;c[k>>2]=c[s>>2];c[s>>2]=k}}if((Y|0)==81){Y=0;Uj(v)}wd(B,8);a=B;while(1){a=c[a>>2]|0;if(!a)break;d=a+12|0;wd(d,9);o=a+4|0;m=c[d>>2]|0;while(1){n=c[m>>2]|0;if(!n)break;k=c[m+8>>2]|0;l=c[n+4>>2]|0;if(k>>>0>l>>>0){Y=98;break a}else m=n}m=c[d>>2]|0;while(1){if(!m)break;else{d=m;l=m;k=0}while(1){if((l|0)==0|(k|0)>=(f|0))break;d=l;l=c[l>>2]|0;k=k+1|0}c[d>>2]=0;s=If(j,48)|0;c[s+4>>2]=qi(c[o>>2]|0)|0;c[s+8>>2]=c[m+4>>2];c[s+12>>2]=c[d+8>>2];c[s+16>>2]=1;c[s+20>>2]=m;b[s+32>>1]=k;c[s>>2]=c[Z>>2];c[Z>>2]=s;m=l}}$d(A);continue}c[z>>2]=a;a=ag(z)|0;if(yf(a,19348)|0)if(!(yf(a,19361)|0))o=3;else{Y=6;break}else o=2;m=0;d=0;k=0;n=0;while(1){a=ag(z)|0;if(!a){s=m;r=n;break}if((Pd(a,61,A,2)|0)!=2){Y=10;break a}a=c[A>>2]|0;l=c[u>>2]|0;do if(!(yf(a,19423)|0)){m=qi(l)|0;a=n}else{if(!(yf(a,19429)|0)){d=hf(v,a,l)|0;a=n;break}if(!(yf(a,19490)|0)){a=hf(v,a,l)|0;break}if(yf(a,19495)|0){Y=19;break a}k=hf(v,a,l)|0;a=n}while(0);n=a}if(!s){Y=22;break}if(w)n=1073741823;else n=yj(e,s)|0;if(k>>>0>n>>>0?(q=c[y>>2]|0,c[H>>2]=c[x>>2],c[H+4>>2]=q,c[H+8>>2]=s,c[H+12>>2]=n,c[H+16>>2]=k,ci(19575,H),t):0){Y=27;break}a=(k|0)==0;if((o|0)==3){if(a){Y=30;break}if(!r){Y=32;break}q=(d|0)==0?r:d;m=k+-1|0;c[A>>2]=uh(0)|0;c[X>>2]=0;a=0;l=m;while(1){if(!(Cg(v,D)|0))break;if(ni(c[D>>2]|0,1)|0){Y=36;break}Qd(c[D>>2]|0,B,1)|0;d=If(c[A>>2]|0,8)|0;g[d+4>>2]=+Le(v,B,0);k=l+q|0;if(k>>>0>n>>>0){p=c[y>>2]|0;c[K>>2]=c[x>>2];c[K+4>>2]=p;c[K+8>>2]=s;c[K+12>>2]=n;c[K+16>>2]=k;ci(19715,K);if(t){Y=39;break a}}else{c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}l=l+r|0}if((Y|0)==36){Y=0;Uj(v)}dh(X);p=q-r|0;k=m;d=c[X>>2]|0;while(1){if(!d)break;o=(a|0)>(f|0)?f:a;n=If(j,48)|0;c[n+4>>2]=s;c[n+8>>2]=k;k=(_(o,r)|0)+k|0;c[n+12>>2]=p+k;c[n+16>>2]=3;c[n+24>>2]=r;c[n+28>>2]=q;b[n+32>>1]=o;l=If(j,o<<2)|0;c[n+20>>2]=l;m=0;while(1){if((m|0)>=(o|0))break;c[l>>2]=c[d+4>>2];m=m+1|0;d=c[d>>2]|0;l=l+4|0}c[n>>2]=c[Z>>2];c[Z>>2]=n;a=a-o|0}Ai(A)}else{if(!a){Y=50;break}if(r|0){Y=52;break}o=(d|0)==0?1:d;c[A>>2]=uh(0)|0;c[X>>2]=0;a=0;b:while(1){while(1){if(!(Cg(v,D)|0))break b;if(ni(c[D>>2]|0,2)|0){Y=57;break b}Qd(c[D>>2]|0,B,2)|0;d=If(c[A>>2]|0,12)|0;k=Me(v,B,0)|0;if((k|0)<1){Y=59;break a}r=d+4|0;c[r>>2]=k+-1;g[d+8>>2]=+Le(v,B,1);k=(c[r>>2]|0)+o|0;if(k>>>0<=n>>>0)break;r=c[y>>2]|0;c[P>>2]=c[x>>2];c[P+4>>2]=r;c[P+8>>2]=s;c[P+12>>2]=n;c[P+16>>2]=k;ci(19715,P);if(t){Y=62;break a}}c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}if((Y|0)==57){Y=0;Uj(v)}wd(X,7);d=c[X>>2]|0;if(!d)d=0;else{while(1){k=d;d=c[d>>2]|0;if(!d)break;k=c[k+4>>2]|0;l=c[d+4>>2]|0;if((k+o|0)>>>0>l>>>0){Y=67;break a}}d=c[X>>2]|0}while(1){if(!d)break;n=(a|0)>(f|0)?f:a;m=If(j,n<<3)|0;l=0;k=m;while(1){if((l|0)>=(n|0))break;c[k>>2]=c[d+4>>2];c[k+4>>2]=c[d+8>>2];l=l+1|0;d=c[d>>2]|0;k=k+8|0}r=If(j,48)|0;c[r+4>>2]=s;c[r+8>>2]=c[m>>2];c[r+12>>2]=(c[m+(n+-1<<3)>>2]|0)+o;c[r+16>>2]=2;c[r+20>>2]=m;c[r+28>>2]=o;b[r+32>>1]=n;c[r>>2]=c[Z>>2];c[Z>>2]=r;a=a-n|0}Ai(A)}}switch(Y|0){case 6:{c[F>>2]=a;Di(19371,F);break}case 10:{aa=c[y>>2]|0;c[L>>2]=c[x>>2];c[L+4>>2]=aa;Di(19388,L);break}case 19:{$=c[x>>2]|0;aa=c[y>>2]|0;c[U>>2]=a;c[U+4>>2]=l;c[U+8>>2]=$;c[U+12>>2]=aa;Di(19501,U);break}case 22:{aa=c[y>>2]|0;c[G>>2]=c[x>>2];c[G+4>>2]=aa;Di(19537,G);break}case 27:{Ii();break}case 30:{aa=c[y>>2]|0;c[I>>2]=c[x>>2];c[I+4>>2]=aa;Di(19640,I);break}case 32:{aa=c[y>>2]|0;c[J>>2]=c[x>>2];c[J+4>>2]=aa;Di(19678,J);break}case 39:{Ii();break}case 50:{aa=c[y>>2]|0;c[M>>2]=c[x>>2];c[M+4>>2]=aa;Di(19778,M);break}case 52:{aa=c[y>>2]|0;c[N>>2]=c[x>>2];c[N+4>>2]=aa;Di(19814,N);break}case 59:{aa=c[y>>2]|0;c[O>>2]=c[x>>2];c[O+4>>2]=aa;Di(19849,O);break}case 62:{Ii();break}case 67:{c[Q>>2]=s;c[Q+4>>2]=k;c[Q+8>>2]=l;Di(19915,Q);break}case 77:{$=c[y>>2]|0;aa=c[C>>2]|0;c[R>>2]=c[x>>2];c[R+4>>2]=$;c[R+8>>2]=aa;Di(20003,R);break}case 87:{$=c[x>>2]|0;aa=c[y>>2]|0;c[T>>2]=d;c[T+4>>2]=l;c[T+8>>2]=$;c[T+12>>2]=aa;Di(20057,T);break}case 90:{Ii();break}case 98:{$=c[o>>2]|0;Z=c[m+4>>2]|0;aa=c[n+8>>2]|0;c[W>>2]=$;c[W+4>>2]=Z;c[W+8>>2]=k;c[W+12>>2]=$;c[W+16>>2]=l;c[W+20>>2]=aa;Di(20190,W);break}case 106:{wd(Z,10);a=c[Z>>2]|0;while(1){if(!a){Y=112;break}d=a;a=c[a>>2]|0;if(!a){a=0;continue}k=c[d+4>>2]|0;if(yf(k,c[a+4>>2]|0)|0)continue;l=c[a+8>>2]|0;if((c[d+12>>2]|0)>>>0>l>>>0){Y=111;break}}if((Y|0)==111){c[$>>2]=k;c[$+4>>2]=l+1;Di(20266,$)}else if((Y|0)==112){i=aa;return c[Z>>2]|0}break}}return 0}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=ji(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(13388==0?(yf(c[a+8>>2]|0,14369)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=ji(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=ji(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=ji(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=ji(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Vh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=ji(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Vh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Vh(k|0,j|0,f|0,d|0)|0;re(b|0,B+f|0,o|0)|0;e=ji(o|0,E|0,e|0,n|0)|0;f=C;d=Vh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=ji(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;eh(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=le(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=ji(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Vh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(13388){y=ji(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=ji(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Ui(k|0,j|0,w|0,0)|0;t=ji(A|0,B|0,-1,-1)|0;t=ji(t|0,C|0,w|0,0)|0;w=Ui(t|0,C|0,w|0,0)|0;t=m+52|0;Zf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((oj(u,d,s)|0)<(s|0))f=0;else{Pj(u);j=B;k=A;continue}while(1){o=oj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=xj(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=fh(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=fh(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=ji(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Vh(f|0,j|0,p|0,q|0)|0;k=C;f=pe(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}eh(Z,c[K>>2]|0,p,0)|0;wf(Z,c[K>>2]|0,f,j);Qi(W)}ce(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;eh(P,c[t>>2]|0,da+64|0,0)|0;wf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Pj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);eh(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}zf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Di(14381,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Rh(4,14437,$);Rh(4,14483,aa);S=0;T=0;break}else if((n|0)==36){zf(Z,j,f,h);S=ba;S=ji(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=ji(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6256]|0;if(d>>>0<h>>>0)Ya();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Ya();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Ya();if((k|0)==(c[6257]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6254]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=25048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Ya();if((c[b+12>>2]|0)!=(k|0))Ya()}if((d|0)==(b|0)){c[6252]=c[6252]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Ya();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Ya()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Ya();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Ya();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ya();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Ya()}while(0);if(f){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6253]=c[6253]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6256]|0)>>>0)Ya();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6256]|0;if(i>>>0<d>>>0)Ya();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ya();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6256]|0)>>>0)Ya();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Ya();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Ya();if(!(b&2)){if((m|0)==(c[6258]|0)){p=(c[6255]|0)+g|0;c[6255]=p;c[6258]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6257]|0))return;c[6257]=0;c[6254]=0;return}if((m|0)==(c[6257]|0)){p=(c[6254]|0)+g|0;c[6254]=p;c[6257]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();d=b+12|0;if((c[d>>2]|0)!=(m|0))Ya();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Ya()}while(0);if(f|0){a=c[m+28>>2]|0;b=25312+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6253]=c[6253]&~(1<<a);break}}else{if(f>>>0<(c[6256]|0)>>>0)Ya();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6256]|0;if(n>>>0<d>>>0)Ya();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ya();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Ya();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=25048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6256]|0)>>>0)Ya();if((c[b+12>>2]|0)!=(m|0))Ya()}if((d|0)==(b|0)){c[6252]=c[6252]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6256]|0)>>>0)Ya();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Ya()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6257]|0)){c[6254]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{o=a;p=b}}else{c[6252]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=25312+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6253]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6256]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Ya()}}else{c[6253]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6260]|0)+-1|0;c[6260]=q;if(!q)a=25464;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6260]=-1;return}function Rb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+272|0;I=K+224|0;E=K+200|0;r=K+192|0;t=K+152|0;k=K+144|0;e=K+136|0;J=K+56|0;w=K+48|0;x=K+264|0;D=K+260|0;B=K+256|0;y=K+252|0;A=K+40|0;z=K+248|0;F=K+268|0;H=K+244|0;h=K+240|0;n=K+236|0;g=K+232|0;o=K+228|0;q=K;m=(d|0)==0?13388:d;c[J>>2]=b;c[J+4>>2]=m;Rh(4,14597,J);if(0){c[e>>2]=b;Eh(0,14618,e)|0}c[h>>2]=0;c[n>>2]=0;rd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Pj(d);v=qi(14369)|0;c[h>>2]=v;Pj(c[n>>2]|0);c[n>>2]=qi(b)|0;j=1}else{v=d;j=0}h=v;g=le(16)|0;do if(!(yf(v,14627)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=14627}else{if(!(yf(v,14859)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=14859;break}if(yf(v,17341)|0?yf(v,17358)|0:0){if(!(yf(v,17368)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=17368;break}if(!(yf(v,14369)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=14369;break}else{c[k>>2]=v;Di(15052,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=17341}while(0);c[o>>2]=g;d=q;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(13388?(l=(Je(b,m)|0)>>>0<0,l):0){g=l&1;u=22;break}if(!(Ib[c[g+8>>2]&15](b,q)|0)){Qi(o);Pj(v);Pj(c[n>>2]|0);d=0}else{g=0;u=22}}else{g=0;u=22}while(0);do if((u|0)==22){d=le(312)|0;c[d+4>>2]=qi(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;ad(d,m,v,e);s=(g|0)==0;if((s?(c[d+16>>2]=c[q>>2],n=q+8|0,o=c[n+4>>2]|0,b=d+24|0,c[b>>2]=c[n>>2],c[b+4>>2]=o,b=d+112|0,q=q+16|0,c[b>>2]=c[q>>2],c[b+4>>2]=c[q+4>>2],c[b+8>>2]=c[q+8>>2],c[b+12>>2]=c[q+12>>2],c[b+16>>2]=c[q+16>>2],c[b+20>>2]=c[q+20>>2],!(0<1|13388==0)):0)?(p=d+44|0,(gi(c[p>>2]|0)|0)!=0):0){me(c[p>>2]|0)|0;g=13388}else g=13388;if(g){Id(c[d+40>>2]|0);p=d+44|0;n=Dc(c[p>>2]|0)|0;c[H>>2]=n;do if(n){if(s){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){q=o;l=d+24|0;r=l;if((c[q>>2]|0)==(c[r>>2]|0)?(c[q+4>>2]|0)==(c[r+4>>2]|0):0){if(gi(c[d+48>>2]|0)|0){f=n;G=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;r=d+48|0;q=c[r>>2]|0;l=t;c[l>>2]=h;c[l+4>>2]=g;g=t+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=t+16|0;c[g>>2]=k;c[g+4>>2]=m;g=t+24|0;c[g>>2]=n;c[g+4>>2]=o;c[t+32>>2]=q;c[t+36>>2]=b;Rh(4,15141,t);Ki(H);Nf(c[p>>2]|0)|0;Nf(c[r>>2]|0)|0;g=d+52|0;if(gi(c[g>>2]|0)|0)Nf(c[g>>2]|0)|0;g=c[H>>2]|0;if(!g){g=b+1|0;u=44}else{f=g;G=d+24|0}}else{c[r>>2]=c[p>>2];Rh(4,15232,r);g=0;u=44}while(0);if((u|0)==44){u=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=J;c[j>>2]=u;c[j+4>>2]=((u|0)<0)<<31>>31;j=w;c[j>>2]=h;c[j+4>>2]=k;c[x>>2]=g;j=Nd(c[p>>2]|0,577)|0;c[D>>2]=j;c[B>>2]=1099424502;c[y>>2]=8192;g=A;c[g>>2]=0;c[g+4>>2]=0;c[z>>2]=0;k=ji(h|0,k|0,8191,0)|0;k=Ph(k|0,C|0,13)|0;nf(j,B,4);nf(j,y,4);nf(j,J,8);nf(j,w,8);nf(j,x,4);nf(j,z,4);nf(j,A,8);nf(j,A,8);nf(j,A,8);nf(j,A,8);g=d+136|0;h=eh(g,j,0,1)|0;if((h|0)!=64){B=c[p>>2]|0;c[E>>2]=j;c[E+4>>2]=B;B=E+8|0;c[B>>2]=h;c[B+4>>2]=((h|0)<0)<<31>>31;c[E+16>>2]=64;Di(15282,E)}a[F>>0]=0;eh(g,j,((k+7|0)/8|0)+-1|0,1)|0;wf(g,j,F,1);tg(D);c[D>>2]=Nd(c[d+48>>2]|0,577)|0;tg(D);g=Dc(c[p>>2]|0)|0;c[H>>2]=g;if(!g){c[I>>2]=c[p>>2];Di(15349,I)}else{f=g;G=l}}c[d+104>>2]=c[f+24>>2];I=G;if(!((c[I>>2]|0)==0&(c[I+4>>2]|0)==0)){f=Rf(c[f+52>>2]|0,0,1)|0;Od(c[(c[H>>2]|0)+52>>2]|0,J,1);G=ji(c[G>>2]|0,c[G+4>>2]|0,8191,0)|0;G=Ph(G|0,C|0,13)|0;G=(oj(J,0,(G|0)>8?8:G)|0)<<13;I=d+96|0;c[I>>2]=G;c[I+4>>2]=((G|0)<0)<<31>>31;eh(d+136|0,c[(c[H>>2]|0)+52>>2]|0,f,0)|0;f=c[H>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Nd(c[d+48>>2]|0,2)|0;if(Mg(17341,v)|0){c[J>>2]=0;j=d+52|0;if(gi(c[j>>2]|0)|0)Dg(c[j>>2]|0,J,0);do if(s){f=d+132|0;g=c[f>>2]|0;h=c[J>>2]|0;if(!g){if(!h)break;Nf(c[j>>2]|0)|0;break}else{if(!(gh(g,h)|0))break;I=vg(c[j>>2]|0,15379)|0;H=c[f>>2]|0;ih(I,H,Yd(H)|0);mh(I,c[j>>2]|0)|0;Pj(I);break}}else c[d+132>>2]=qi(c[J>>2]|0)|0;while(0);Pj(c[J>>2]|0)}}}else{if(!(gi(b)|0)){d=0;break}I=Nd(b,0)|0;c[d+56>>2]=I;Fe(I,J)|0;I=d+88|0;c[I>>2]=0;c[I+4>>2]=0;I=c[J+36>>2]|0;J=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=J;e=d+96|0;c[e>>2]=I;c[e+4>>2]=J;e=c[n>>2]|0}Pj(e)}while(0);i=K;return d|0}function Sb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10740;C=256;D=10866}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11190;C=-1;D=11316}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Tb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6256]|0;if(l>>>0<i>>>0)Ya();if((l|0)==(c[6257]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6254]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=25048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Ya();if((c[a+12>>2]|0)!=(l|0))Ya()}if((b|0)==(a|0)){c[6252]=c[6252]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Ya();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ya()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Ya();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Ya();d=e+12|0;if((c[d>>2]|0)!=(l|0))Ya();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Ya()}while(0);if(f){d=c[l+28>>2]|0;a=25312+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6253]=c[6253]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6256]|0)>>>0)Ya();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6256]|0;if(j>>>0<b>>>0)Ya();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ya();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6256]|0)>>>0)Ya();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6256]|0;if(o>>>0<h>>>0)Ya();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6258]|0)){q=(c[6255]|0)+g|0;c[6255]=q;c[6258]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6257]|0))return;c[6257]=0;c[6254]=0;return}if((o|0)==(c[6257]|0)){q=(c[6254]|0)+g|0;c[6254]=q;c[6257]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Ya();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Ya();d=e+12|0;if((c[d>>2]|0)!=(o|0))Ya();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Ya()}while(0);if(f|0){d=c[o+28>>2]|0;a=25312+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6253]=c[6253]&~(1<<d);break}}else{if(f>>>0<(c[6256]|0)>>>0)Ya();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6256]|0;if(n>>>0<b>>>0)Ya();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ya();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6256]|0)>>>0)Ya();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=25048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Ya();if((c[a+12>>2]|0)!=(o|0))Ya()}if((b|0)==(a|0)){c[6252]=c[6252]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Ya();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Ya()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6257]|0)){c[6254]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=25048+(d<<1<<2)|0;a=c[6252]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6256]|0)>>>0)Ya();else{p=d;q=a}}else{c[6252]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=25312+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6253]|0;a=1<<b;if(!(d&a)){c[6253]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6256]|0)>>>0)Ya();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6256]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Ya();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Ub(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Hi(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(af(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Mc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Vb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(yi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0}while((Fj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=dd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=dd(b)|0;if((d[24570+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){sg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[24570+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;sg(b,0);c[(yi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=dd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=fh(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=ji(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[24826+((e*23|0)>>>5&7)>>0]|0;j=a[24570+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Ph(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Lh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[24570+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Ui(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=fh(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=ji(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[24570+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0}while((d[24570+i>>0]|0)>>>0<e>>>0);c[(yi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(yi()|0)>>2]=34;g=ji(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(yi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Vh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Wb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=22063;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=22093;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=22115;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Xb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ye(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(yf(r,16143)|0)){j=g;h=k;N=4;break}s=Hi(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Fj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Yd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(zj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)aj(Q,o,(m|0)==0?16565:m)|0;else{l=th(o,f)|0;if(!l){l=th(o,60)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Xi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Wi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Mj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Mj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?16565:m;l=th(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=mi(Q,o)|0;l=Wh(m)|0;if(!n){aj(Q,o,l)|0;break}else{Mh(n,l);break}}aj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Di(16154,z);break}case 34:{c[A>>2]=o;Di(16180,A);break}case 36:{c[K>>2]=o;Di(16219,K);break}case 38:{c[L>>2]=o;Di(16255,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Di(16288,B);break}case 43:{c[C>>2]=o;Di(16255,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Di(16330,D);break}case 48:{c[E>>2]=o;Di(16374,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Di(16409,F);break}case 53:{c[G>>2]=o;Di(16449,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Di(16485,H);break}case 57:{c[I>>2]=c[l>>2];Di(16526,I);break}case 65:{Di(16568,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Ub(d,17346)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){$e(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Og(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(yi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Mg(18168,f)|0))m=c[F>>2]|0;else{ag(F)|0;f=ag(F)|0;if(!f){O=20;break a}if((((Mg(18832,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(yf(f,18835)|0)if(yf(f,18839)|0){if(I?(g=yf(f,18843)|0,!((H|g|0)==0&G)):0)if(!(yf(f,18847)|0)){f=o;break}else{O=30;break a}if(!(yf(f,18934)|0)){O=34;break a}if(!(yf(f,18843)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Hi(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Qh(f+1|0)|0}if(!(Df(m,18986)|0)){if(o|0)c[e>>2]=qi(f)|0;if(k)h=qi(f)|0}}while(!(I&(Df(m,18995)|0)==0));if((Mg(19009,f)|0)!=0?(q=(Hi(f,32)|0)+1|0,r=Hi(q,45)|0,(r|0)!=0):0){l=r+1|0;m=pd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=pd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=se(f)|0;c[z+4>>2]=d;ci(18643,z);f=0;break}case 10:{c[v>>2]=d;ci(18680,v);f=0;break}case 11:{c[x>>2]=d;ci(18736,x);f=0;break}case 15:{c[y>>2]=2e3;ci(18768,y);f=0;break}case 20:{c[u>>2]=d;ci(18806,u);f=0;break}case 30:{if(!g)ci(18851,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ci(18894,E);f=0;break}case 34:{c[w>>2]=d;ci(18938,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ci(18963,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;rh(N,256,17456,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ci(19016,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?25632:19110;c[K+8>>2]=f?18835:18839;c[K+12>>2]=h|0?h:19126;ci(19136,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;rh(N,256,17456,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ci(19177,M);f=0}break}}i=P;return f|0}function Zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=ej(h)|0;c[b+16>>2]=e;f=zd(c[f>>2]|0)|0;if(!f){s=0;break}s=Yd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Pj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}we(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)gg(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Ig(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;we(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;xg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}_d(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Di(12076,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}_d(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){_d(b,f);s=1}else s=1}while(0);i=y;return s|0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((Mg(18215,b)|0)==0?(Mg(18223,b)|0)==0:0)?(Mg(18232,b)|0)==0:0){c[j>>2]=b;Di(13458,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Rh(4,13402,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=Vh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Rh(4,13693,m);tg(x);j=h+128|0;if((c[j>>2]|0)>0)tg(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Rh(4,13540,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6236]|0)){c[6236]=le(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=uf(j,k,c[6236]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=Vh(l|0,m|0,n|0,I|0)|0;J=C;I=ji(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;pg(13589,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=ji(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Di(13642,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=ji(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=te(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;rh(y,2048,13744,z)|0;j=hc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(Mg(17341,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Kc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Pj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Di(13763,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=uf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)pg(13792,G);else F=j;K=h+120|0;J=K;J=ji(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6256]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Ya();f=c[k+4>>2]|0;if(!(f&1))Ya();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6372]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Tb(m,d);return a|0}if((k|0)==(c[6258]|0)){d=(c[6255]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6258]=l;c[6255]=m;return a|0}if((k|0)==(c[6257]|0)){e=(c[6254]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6254]=d;c[6257]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Ya();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Ya();d=g+12|0;if((c[d>>2]|0)!=(k|0))Ya();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Ya()}while(0);if(h|0){d=c[k+28>>2]|0;e=25312+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6253]=c[6253]&~(1<<d);break}}else{if(h>>>0<(c[6256]|0)>>>0)Ya();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6256]|0;if(j>>>0<f>>>0)Ya();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Ya();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6256]|0)>>>0)Ya();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=25048+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ya();if((c[e+12>>2]|0)!=(k|0))Ya()}if((f|0)==(e|0)){c[6252]=c[6252]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ya();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Ya()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Tb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Eh(0,15385,b)|0}b=d+112|0;if(c[b>>2]|0)tg(b);b=d+128|0;if(c[b>>2]|0)tg(b);Pj(c[d+4>>2]|0);Pj(c[d+8>>2]|0);Qi(d+12|0);Pj(c[d+40>>2]|0);Pj(c[d+44>>2]|0);Pj(c[d+48>>2]|0);Pj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)tg(b);Ki(d+80|0)}Qi(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(20802,20822,448,20838);h=ya()|0;c[s>>2]=h;if((h|0)<0)pg(20851,l);if(h|0)if(!(kh(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;pg(21389,k)}r=Ji()|0;c[s>>2]=r;if(kh(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;pg(20862,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=_g(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}jg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))ng(t);if(c[k>>2]|0)ng(m);g=0;f=0;j=h;h=k}if((b|0)==14)pg(20851,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){od(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];pg(21096,o)}od(k,0,h,e);h=Ng(1,f,g)|0;if((h|0)<0)pg(21007,p);if((h|0)==(g|0)){sh(1)|0;Za(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Di(21042,q)}}else if((b|0)==28){sh(0)|0;sh(1)|0;Oh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;jg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)pg(21169,u);else if((b|0)==35){c[v>>2]=h;Di(21184,v)}else if((b|0)==39){v=cf(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Di(21214,w)}else if((b|0)==41)Da(21269,20822,242,21293);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2099]|0;v=cf(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Eh(h,21312,x)|0;h=c[k>>2]|0}Za(h>>>8&255|0)}else if((b|0)==47)Da(21359,20822,396,21379);else if((b|0)==49)Za(0)}}function cc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+64|0;J=K+8|0;I=K+56|0;H=K+52|0;E=K+48|0;D=K+44|0;F=K+40|0;G=K+16|0;if((c[a+12>>2]|0)!=-2003829722)Di(11690,K);ug(a);c[I>>2]=0;g=Qe(a,c[a+96>>2]|0,b,d,e,0)|0;c[H>>2]=g;A=c[a+8>>2]|0;B=c[a+16>>2]|0;y=a+80|0;b=c[y>>2]|0;if(!b)z=0;else z=pe(b)|0;t=(z|0)==0;u=G+20|0;v=G+4|0;w=G+16|0;x=G+12|0;b=g;a:while(1){if(!b){b=32;break}Ee(b,E,D);s=b+8|0;p=c[s>>2]|0;s=c[s+4>>2]|0;q=c[E>>2]|0;o=q+8|0;q=q+16|0;r=c[q>>2]|0;q=c[q+4>>2]|0;o=Vh(c[o>>2]|0,c[o+4>>2]|0,p|0,s|0)|0;q=ji(o|0,C|0,r|0,q|0)|0;r=C;Vf(A,p,s);s=pe(q)|0;Re(A,s,q,r);r=s;while(1){if((b|0)==(c[D>>2]|0))break;q=b+16|0;a=c[q>>2]|0;if(t){c[F>>2]=r;p=r+a|0}else{c[F>>2]=z;p=kf(r,a,z,c[y>>2]|0)|0;p=(c[F>>2]|0)+p|0}Rd(F,G,B);n=c[u>>2]|0;o=n>>>16;b:do switch(n&255|0){case 1:{g=0;while(1){if((g|0)==(o|0))break b;k=Fg(F,B)|0;a=Fg(F,B)|0;j=+Ie(F,B);k=k>>>0<d>>>0?d:k;a=a>>>0>e>>>0?e:a;if(k>>>0<a>>>0){n=If(f,24)|0;c[n+4>>2]=k;c[n+8>>2]=a;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}g=g+1|0}}case 2:{a=c[w>>2]|0;k=0;while(1){if((k|0)==(o|0))break b;l=Fg(F,B)|0;g=a+l|0;j=+Ie(F,B);l=l>>>0<d>>>0?d:l;g=g>>>0>e>>>0?e:g;if(l>>>0<g>>>0){n=If(f,24)|0;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}k=k+1|0}}case 3:{m=c[v>>2]|0;a=c[x>>2]|0;k=(c[w>>2]|0)+m|0;l=0;while(1){if((l|0)==(o|0))break b;j=+Ie(F,B);n=m>>>0<d>>>0?d:m;g=k>>>0>e>>>0?e:k;if(n>>>0<g>>>0){L=If(f,24)|0;c[L+4>>2]=n;c[L+8>>2]=g;h[L+16>>3]=j;c[L>>2]=c[I>>2];c[I>>2]=L}k=a+k|0;l=l+1|0;m=a+m|0}}default:{b=27;break a}}while(0);if((c[F>>2]|0)!=(p|0)){b=29;break a}b=c[b>>2]|0;r=r+(c[q>>2]|0)|0}Pj(s)}if((b|0)==27){c[J>>2]=11746;c[J+4>>2]=269;Di(15020,J)}else if((b|0)==29)Da(11762,11746,272,11782);else if((b|0)==32){Pj(z);Nh(H);dh(I);i=K;return c[I>>2]|0}return 0}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=kg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ji(m|0,l|0,-1,-1)|0;d=C;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;Vh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Vh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){ed(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)ed(a,d,e,f,o);else tc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}tc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;tc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;tc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(_e(a,b,d)|0){b=ai()|0;if((b|0)>=0){if((ae(b,1)|0)<0){sh(b)|0;b=-1;break}b:do if((tf(b,d,16)|0)<0){n=yi()|0;d=c[n>>2]|0;if((d|0)!=115){w=se(d)|0;c[e>>2]=d;c[e+4>>2]=w;ci(17277,e);sh(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Xf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=se(d)|0;c[t>>2]=d;c[t+4>>2]=C;ci(17053,t);sh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ci(17185,u);sh(b)|0;e=23;break}c[r>>2]=4;do if((df(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=se(d)|0;c[w>>2]=d;c[w+4>>2]=C;ci(17141,w);sh(b)|0;break}}else{B=c[n>>2]|0;C=se(B)|0;c[v>>2]=B;c[v+4>>2]=C;ci(17111,v);sh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((ae(b,0)|0)<0){sh(b)|0;b=-1;break}if((Bf(b,120)|0)<0){sh(b)|0;b=-1}}}else b=-1;else{ci(16933,x+24|0);b=-1}while(0);i=x;return b|0}function gc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,gg(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ze(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(gc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(yi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Ub(b,17337)|0))e=qf(b,0,r)|0;else{if((Mg(18215,b)|0)==0?(Mg(18223,b)|0)==0:0){if(!(Mg(18232,b)|0)){c[g>>2]=b;Di(18576,g)}lc(b,o);if(yf(o,17368)|0){c[f>>2]=b;Di(18239,f)}b=o+4112|0;g=qd(b,Vd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(wi(g,18286,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,rh(m,256,18293,j)|0,(wi(g,m,0,0)|0)==0):0){sh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Yd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?18305:18310;c[k+4>>2]=j;rh(m,256,18315,k)|0;lj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Hi(j,40)|0;a[(Hi(j,41)|0)>>0]=0;if((Pe(s+1|0,18323,k,7)|0)!=6)Di(18325,h);f=(Vd(c[k+16>>2]|0)|0)<<8;f=fc(b,(Vd(c[k+20>>2]|0)|0)+f|0)|0;Fi(l);if((f|0)<0){sh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((sd(f,1e6)|0)>0){b=26;break}if((sd(g,0)|0)>0?(zc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ci(18361,n);sh(g)|0;sh(f)|0;e=-1;break}else if((b|0)==24){sh(g)|0;sh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}vd(c[2128]|0)|0;vd(c[2069]|0)|0;vd(c[2099]|0)|0;b=le(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;re(b+20|0,o|0,10280)|0;f=b+4|0;if(Sh(f)|0){c[p>>2]=se(c[(yi()|0)>>2]|0)|0;Di(18426,p)}b=eb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=se(b)|0;c[q>>2]=b;c[q+4>>2]=s;Di(18530,q)}}}else{sh(g)|0;e=-1}while(0)}break}e=Yi(b,18196,0)|0}while(0);i=r;return e|0}function ic(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Ph(d|0,m|0,52)|0;e=e&2047;j=Ph(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Lh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Lh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Lh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Lh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Lh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Lh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Lh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Lh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Vh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Vh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=ji(d|0,f|0,0,-1048576)|0;d=C;e=Lh(e|0,0,52)|0;d=d|C;e=o|e}else{e=Ph(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;lc(b,h);if(yf(h,17368)|0){c[g>>2]=b;Di(17479,g)}b=h+6176|0;if(yf(b,17519)|0){p=qd(h+4112|0,Vd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;rh(k,256,17639,q)|0;c[t>>2]=0;do if(wi(p,k,t,0)|0){if((Pe(c[(c[t>>2]|0)+4>>2]|0,20752,l,3)|0)!=2)Di(17649,j);n=l+4|0;j=pd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Fi(t);c[s>>2]=b;rh(k,256,17685,s)|0;if(!(wi(p,k,t,0)|0)){sh(p)|0;f=0;break}b=Pe(c[(c[t>>2]|0)+4>>2]|0,20752,l,3)|0;if((b|0)!=2){c[m>>2]=b;Di(17695,m)}j=c[n>>2]|0;if((Yd(j)|0)>>>0<14){c[o>>2]=j;Di(17737,o)}b=s;g=17786;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ta(s|0,17806,q|0)|0)){c[r>>2]=s;Di(17824,r)}c[q+32>>2]=-1;b=Sa(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Di(17857,u)}else{c[e>>2]=b;Fi(t);sh(p)|0;f=1;break}}else{sh(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Yd(b)|0)>>>0>4095){c[e>>2]=b;Di(17318,e)}Ij(f,b)|0;zi(f)|0;b=Ub(f,17337)|0;if(!b){a[d>>0]=a[17341]|0;a[d+1>>0]=a[17342]|0;a[d+2>>0]=a[17343]|0;a[d+3>>0]=a[17344]|0;a[d+4>>0]=a[17345]|0}else{a[b>>0]=0;Ch(f)|0;Of(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Hi(f,47)|0;if(g){$e(g,b,e,1);if(!((Df(d,17341)|0)!=0?(Df(d,17358)|0)!=0:0)){e=Sd(g,20752,17364)|0;Of(d+6176|0,4096,e);Pj(e)}a[g>>0]=0;if(!(Df(d,17368)|0)){g=g+1|0;Xd(g,d+6176|0,Yd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Hi(f,64)|0;if(!g){if(!((Df(d,17341)|0)!=0?(Df(d,17358)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Df(d,17368)|0)){b=d+16|0;e=17372;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=17382;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Hi(f,58)|0;if(!b){e=d+16|0;Of(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Of(e,2048,f);f=d+2064|0;Of(f,2048,b+1|0);b=f}Dd(e,e,Yd(e)|0);Dd(b,b,Yd(b)|0);f=g+1|0}b=Hi(f,58)|0;do if(!b){if(!(Df(d,17341)|0)){h=d+6160|0;a[h>>0]=a[17400]|0;a[h+1>>0]=a[17401]|0;a[h+2>>0]=a[17402]|0}if(!(Df(d,17358)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Df(d,17368)|0)){h=d+6160|0;a[h>>0]=a[17403]|0;a[h+1>>0]=a[17404]|0;a[h+2>>0]=a[17405]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Of(d+6160|0,16,e);break}else{c[h>>2]=e;Di(17406,h)}}while(0);Of(d+4112|0,2048,f);i=j;return}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var f=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+16|0;u=v;t=v+4|0;c[t>>2]=0;a:do switch(c[a+4>>2]|0){case 0:{q=0;j=0;k=0;r=mi(c[a+12>>2]|0,b)|0;b:while(1){if(!r){a=17;break}if(yf(c[r+4>>2]|0,b)|0){a=17;break}f=c[r+16>>2]|0;c:do switch(f|0){case 1:{f=q;a=r+20|0;while(1){a=c[a>>2]|0;if(!a){a=k;break c}k=If(d,24)|0;c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];h[k+16>>3]=+g[a+12>>2];c[k>>2]=f;c[t>>2]=k;f=k;j=k}}case 2:{l=c[r+20>>2]|0;m=c[r+28>>2]|0;n=e[r+32>>1]|0;f=q;a=k;k=0;while(1){if((k|0)==(n|0))break c;a=If(d,24)|0;f=c[l+(k<<3)>>2]|0;c[a+4>>2]=f;c[a+8>>2]=f+m;h[a+16>>3]=+g[l+(k<<3)+4>>2];c[a>>2]=j;c[t>>2]=a;j=a;f=a;k=k+1|0}}case 3:{m=c[r+20>>2]|0;n=c[r+28>>2]|0;o=c[r+24>>2]|0;p=e[r+32>>1]|0;a=k;f=q;k=0;l=c[r+8>>2]|0;while(1){if((k|0)==(p|0))break c;j=If(d,24)|0;c[j+4>>2]=l;c[j+8>>2]=l+n;h[j+16>>3]=+g[m+(k<<2)>>2];c[j>>2]=a;c[t>>2]=j;a=j;f=j;k=k+1|0;l=l+o|0}}default:{a=15;break b}}while(0);q=f;k=a;r=c[r>>2]|0}if((a|0)==15){c[u>>2]=f;Di(15903,u)}else if((a|0)==17){dh(t);s=c[t>>2]|0;break a}break}case 1:{s=c[a+20>>2]|0;s=cc(s,b,0,hg(s,b)|0,d)|0;c[t>>2]=s;break}default:s=0}while(0);i=v;return s|0}function nc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[84+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[84+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function oc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Vf(t,f,g);Re(t,s,1,0);Re(t,w+32|0,1,0);u=c[b+12>>2]|0;v=Tg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;Rh(3,12369,r);a:do if(!(a[s>>0]|0)){n=_a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=Sg(t,u)|0;c[p+(f<<2)>>2]=Sg(t,u)|0;c[q+(f<<2)>>2]=Sg(t,u)|0;c[r+(f<<2)>>2]=Sg(t,u)|0;g=Uf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(rf(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;oc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=Sg(t,u)|0;s=Sg(t,u)|0;e=Sg(t,u)|0;b=Sg(t,u)|0;f=Uf(t,u)|0;g=C;m=Uf(t,u)|0;n=C;if(rf(h,j,k,r,s,e,b)|0){b=le(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function pc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Li(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Li(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Li(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Li(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Va(6,p|0)|0}d=Li(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Li(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Li(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function qc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=$h(512)|0;lc(b,s);h=jb(17976)|0;p=(h|0)!=0;if(p){lc(h,q);re(r|0,q|0,10280)|0;h=ef(r,b)|0}else{re(r|0,s|0,10280)|0;h=ef(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=qi(b)|0;j=sj(b,59)|0;if((j|0)!=0?(Mg(17346,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Fh(k,17987,l);Pj(b);c[m>>2]=f;Fh(k,17998,m);if((yf(s,17341)|0)==0?(yf(17400,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((yf(s,17358)|0)==0?(yf(17435,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Fh(k,18026,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Fh(k,18015,n)}b=c[t>>2]|0;re(r|0,s|0,10280)|0;Ae(r,18040,b);if(p){re(r|0,q|0,10280)|0;Ae(r,18054,b);k=c[t>>2]|0}else k=b;mj(k,18074);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Fh(k,18113,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Fh(k,18088,u);break}}while(0);if(g|0)mj(c[t>>2]|0,g);v=c[t>>2]|0;mj(v,18134);nf(h,c[v+4>>2]|0,c[v+12>>2]|0);Fi(t)}i=w;return h|0}function rc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=le(120)|0;c[l+4>>2]=qi(a)|0;m=Xg(a,wk()|0)|0;c[l+8>>2]=m;Re(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Vj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Di(20463,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=Tg(m,n)|0;g=l+26|0;b[g>>1]=Tg(m,n)|0;h=Uf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Uf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Uf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=Tg(m,n)|0;b[l+58>>1]=Tg(m,n)|0;j=Uf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Uf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Sg(m,n)|0;j=Uf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=le(32)|0;c[j+4>>2]=Sg(m,n)|0;c[j+8>>2]=Sg(m,n)|0;p=Uf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Uf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}dh(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Vf(m,g,h);b[l+104>>1]=Tg(m,n)|0;b[l+106>>1]=Tg(m,n)|0;p=Uf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Vf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=hd(a,m)|0;i=o;return l|0}function sc(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 tc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((Ib[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((Ib[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((Ib[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){Ld(b,p,e);ed(a,b,d,g,h)}i=r;return}function uc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=fh(f|0,b|0,10,0)|0;f=C;e=ji(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ji(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Vh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Rh(4,13834,p);f=b+36|0;e=0;while(1){d=ye(0,1)|0;c[p>>2]=d;d=Cj(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=bi(c[p>>2]|0,13920)|0;c[f>>2]=qi(d)|0;d=te(a,d)|0;$d(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;ci(13867,g);n=0}else if((h|0)==7){d=bi(c[p>>2]|0,13930)|0;do if(!d){d=Ge(a)|0;e=C;if((e|0)<0){$d(p);c[j>>2]=a;Di(13946,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=pd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=bi(c[p>>2]|0,14013)|0;if(!d){d=bi(c[p>>2]|0,14028)|0;if(!d){$d(p);c[m>>2]=a;Di(14034,m)}else o=d}else o=d;if(!(Ta(o|0,14109,k|0)|0)){$d(p);c[l>>2]=o;Di(14134,l)}d=Lf(k)|0;if((d|0)==-1){$d(p);c[q>>2]=o;Di(14176,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;$d(p);n=200;break}}while(0);i=r;return n|0}function wc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Vf(c[t>>2]|0,d,e);Re(c[t>>2]|0,o,1,0);Re(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=Tg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Re(c[t>>2]|0,r,q,h);e=Uf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=af(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Re(c[t>>2]|0,r,q,h);e=Uf(c[t>>2]|0,p)|0;d=C;j=af(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=ej(c[t>>2]|0)|0;m=C;wc(b,k,l,f,g);Vf(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}wc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Re(c[t>>2]|0,r,q,d);Re(c[t>>2]|0,j,c[h>>2]|0,0);if(!(af(f,r,q)|0))li(g,Mi(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[6239]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Li(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Li(yb(146,m|0)|0)|0;la(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 yc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Mc(24565,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Hi(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Hi(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(cb(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6240]|0))c[e+76>>2]=-1;mb(24984);f=c[6245]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6245]=e;db(24984)}}else{c[(yi()|0)>>2]=22;e=0}i=o;return e|0}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=$h(4096)|0;while(1){if((sd(b,1e6)|0)<=0){j=3;break}g=Og(b,m,4096)|0;if(g){sf(c[o>>2]|0,m,g);if(!(Jh(c[(c[o>>2]|0)+4>>2]|0,17565)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Yd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Yd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ci(17521,n);g=0}else if((j|0)==18){g=Vd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ci(17567,p);g=0;break}if(!e)Fi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Ac(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Vf(c[n>>2]|0,d,e);Re(c[n>>2]|0,p,1,0);Re(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Tg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=_a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Re(c[n>>2]|0,l,c[k>>2]|0,0);q=Uf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;Ac(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Re(c[n>>2]|0,l,c[k>>2]|0,0);Re(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function Bc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?25004:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8628+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(yi()|0)>>2]=84;f=-1}i=l;return f|0}function Cc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Og(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Vh(1,0,g|0,e|0)|0;b=ji(b|0,C|0,d|0,h|0)|0}r=(Ng(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)eg(18474,l);if((b|0)==-1)eg(18505,o);sh(c[m>>2]|0)|0;sh(c[a+12>>2]|0)|0;sh(c[n>>2]|0)|0;i=q;return 0}function Dc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=qf(a,2,h)|0;if((e|0)<0)if((c[(yi()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;pg(15091,d)}else{Fe(e,h)|0;if((c[h+36>>2]|0)<64){sh(e)|0;b=0}else{Od(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Vj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Di(15114,j)}}else f=0;b=le(56)|0;c[b+4>>2]=Qg(e,f)|0;g=Sf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Sf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Qg(e,f)|0;Qg(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Kd(b);break}if((sh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Di(21547,k)}}else{if(!(c[a+20>>2]&2)){if(hh(d)|0){c[f>>2]=c[a+12>>2];Di(21516,f)}}else{vd(d)|0;if(hh(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Di(21486,e)}}if((Be(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Di(21547,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)pg(21169,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Di(21577,l)}if(b|0)Da(21618,20822,435,21636);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Di(21652,m)}i=n;return d>>>8&255|0}function Fc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=sk(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)rk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Gc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Vf(c[n>>2]|0,d,e);Re(c[n>>2]|0,h,1,0);Re(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Tg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Re(c[n>>2]|0,l,d,0);e=Uf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Re(c[n>>2]|0,l,c[k>>2]|0,0);if((af(f,l,c[k>>2]|0)|0)<0)break;e=Uf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Gc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Re(c[n>>2]|0,l,d,0);Re(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(af(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Hc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=qi(25632)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(zj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=le(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(zj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;rh(h,4,11677,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ze(b|0,0,e|0)|0;return b|0}function Jc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=$h(512)|0;c[h>>2]=f;mj(f,b);mj(f,17337);d=b+16|0;if(a[d>>0]|0){d=Hc(d)|0;mj(f,d);Pj(d);d=b+2064|0;if(a[d>>0]|0){mj(f,17431);d=Hc(d)|0;mj(f,d);Pj(d)}mj(f,17433)}mj(f,b+4112|0);if(!((yf(b,17368)|0)==0?!(yf(17403,b+6160|0)|0):0))e=7;do if((e|0)==7){if((yf(b,17341)|0)==0?(yf(17400,b+6160|0)|0)==0:0)break;d=b+6160|0;if((yf(b,17358)|0)==0?(yf(17435,d)|0)==0:0)break;mj(f,17431);mj(f,d)}while(0);mj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Fh(f,17439,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Fh(f,17456,k)}k=Ah(h)|0;i=l;return k|0}function Kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Yb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}sh(a)|0;if((h|0)>0)Pj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Mg(18215,f)|0)==0?(Mg(18223,f)|0)==0:0){g=11;break}f=te(g,f)|0;c[j>>2]=f;a=hc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ci(19225,k);g=14}else if((g|0)==11){c[l>>2]=f;ci(19279,l);g=14}else if((g|0)==13){c[m>>2]=f;ci(19309,m);g=14}if((g|0)==14)if((b|0)>0){Pj(f);b=0}else b=0;i=n;return b|0}function Lc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){re(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;re(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){re(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Mc(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|0)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?b:0)|0}function Nc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Li(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(yi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Li(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;pc(e,2,j)|0}if(b&2048){c[h>>2]=pc(e,3,k)|0|2048;pc(e,4,h)|0}}}}while(0);i=l;return e|0}function Oc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6239]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Li(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Li(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Rc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16718,16770,388,16782);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Ti(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)dh(b);d=d+1|0}Pj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=le(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Re(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=Vj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Di(12325,j)}}else f=0;c[d+24>>2]=Sg(b,f)|0;j=Uf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=Sg(b,f)|0;c[d+44>>2]=Sg(b,f)|0;c[d+48>>2]=Sg(b,f)|0;c[d+52>>2]=Sg(b,f)|0;g=Uf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=Sg(b,f)|0;Re(b,h,4,0);b=ej(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Tc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Rh(4,14864,p);$g(500);l=a+5|0;k=id(l,20460)|0;c[p>>2]=k;Aj(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}$g(250);g=e-j|0;g=Af(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Rh(4,14917,m);if(hh(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;ci(14939,o);c[n>>2]=l;pg(14823,n)}else if((g|0)==6){cj(p);i=q;return a|0}return 0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=le(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=$h(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){mj(e,20748);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){mj(e,20752);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}mj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Ah(j)|0;if(!(c[a>>2]|0))Di(20754,k);if(!(b&8))e=0;else{Mh(l,Ne(76,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Mh(l,Ne(d,l)|0);e=e+1|0}i=m;return l|0}function Vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=sk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;re(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(ne(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)rk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)rk(f);return e|0}function Wc(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(!(vf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);re(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 Xc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=_a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{re(l|0,b|0,d|0)|0;Ze(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Di(16070,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Gc(a,j,k,l,g)|0;else{wc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Zc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Yd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function _c(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=le(16)|0;else l=If(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=nj(d,e)|0;else{k=If(h,e+1|0)|0;c[l+4>>2]=k;re(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Rc(b,pi(m)|0);return l|0}function $c(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=xk()|0;mk(24872)|0;if((c[6225]|0)!=0&(a|0)==(c[6226]|0)){Ng(2,11802,61)|0;Za(1)}kk(24872)|0;mk(24908)|0;mk(24872)|0;c[6226]=a;c[6225]=1;kk(24872)|0;if(!(c[6234]|0))c[6234]=ye(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;rh(d,64,17456,b)|0;a=ff(c[6234]|0,d)|0;if(!a){a=le(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=aj(c[6234]|0,d,a)|0}mk(24872)|0;c[6225]=0;kk(24872)|0;kk(24908)|0;i=e;return c[a+8>>2]|0}function ad(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=$h(Yd(f)|0)|0;c[j>>2]=g;h=f;f=Hi(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;mj(g,h);mj(g,17519);m=f+1|0;h=m;f=Hi(m,47)|0}mj(g,h);f=Ah(j)|0;j=Yd(d)|0;m=Yd(e)|0;m=j+3+m+(Yd(f)|0)|0;j=le(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;rh(j,m,14564,k)|0;c[b+44>>2]=og(b,14573)|0;c[b+48>>2]=og(b,14580)|0;c[b+52>>2]=og(b,14591)|0}i=l;return}function bd(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Yi(b,d,0)|0;if((d|0)>-1){b=Rg(b,1,d)|0;c[h>>2]=b;a:do if((((Zb(b,g,0)|0)!=0?(Mg(18168,c[g>>2]|0)|0)!=0:0)?(ag(g)|0,f=ag(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Vd(f)|0;if(e)while(1){if(!(Zb(c[h>>2]|0,g,0)|0))break a;f=ag(g)|0;if(!f)break a;b=Bh(f)|0;aj(e,b,qi(Qh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Kd(h)}else d=c[(yi()|0)>>2]|0;i=j;return d|0}function dd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=ig(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ed(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((Ib[d&15](k,j)|0)>-1?(Ib[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Ib[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Ld(b,o,e);i=p;return}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8832;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(yi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Fc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function gd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b;while(1){b=g;d=0;while(1){if(((a[b>>0]|0)+-48|0)>>>0>=10)break;b=b+1|0;d=d+1|0}b=c;e=0;while(1){if(((a[b>>0]|0)+-48|0)>>>0>=10)break;b=b+1|0;e=e+1|0}if((e|d|0)>-1){f=Vd(g)|0;b=Vd(c)|0;if((f|0)!=(b|0)){c=f;h=11;break}c=c+e|0;d=g+d|0}else d=g;e=Zg(d)|0;if((e|0)!=(Zg(c)|0)){b=d;h=13;break}if(!e){b=0;break}b=af(d,c,e)|0;if(b|0)break;g=d+e|0;c=c+e|0}if((h|0)==11)b=c-b|0;else if((h|0)==13)b=yf(b,c)|0;return b|0}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=le(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Re(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Vj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Di(16031,j)}}else f=0;c[d+12>>2]=Sg(b,f)|0;c[d+16>>2]=Sg(b,f)|0;c[d+20>>2]=Sg(b,f)|0;g=Uf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Re(b,h,4,0);Re(b,h,4,0);b=ej(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(yf(b,12779)|0){if(!(yf(b,12785)|0)){f=c[2069]|0;break}e=de(b,d)|0;if(!e){a:do if(!d)e=25632;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=12813;break a}case 119:{e=12803;break a}default:{e=e<<24>>24==97?12792:25632;break a}}}while(0);d=se(c[(yi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Di(12822,g)}else f=e}else f=c[2128]|0;while(0);i=h;return f|0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;rd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=le(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;ad(a,b,h,d);c[e>>2]=0;b=a+44|0;j=Wh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=Wh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=Wh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;dh(e);Pj(c[a+40>>2]|0);Pj(c[b>>2]|0);Pj(c[f>>2]|0);Pj(a);Pj(h);Pj(d);d=c[e>>2]|0}i=g;return d|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(jf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ak(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;ik(f);break}else{b=Ha(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ci(12525,f);b=0;break}}else{xf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function ld(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=le(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20346+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20346+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20346+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20346+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function md(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[20543+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[20543+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function nd(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0.0,g=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;o=i;i=i+32|0;n=o;f=0.0;g=0;l=0;j=0.0;while(1){k=(b|0)==0;if(!k?(m=+h[b+16>>3],!(m<d)):0){p=+(((c[b+8>>2]|0)-(c[b+4>>2]|0)|0)>>>0);f=f+p;g=b;l=(l|0)==0?b:l;j=j+m*p}else{if(l){l=c[l+4>>2]|0;g=c[g+8>>2]|0;c[n>>2]=a;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j/f;Eh(e,11608,n)|0;f=0.0;g=0;j=0.0}if(k)break;else l=0}b=c[b>>2]|0}i=o;return}function od(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))pg(20895,k);l=Ji()|0;if(kh(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Ji()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;pg(20918,f)}if(b|0?(yg(b,0)|0)<0:0)pg(20945,g);if((d|0)!=1?(yg(d,1)|0)<0:0)pg(20965,h);if((e|0)!=2?(yg(e,2)|0)<0:0)pg(20986,j);Oh();i=k;return}function pd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Fj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=fh(c|0,d|0,10,0)|0;b=b+1|0;c=Vh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Vh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function qd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=fc(a,b)|0;if((a|0)<0)a=-1;else{if((sd(a,1e6)|0)>0)wi(a,25632,0,0)|0;c[g>>2]=0;c[h>>2]=d;rh(f,256,17610,h)|0;do if(wi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,rh(f,256,17620,j)|0,(wi(a,f,0,0)|0)==0):0){sh(a)|0;a=-1;break}if(!(wi(a,17630,0,0)|0)){sh(a)|0;a=-1}}else{sh(a)|0;a=-1}while(0)}i=k;return a|0}function rd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Hi(b,58)|0;if(!h)h=0;else{m=nj(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Hi(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){De(l,1024,b,k+1-b|0);c[g>>2]=Td(l)|0}j=Hi(b,47)|0;if(!j)j=b+(Yd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Td(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Xf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(yi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=se(a)|0;ci(17461,m)}i=n;return a|0}function td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=qf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=le(5)|0;c[g>>2]=f;if((Og(e,f,4)|0)<4)Qi(g);else a[f+4>>0]=0;sh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=ge(e)|0,Qi(h),(g|0)!=0):0){h=Yg(Ye(b)|0,33,b,0)|0;e=Rg(b,d,_j(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function ud(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Qc(g,21676,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ve(g)|0;i=j;return h|0}ve(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function vd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=fe(a)|0;break}d=(sk(a)|0)==0;b=fe(a)|0;if(!d)rk(a)}else{if(!(c[2098]|0))b=0;else b=vd(c[2098]|0)|0;mb(24984);a=c[6245]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=sk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=fe(a)|0|b;if(d|0)rk(a);a=c[a+56>>2]|0}while((a|0)!=0);db(24984)}while(0);return b|0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;d=0;e=f;while(1){if(!e){g=d;break}d=d+1|0;e=c[e>>2]|0}if((g|0)>1){h=pe(g<<2)|0;d=f;e=0;while(1){if(!d)break;c[h+(e<<2)>>2]=d;d=c[d>>2]|0;e=e+1|0}ec(h,g,4,b);d=0;e=0;while(1){if((d|0)==(g|0))break;b=h+(d<<2)|0;c[c[b>>2]>>2]=e;d=d+1|0;e=c[b>>2]|0}Pj(h);d=0;while(1){if(!e)break;g=c[e>>2]|0;c[e>>2]=d;h=e;e=g;d=h}c[a>>2]=d}return}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=lg(e,0)|0;c[n>>2]=g;Jg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=lg(d,e)|0;else if(!f){e=qf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;pg(21455,k)}else j=e}else j=0;c[m>>2]=j;e=Ff(a,b,j,g)|0;ng(m);if(!l)ng(n);i=o;return e|0}function yd(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[(yi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function zd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=pe(k)|0;re(j|0,d|0,e|0)|0;Pj(c);d=j;e=k;c=j}k=Pb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=qi(d)|0;Pj(c);c=l}i=h;return c|0}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;g=k;f=k+20|0;e=+qg(b);c[g>>2]=a;c[g+4>>2]=d;h[g+8>>3]=e;Ih(11621,g)|0;b=ie(a)|0;c[g>>2]=b;c[f>>2]=id(d,20458)|0;b=Ed(b)|0;while(1){if(!b)break;a=b+4|0;c[j>>2]=a;Rh(2,11658,j);d=uh(0)|0;c[j>>2]=d;d=mc(c[g>>2]|0,a,d)|0;nd(a,d,e,c[f>>2]|0);Ai(j);b=c[b>>2]|0}oi(g);cj(f);i=k;return}function Bd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Rh(4,14633,j);h=We(a)|0;n=id(h,20460)|0;c[j>>2]=n;Aj(n,b,0)|0;a=Af(g+256|0,f,e,n)|0;if(!(hh(n)|0)){cj(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;ci(14774,k);c[l>>2]=h;pg(14823,l)}return 0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Rh(4,14254,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(kc(a,f,e)|0){a=Lf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Di(14286,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function Dd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Hh(f,11673,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ed(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[d>>2]=0;switch(c[a+4>>2]|0){case 0:{a=Hf(c[a+12>>2]|0)|0;c[b>>2]=a;while(1){if(!a)break;Ci(d,c[a+4>>2]|0)|0;a=c[a>>2]|0}dk(b);break}case 1:{a=Wg(c[a+20>>2]|0)|0;c[b>>2]=a;while(1){if(!a)break;Ci(d,c[a+4>>2]|0)|0;a=c[a>>2]|0}rg(b);break}default:{}}wd(d,6);i=e;return c[d>>2]|0}function Fd(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;Ze(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){Wc(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;Wc(h,f,a)|0}while(0);i=j;return}function Gd(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(!(vf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Hd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Gh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=fd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Gh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Id(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(gi(b)|0)){c=(Yd(b)|0)+1|0;d=_a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Ij(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Hi(b,47)|0;if(!b){mg(e)|0;b=0;continue}else{a[b>>0]=0;mg(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(sk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Gd(d,b)|0;rk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Gd(d,b)|0}while(0);return e|0}function Kd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Gi(c[2128]|0)|0):0){sh(c[d>>2]|0)|0;Pj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else di(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);Pj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)$d(g);Qi(b)}return}function Ld(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;re(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;re(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;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=Vh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,Vh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Vh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(yf(a,12779)|0)if(yf(a,12785)|0){c[d>>2]=436;d=qf(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?12813:12792;else d=12803;else d=12966;else d=12942;c[f>>2]=a;c[f+4>>2]=d;pg(12977,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Od(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Og(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;pg(13005,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Di(13030,g)}else if((d|0)==8){i=h;return}}function Pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function Qd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(Fj(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(Fj(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Rd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=Fg(h,f)|0;c[e+4>>2]=Fg(h,f)|0;c[e+8>>2]=Fg(h,f)|0;c[e+12>>2]=Fg(h,f)|0;c[e+16>>2]=Fg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=oh(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Yd(b)|0;h=Yd(c)|0;d=0;e=Ub(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Ub(e+g|0,b)|0}f=Yd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=le((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Ub(a,b)|0;d=f;while(1){if(!a)break;Ij(d,e)|0;j=a+g|0;i=d+(a-e)|0;Ij(i,c)|0;e=j;a=Ub(j,b)|0;d=i+h|0}Ij(d,e)|0;return f|0}function Td(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(Eg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=le(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(Eg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;Dh(g,14558,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Ud(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Lh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Vd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Fj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Xd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Hh(f,11673,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Yd(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 Zd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ph(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Zd(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 _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(ff(c[e>>2]|0,d)|0)){aj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Eh(g,12072,h)|0}}}while(0);i=j;return}function $d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Dj(d);d=g}e=e+1|0}}else{Ai(b);b=d+8|0}while(0);Pj(c[b>>2]|0);Qi(a)}return}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=pc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((pc(a,4,f)|0)<0){c[g>>2]=se(c[(yi()|0)>>2]|0)|0;ci(17022,g);d=-1}else d=0}else{c[e>>2]=se(c[(yi()|0)>>2]|0)|0;ci(16991,e);d=-1}i=h;return d|0}function be(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=24848;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function ce(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[20551+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[20559+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[20559+f>>0]}while(0);return}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Mc(24565,a[d>>0]|0,4)|0){h=Pf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Li(ib(5,e|0)|0)|0;if((e|0)>=0){b=yc(e,d)|0;if(!b){c[f>>2]=e;Va(6,f|0)|0;b=0}}else b=0}else{c[(yi()|0)>>2]=22;b=0}i=g;return b|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Di(15653,d)}d=Lj(a,b)|0;if(!d){g=c[(yi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Di(15717,e)}else{i=f;return d|0}return 0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Mg(11922,a)|0))if(!(Mg(11925,a)|0))if(!(Mg(11929,a)|0))if(!(Mg(11932,a)|0))a=0;else{a=11937;e=5}else{a=11941;e=5}else{a=11945;e=5}else{a=11947;e=5}if((e|0)==5){c[d>>2]=a;rh(b,20,11950,d)|0;a=qi(b)|0}i=f;return a|0}function he(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=Vh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Vh((dc(h,g,Vh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function ie(a){a=a|0;var b=0,d=0,e=0;e=le(24)|0;if(!(cg(a)|0)){d=uh(0)|0;c[e+16>>2]=d;d=Ob(a,0,0,512,d)|0;c[e+8>>2]=d;a=ye(0,1)|0;while(1){if(!d)break;b=d+4|0;if(!(ff(a,c[b>>2]|0)|0))aj(a,c[b>>2]|0,d)|0;d=c[d>>2]|0}c[e+12>>2]=a;c[e+4>>2]=0}else{c[e+4>>2]=1;c[e+20>>2]=Jj(a)|0}return e|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;sg(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ke(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=Ug(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ui(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 le(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Di(15789,b)}b=gk(a)|0;if(!b){f=c[(yi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Di(15842,d)}else{Ze(b|0,0,a|0)|0;i=e;return b|0}return 0}function me(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(gi(a)|0)){d=de(a,20458)|0;c[b>>2]=d;if(!d){a=0;break}else{cj(b);a=1;break}}else{f=xi()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Qa(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;ci(16001,d);a=0;break}}while(0);i=e;return a|0}function ne(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=12681;break}case 2:{a=12660;break}case -1:{a=12649;break}case -2:{a=12633;break}case -3:{a=12633;break}case -4:{a=12618;break}case -5:{a=12603;break}case -6:{a=12584;break}case 0:{a=0;break}default:{c[b>>2]=a;rh(25504,128,12565,b)|0;a=25504}}i=d;return a|0}function pe(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Di(15529,b)}b=gk(a)|0;if(!b){f=c[(yi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Di(15587,d)}else{i=e;return b|0}return 0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(yi()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;re(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Xa(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 se(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22633+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22721;e=5;break}}if((e|0)==2)if(!c)b=22721;else{b=22721;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 te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;lc(b,g);lc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Of(e,2048,d);Of(f+2064|0,2048,g+2064|0)}g=Jc(f)|0;i=h;return g|0}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Cg(b,d)|0))break;if((Mg(12261,c[d>>2]|0)|0)==0?(Mg(12269,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Rh(2,12312,f)}if((g|0)==5){c[e>>2]=c[d>>2];Rh(2,12275,e);a[b+48>>0]=1}i=h;return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function xe(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Di(12434,k)}else{c[j>>2]=e;Si(d,j)}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16718,16770,357,16825);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=uh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Ti(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function ze(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;sg(j,0);e=Vb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Ae(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;rh(h,256,17955,j)|0;j=ld(h,Yd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Fh(e,17961,k);Qi(g)}i=l;return}function Be(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(24984);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6245]|0)==(a|0))c[6245]=b;db(24984)}b=vd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function Ce(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=Rf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=13207;else e=(d|0)==2?13166:13175;else e=13198;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;pg(13216,g);return 0}function De(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Di(13331,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;hj(b,e,f)|0;a[b+g>>0]=0;i=j;return}function Ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=ji(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){be(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Li(Oa(195,f|0)|0)|0}else d=Li(d)|0;i=g;return d|0}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;rh(g,4096,18179,e)|0;a=ye(0,1)|0;c[e>>2]=a;if(((cd(g,18196,a)|0)==206?(b=bi(a,18200)|0,(b|0)!=0):0)?(d=Hi(b,47)|0,(d|0)!=0):0){b=pd(d+1|0)|0;a=C}else{a=-1;b=-1}$d(e);C=a;i=f;return b|0}function He(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2069]|0;if((c[f+76>>2]|0)>-1)g=sk(f)|0;else g=0;do if((wj(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=(Gd(f,10)|0)<0}while(0);if(g|0)rk(f);return d<<31>>31|0}function Ie(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=Zi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function Je(a,b){a=a|0;b=b|0;var d=0,e=0;d=xi()|0;a=jd(a,(b|0)==0?13388:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Jh(e,14573)|0){if(!(gi(e)|0))break a;if((Vg(e)|0)>>>0<b>>>0)b=Vg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function Ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Pj(e);f=f+1|0}Pj(b);Pj(i);i=h}Qi(g+12|0);Qi(g+28|0);Qi(a)}return}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Mj(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Di(12213,g);return +(0.0)}function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Di(12165,f)}j=Vd(d)|0;i=g;return j|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=le((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=qi(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Rh(4,14987,d);$g(500);if((lh(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Pc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Yc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Qe(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(vi(k,d,Yd(d)|0,h,8)|0))a=0;else{Kh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=$f(b,a,e,f)|0}i=j;return a|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Pb(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Di(14506,g)}else{i=h;return}}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Rh(4,14831,d);if((lh(We(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2069]|0);if((b|0)==(c[2128]|0)|d)if(d){vd(b)|0;b=1}else b=1;else if(!(Be(b)|0))b=1;else{eg(13266,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Vc(b,d,1,a)|0)!=1:0){b=hh(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Di(12911,f)}else{f=se(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Di(12882,e)}}i=g;return}function Ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=ph(b)|0;do if((f|0)!=0?(yf(f,16565)|0)!=0:0){d=Xi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Di(16288,h)}else e=d;while(0);i=j;return e|0}function We(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(Mg(14681,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Di(14688,e);if(((((Ub(b,14715)|0)==0?(Hi(b,126)|0)==0:0)?(Ub(b,14718)|0)==0:0)?(Ub(b,14721)|0)==0:0)?(Jh(14725,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Di(14728,d);return 0}function Xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Ti(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Di(16686,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ye(a){a=a|0;var b=0;b=qi(a)|0;if(!(((Mg(18215,a)|0)==0?(Mg(18223,a)|0)==0:0)?!(Mg(18232,a)|0):0))Dd(a,b,Yd(a)|0);if(!(Jh(b,11962)|0))if(!(Jh(b,11966)|0))if(!(Jh(b,11969)|0)){a=(Jh(b,11974)|0)==0;a=a?0:8}else a=44;else a=32;else a=20;Pj(b);return a|0}function Ze(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 _e(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Hj(e&65535)|0;if(d){h=bk(kd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=sj(b,59)|0;if((g|0?Mg(17346,g)|0:0)?(i=(Hi(g,61)|0)+1|0,h=Hi(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=pd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=pd(b)|0;c[e>>2]=f}}return}function af(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 bf(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Li(pa(102,h|0)|0)|0;i=g;return e|0}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=$h(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){mj(e,20752);b=c[d>>2]|0}mj(e,b);f=f+1|0}g=Ah(g)|0;i=h;return g|0}function df(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Li(pa(102,h|0)|0)|0;i=g;return e|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(yf(a,17341)|0)if(!(yf(a,17358)|0)){d=Yh(a+4112|0,Vd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Di(17913,e)}else d=fc(a+4112|0,Vd(a+6160|0)|0)|0;while(0);i=f;return d|0}function ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((yf(c[e+4>>2]|0,d)|0)!=0);return e|0}function gf(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((Li(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;if(((a[e>>0]|0)+-48|0)>>>0<10){f=ti(e)|0;i=g;return f|0}else{h=c[b+28>>2]|0;g=c[b+4>>2]|0;c[f>>2]=d;c[f+4>>2]=e;c[f+8>>2]=h;c[f+12>>2]=g;Di(19434,f)}return 0}function jf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Hi(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=ud(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=oe(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Di(12697,g)}return 0}function lf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Yd(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(Fj(d<<24>>24)|0)!=0;d=d&1}return d|0}function mf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(yf(a,12779)|0){if(Ye(a)|0){c=td(a,b)|0;break}c=qf(a,0,c)|0;if((c|0)==-1)c=0;else c=Rg(a,b,c)|0}else c=tj(b)|0;while(0);i=d;return c|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Ng(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)pg(13072,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Di(13098,e)}}function of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){Kh(c[a+4>>2]|0,e);f=le(16)|0;c[f+4>>2]=nj(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(20483,20510,206,20525)}function pf(b){b=b|0;var d=0,e=0,f=0;d=c[2099]|0;f=se(c[(yi()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=sk(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Tf(b,Yd(b)|0,1,d)|0;Jd(58,d)|0;Jd(32,d)|0}Tf(f,Yd(f)|0,1,d)|0;Jd(10,d)|0;if(e|0)rk(d);return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Li(ib(5,f|0)|0)|0;i=e;return d|0}function rf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Gh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;re(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Li(pa(102,f|0)|0)|0;i=e;return d|0}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Og(b,d,e)|0;a=a+16|0;b=a;b=ji(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function vf(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 wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;nf(b,d,e);return}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((gc(2,a,d)|0)<0){b=se(c[(yi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ci(12484,e);a=0}else{c[b>>2]=ak(c[d>>2]|0)|0;a=1}i=f;return a|0}function yf(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 zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Od(b,d,e);return}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Vc(b,1,d,e)|0}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((bf(a,1,20,d,8)|0)>=0)if((bf(a,1,21,d,8)|0)<0){ci(16886,e);a=-1}else a=0;else{ci(16836,f);a=-1}i=f;return a|0}function Cf(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,cb(54,f|0)|0):0)a[b+75>>0]=-1;f=xc(b,d,e)|0;i=g;return f|0}function Df(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=qj(a[e>>0]|0)|0;c=c<<24>>24;b=(qj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Ef(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 Ff(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;Jg(b);a=Uc(a,b)|0;if(!(b&1)){b=_g(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);ng(f)}else Ag(a,d,e,0,0);i=g;return a|0}function Gf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+16|0;d=a+8|0;e=0;a=0;while(1){if((e|0)>=(c[f>>2]|0))break;b=(c[d>>2]|0)+(e<<2)|0;while(1){b=c[b>>2]|0;if(!b)break;g=Mi(b,16)|0;c[g>>2]=a;a=g}e=e+1|0}return a|0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Xe(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=fd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Di(13280,g)}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[b>>2]|0;a=yf(c[e+4>>2]|0,c[d+4>>2]|0)|0;if(!a){b=c[e+8>>2]|0;a=c[d+8>>2]|0;if((b|0)==(a|0))a=(c[e+12>>2]|0)-(c[d+12>>2]|0)|0;else a=b-a|0}return a|0}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=jb(13380)|0;d=(b|0)!=0;if(d)Of(e,100,b);qa(13380,13383,1)|0;Ka();c[a+32>>2]=0;b=Sa(a|0)|0;if(d)qa(13380,e|0,1)|0;else ob(13380)|0;Ka();i=f;return b|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Mc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;re(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Nf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Li(hb(10,b|0)|0)|0;if(b){if((c[(yi()|0)>>2]|0)==21){c[d>>2]=a;b=Li(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Yd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Di(12733,f)}else{Ij(a,d)|0;i=g;return}}function Pf(b){b=b|0;var c=0,d=0,e=0;d=(Hi(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Hi(b,120)|0)==0;d=e?d:d|128;b=(Hi(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Di(12125,e)}}function Rf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Li(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Od(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Tf(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=(sk(e)|0)==0;a=Wc(a,f,e)|0;if(!g)rk(e)}else a=Wc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Re(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=kj(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=ji(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(13388)eh(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Wf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2069]|0;else{He(11864)|0;He(11889)|0;d=c[2069]|0;Fc(d,a,b)|0;Jd(10,d)|0;vd(d)|0}vd(d)|0;d=c[2099]|0;Fc(d,a,b)|0;Jd(10,d)|0;vd(d)|0}return}function Xf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Li(kb(142,h|0)|0)|0;i=g;return d|0}function Yf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Zf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=pe(h)|0;a=a+136|0;eh(a,b,d+64|0,0)|0;zf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=mf(a,b)|0;if(!b){e=se(c[(yi()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Di(12050,d)}else{i=e;return b|0}return 0}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;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;oc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);dh(f);i=g;return c[f>>2]|0}function ag(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Qh(e)|0,(a[d>>0]|0)!=0):0){e=zg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;ei(e,b,24864);if((c[e>>2]|0)==4){Ad(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);i=d;return 0}else Di(11442,d);return 0}function cg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;a=id(a,20460)|0;Ue(a,b,4);Be(a)|0;a=c[b>>2]|0;if((a|0)==-2003829722)a=1;else{a=Vj(a)|0;c[b>>2]=a;a=(a|0)==-2003829722&1}i=d;return a|0}function dg(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=se(c[(yi()|0)>>2]|0)|0;c[g+4>>2]=a;Dh(f,11916,g)|0;ii(f,e);i=d;return}function fg(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?(Tf(b,d,1,a)|0)!=1:0){a=se(hh(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Di(12852,e)}i=f;return}function gg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else re(b,c,d)|0;return b|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=c[a+20>>2]|0;if(!(vi(f,b,Yd(b)|0,d,8)|0))a=0;else{Kh(c[a+16>>2]|0,d);a=c[d+4>>2]|0}i=e;return a|0}function ig(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(ne(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Di(21112,e)}}function kg(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 lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=qf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;pg(21423,d)}else{i=e;return b|0}return 0}function mg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((nh(a,511)|0)<0)if((c[(yi()|0)>>2]|0)==17)b=0;else{pf(25632);c[d>>2]=a;Di(15943,d)}else b=1;i=e;return b|0}function ng(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((sh(b)|0)<0){c[d>>2]=b;pg(21147,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Yd(c[g>>2]|0)|0;e=Yd(d)|0;b=le(f+2+e|0)|0;re(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;re(f+1|0,d|0,e|0)|0;return b|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=se(c[(yi()|0)>>2]|0)|0;c[f+4>>2]=a;Dh(e,11916,f)|0;Si(e,d)}function qg(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+Mj(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;Di(12465,e);return +(0.0)}function rg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Bi(b);d=f}c[a>>2]=0;i=e;return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((sh(b)|0)<0)pg(13248,d);else{c[a>>2]=-1;break}while(0);i=e;return}function ug(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Vf(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Sc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Yd(a)|0;g=g+1+(Yd(b)|0)|0;d=le(g)|0;c[f>>2]=a;c[f+4>>2]=b;qh(d,g,13261,f)|0;i=e;return d|0}function wg(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;b=c[e+4>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0))a=(c[e+8>>2]|0)-(c[a+8>>2]|0)|0;else a=b-d|0;return a|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=$i(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(11994,12016,352,12032)}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Li(d)|0;i=f;return e|0}function zg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Fj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}
-function Ag(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;g=i;i=i+16|0;h=g;c[a+16>>2]=_g(h)|0;bc(a,b,c[h>>2]|0,d,e,f);ng(h);i=g;return}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(lh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function Cg(b,d){b=b|0;d=d|0;a:while(1){if(!(Zb(b,d,0)|0)){b=0;break}switch(a[(Qh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Bg(b)|0;b=id(b,20460)|0;g=pe(f+1|0)|0;c[d>>2]=g;Ue(b,g,f);a[g+f>>0]=0;Be(b)|0;if(e|0)c[e>>2]=f;return}function Eg(a){a=a|0;a:do if(!(zj(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function Fg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=Zi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;re(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Hg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){ek(b+96|0);d=b+100|0;Nh(d);Nh(d);hk(b+20|0);ac(b+8|0);Pj(c[b+4>>2]|0);Qi(a)}return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Og(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Jg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Di(20619,c);break}default:{}}if((a&18|0)==16)Di(20685,b);else{i=c;return}}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;a=ff(a,b)|0;if(!a){c[d>>2]=b;Di(16793,d)}else{i=e;return c[a+8>>2]|0}return 0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(sk(a)|0)==0;b=Wd(a,b,d)|0;if(!e)rk(a)}else b=Wd(a,b,d)|0;return b|0}function Mg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Li(pb(4,f|0)|0)|0;i=e;return a|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Li(sb(3,f|0)|0)|0;i=e;return a|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;rh(e,256,16715,f)|0;Bh(e)|0;b=ff(a,e)|0;i=d;return b|0}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Od(a,d,4);a=c[d>>2]|0;if(b){a=Zi(a|0)|0;c[d>>2]=a}i=e;return a|0}function Rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=qi(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=le(65537)|0;return f|0}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Re(a,d,4,0);a=c[d>>2]|0;if(b){a=Vj(a)|0;c[d>>2]=a}i=e;return a|0}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Re(a,d,2,0);a=b[d>>1]|0;if(c){a=Wj(a)|0;b[d>>1]=a}i=e;return a|0}function Ug(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((lh(a,b)|0)<0){c[d>>2]=a;Di(15970,d)}else{i=e;return c[b+56>>2]|0}return 0}function Wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];fi(c[a+20>>2]|0,b,1);dh(b);i=d;return c[b>>2]|0}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Rb(a,b)|0;if(!b){c[d>>2]=a;Di(19309,d)}else{i=e;return b|0}return 0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=xd(g,b,d,e)|0;i=f;return e|0}function Zg(b){b=b|0;var c=0,d=0;c=b;b=0;while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;if(((d<<24>>24)+-48|0)>>>0<10)break;c=c+1|0;b=b+1|0}return b|0}function _g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Sh(b)|0)<0)pg(20784,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function $g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Xf(0,0,0,0,b)|0}i=d;return}function ah(b){b=b|0;var c=0,d=0;c=Yd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Fj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function bh(a,b,d){a=a|0;b=b|0;d=d|0;if((c[14]|0)>=(a|0)){a=c[6235]|0;if(!a){a=c[2099]|0;c[6235]=a}Fc(a,b,d)|0;vd(c[6235]|0)|0}return}function ch(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ce(b,d,e)|0}function fh(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=Yf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function gh(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(yf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function hh(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(sk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)rk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function ih(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;a=id(a,20458)|0;c[f>>2]=a;fg(a,b,d);cj(f);i=e;return}function jh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=15041;c[a+4>>2]=352;Di(15020,a);return 0}function kh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(bb(57,e|0)|0)|0;i=d;return a|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(Oa(195,e|0)|0)|0;i=d;return a|0}function mh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(gb(38,e|0)|0)|0;i=d;return a|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(fb(39,e|0)|0)|0;i=d;return a|0}function oh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=Oj(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function ph(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6237]|0;if(!b)Di(16654,d);else{a=mi(b,a)|0;i=d;return a|0}return 0}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=fd(a,b,d,g)|0;i=f;return e|0}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Jf(a,b,d,g)|0;i=f;return e|0}function sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Va(6,d|0)|0;a=Li((a|0)==-4?-115:a)|0;i=b;return a|0}function th(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(yf(d,a)|0))break;b=b+8|0}return b|0}function uh(a){a=a|0;var b=0;b=le(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Xe(b,a)|0;return b|0}function vh(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=Li(Va(6,d|0)|0)|0;i=b;return a|0}function wh(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]}function xh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function zh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=le(d+1|0)|0;c=(c|0)<(d|0)?c:d;re(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(20411,20422,40,20438);else{b=c[b+4>>2]|0;Qi(a);return b|0}return 0}function Bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=qj(c<<24>>24)|0;d=d+1|0}return b|0}function Ch(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=rj(c<<24>>24)|0;d=d+1|0}return b|0}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=dj(a,b,f)|0;i=e;return d|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Fc(a,b,f)|0;i=e;return d|0}function Fh(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;Hd(a,b,f);i=e;return}function Gh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=$i(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gf(a,b,f)|0;i=e;return d|0}function Ih(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=Fc(c[2069]|0,a,e)|0;i=d;return b|0}function Jh(a,b){a=a|0;b=b|0;var c=0;c=Yd(a)|0;c=c-(Yd(b)|0)|0;if((c|0)<0)c=0;else c=(yf(a+c|0,b)|0)==0&1;return c|0}function Kh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Vj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Vj(c[a>>2]|0)|0}return}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Mh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Nh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Pj(b);b=d}c[a>>2]=0;return}function Oh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;sh(b)|0;b=b+1|0}return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Qh(b){b=b|0;if(!b)b=0;else while(1)if(!(Fj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Rh(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;bh(a,b,f);i=e;return}function Sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Li(wa(42,d|0)|0)|0;i=b;return a|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;a=ee(a,c)|0;if(c>>>0>b>>>0)Ze(a+b|0,0,c-b|0)|0;return a|0}function Uh(){}function Vh(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 (C=d,a-c>>>0|0)|0}function Wh(a){a=a|0;var b=0;if(!a)a=le(8)|0;else{b=le((Yd(a)|0)+8|0)|0;Ij(b+4|0,a)|0;a=b}return a|0}function Xh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[14]=a;c[d>>2]=0;i=b;return}function Yh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Di(20567,d);return 0}function Zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function _h(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=15041;c[a+4>>2]=360;Di(15020,a);return 0}function $h(a){a=a|0;var b=0;b=le(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=le(a+1|0)|0;c[b+8>>2]=a;return b|0}function ai(){var a=0,b=0;b=i;i=i+16|0;a=Nc(2,1,0)|0;if((a|0)<0)ci(16961,b);i=b;return a|0}function bi(a,b){a=a|0;b=b|0;a=Pg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ci(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;ii(a,e);i=d;return}function di(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ec(b)|0;Ke(a)}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6237]|0)){Pi(Xb(a,b,0,d,0)|0);c[6238]=d}return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;Ac(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function gi(a){a=a|0;if((yf(a,12779)|0)!=0?(yf(a,12785)|0)!=0:0)a=(Bg(a)|0)!=-1&1;else a=1;return a|0}function hi(a,b){a=a|0;b=b|0;return gd((c[a>>2]|0)+4|0,(c[b>>2]|0)+4|0)|0}function ii(a,b){a=a|0;b=b|0;var d=0;d=$c()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=aj(a,b,d)|0;c[e>>2]=c[d+4>>2];return d|0}function li(a,b){a=a|0;b=b|0;var d=0;d=le(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function mi(a,b){a=a|0;b=b|0;a=ff(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ni(a,b){a=a|0;b=b|0;if((Qd(a,0,5)|0)>(b|0))a=1;else a=ri(a)|0;return a|0}function oi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Hg(b+20|0);Ai(b+16|0);Qi(a)}return}function pi(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function qi(a){a=a|0;var b=0;if(!a)a=0;else{b=Yd(a)|0;a=zh(a,b,b)|0}return a|0}function ri(a){a=a|0;if(!(lf(19348,a)|0))a=(lf(19361,a)|0)!=0;else a=1;return a&1|0}function si(a,b){a=a|0;b=b|0;return yf(c[(c[a>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0}function ti(a){a=a|0;var b=0;b=i;i=i+16|0;a=xe(a,0,b)|0;i=b;return a|0}function ui(a,b){a=a|0;b=b|0;return (c[(c[a>>2]|0)+4>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function vi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Xc(a,b,c,e,0,d,0)|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lj(a,b);return zc(a,b,c,d)|0}function xi(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function yi(){var a=0;if(!(c[6239]|0))a=25e3;else a=c[(xk()|0)+64>>2]|0;return a|0}function zi(a){a=a|0;if(!a)a=0;else{a=Qh(a)|0;ah(a)}return a|0}function Ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Nh(b);Pj(b);c[a>>2]=0}return}function Bi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pj(c[b+4>>2]|0);Qi(a)}return}function Ci(a,b){a=a|0;b=b|0;b=Wh(b)|0;c[b>>2]=c[a>>2];c[a>>2]=b;return b|0}function Di(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Si(a,d)}function Ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Fi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pj(c[b+4>>2]|0);Qi(a)}return}function Gi(a){a=a|0;if((c[a+76>>2]|0)>-1?sk(a)|0:0)rk(a);return c[a+60>>2]|0}function Hi(b,c){b=b|0;c=c|0;b=Zc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ii(){var a=0;a=$c()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Za(-1)}function Ji(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){tg(b+52|0);Qi(a)}return}function Li(a){a=a|0;if(a>>>0>4294963200){c[(yi()|0)>>2]=0-a;a=-1}return a|0}function Mi(a,b){a=a|0;b=b|0;var c=0;c=pe(b)|0;re(c|0,a|0,b|0)|0;return c|0}function Ni(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Oi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=yd(a,b,0)|0;return a|0}function Pi(a){a=a|0;c[6237]=a;if(ph(16146)|0)Xh(Ve(16146,0)|0);return}function Qi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)jk(b);return}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Si(a,b){a=a|0;b=b|0;c[($c()|0)+4>>2]=1;ii(a,b);Ii()}function Ti(a){a=a|0;var b=0;b=pe(a)|0;Ze(b|0,0,a|0)|0;return b|0}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function Vi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,0,-2147483648)|0;return a|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,-2147483648,0)|0;return a|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;return qc(a,b,18137,18146,c)|0}function Zi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&15](b|0,c|0)|0}function $i(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,Yd(b)|0,c)|0}function bj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function cj(a){a=a|0;if(!(Te(a)|0))Ii();else return}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,2147483647,b,c)|0}function ej(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function gj(){if((jb(11897)|0)==0?(jb(11907)|0)==0:0)Za(-1);Ya()}function hj(a,b,c){a=a|0;b=b|0;c=c|0;Ic(a,b,c)|0;return a|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;return Mf(a,b,c)|0}function kj(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function lj(a,b){a=a|0;b=b|0;nf(a,b,Yd(b)|0);return}function mj(a,b){a=a|0;b=b|0;sf(a,b,Yd(b)|0);return}function nj(a,b){a=a|0;b=b|0;return zh(a,Yd(a)|0,b)|0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,0,c)|0}function pj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function qj(a){a=a|0;var b=0;b=(Yj(a)|0)==0;return (b?a:a&95)|0}function rj(a){a=a|0;var b=0;b=(Xj(a)|0)==0;return (b?a:a|32)|0}function sj(a,b){a=a|0;b=b|0;return ch(a,b,(Yd(a)|0)+1|0)|0}function tj(a){a=a|0;return Rg(12779,a,Gi(c[2128]|0)|0)|0}function uj(a){a=a|0;if(!(c[a+68>>2]|0))rk(a);return}function vj(a){a=a|0;if(!(c[a+68>>2]|0))rk(a);return}function wj(a,b){a=a|0;b=b|0;return (Tf(a,Yd(a)|0,1,b)|0)+-1|0}function xj(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,1,c)|0}function yj(a,b){a=a|0;b=b|0;return qk(Kg(a,b)|0)|0}function zj(a){a=a|0;return ((a+-48|0)>>>0<10|(Qj(a)|0)!=0)&1|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Bj(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Cj(a,b){a=a|0;b=b|0;return cd(a,18174,b)|0}function Dj(a){a=a|0;Pj(c[a+4>>2]|0);Pj(a);return}function Ej(a,b){a=a|0;b=b|0;i=a;j=b}function Fj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Gj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Hj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Ij(a,b){a=a|0;b=b|0;bd(a,b)|0;return a|0}function Jj(a){a=a|0;return rc(a,-2003829722,11682)|0}function Kj(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Lj(a,b){a=a|0;b=b|0;return qe(a,b)|0}function Mj(a,b){a=a|0;b=b|0;return +(+je(a,b,1))}function Nj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Oj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Pj(a){a=a|0;if(a|0)jk(a);return}function Qj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Rj(a,b){a=+a;b=+b;return +(+dg(a,b))}function Sj(a,b){a=+a;b=b|0;return +(+Ud(a,b))}function Tj(a,b){a=+a;b=b|0;return +(+Zd(a,b))}function Uj(b){b=b|0;a[b+48>>0]=1;return}function Vj(a){a=a|0;return Zi(a|0)|0}function Wj(a){a=a|0;return Oj(a|0)|0}function Xj(a){a=a|0;return (a+-65|0)>>>0<26|0}function Yj(a){a=a|0;return (a+-97|0)>>>0<26|0}function Zj(a,b){a=a|0;b=b|0;Qb(b);return}function _j(a){a=a|0;return c[a+16>>2]|0}function $j(a,b){a=+a;b=+b;return +(+ic(a,b))}function ak(a){a=a|0;return Zi(a|0)|0}function bk(a){a=a|0;return Zi(a|0)|0}function ck(a,b){a=a|0;b=b|0;ba(7);return 0}function dk(a){a=a|0;Nh(a);return}function ek(a){a=a|0;Qi(a);return}function fk(a){a=a|0;Hb[a&1]()}function gk(a){a=a|0;return Kb(a)|0}function hk(a){a=a|0;Qi(a);return}function ik(a){a=a|0;Qb(a);return}function jk(a){a=a|0;Qb(a);return}function kk(a){a=a|0;return 0}function lk(a,b){a=a|0;b=b|0;ba(3)}function mk(a){a=a|0;return 0}function nk(a){a=a|0;i=a}function ok(a){a=a|0;C=a}function pk(a){a=a|0;ba(5);return 0}function qk(a){a=a|0;return a|0}function rk(a){a=a|0;return}function sk(a){a=a|0;return 0}function tk(){return C|0}function uk(){return i|0}function vk(a){a=a|0;ba(2)}function wk(){return 13388}function xk(){return 0}function yk(){ba(6)}
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=nc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=nc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=21705;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=21732;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=jc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=21682;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=21705;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=21752;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=Zi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=21816;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=21845;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=jc(o,q,r)|0;else o=nc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=Zi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=22019;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=jc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11152+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=22040;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=nc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}re(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11152+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Sb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=21881;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=8976;c[H>>2]=9;c[I>>2]=11024;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=21797;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=21906;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=21906;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=21932;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Sb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=21969;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Sb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21997;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Wb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=22115;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;re(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=nc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=nc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=22093;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=nc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=21777;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=nc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=22063;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Lc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=jc(j,h,k)|0;else h=nc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6252]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=25048+(b<<1<<2)|0;e=d+8|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[6256]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6252]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6254]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=25048+(b<<1<<2)|0;e=d+8|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[6256]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6254]|0;break}else Za()}else{c[6252]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6257]|0;b=l>>>3;d=25048+(b<<1<<2)|0;a=c[6252]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{m=a;n=b}}else{c[6252]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6254]=h;c[6257]=e;N=j;i=O;return N|0}a=c[6253]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[25312+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6256]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6253]=c[6253]&~(1<<a);break}}else{if(h>>>0<(c[6256]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6256]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6254]|0;if(a|0){f=c[6257]|0;b=a>>>3;e=25048+(b<<1<<2)|0;a=c[6252]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{r=a;s=b}}else{c[6252]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6254]=d;c[6257]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6253]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[25312+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[25312+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6254]|0)-q|0)>>>0:0){f=c[6256]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6253]=c[6253]&~(1<<a);break}}else{if(g>>>0<(c[6256]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6256]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{w=a;x=b}}else{c[6252]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=25312+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6254]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6257]|0;if(a>>>0>15){N=b+q|0;c[6257]=N;c[6254]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6254]=0;c[6257]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6255]|0;if(a>>>0>q>>>0){L=a-q|0;c[6255]=L;N=c[6258]|0;M=N+q|0;c[6258]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6370]|0)){c[6372]=4096;c[6371]=4096;c[6373]=-1;c[6374]=-1;c[6375]=0;c[6363]=0;x=p&-16^1431655768;c[p>>2]=x;c[6370]=x}h=q+48|0;g=c[6372]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6362]|0;if(a|0?(w=c[6360]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6363]&4)){a=c[6258]|0;c:do if(a){d=25456;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6255]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6371]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6360]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6362]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6372]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6363]=c[6363]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6360]|0)+f|0;c[6360]=a;if(a>>>0>(c[6361]|0)>>>0)c[6361]=a;j=c[6258]|0;do if(j){e=25456;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6255]|0)|0;c[6258]=M;c[6255]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6259]=c[6374];break}a=c[6256]|0;if(h>>>0<a>>>0){c[6256]=h;k=h}else k=a;d=h+f|0;a=25456;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=25456;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6257]|0)){N=(c[6254]|0)+g|0;c[6254]=N;c[6257]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=25312+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6256]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6253]=c[6253]&~(1<<b);break e}while(0);e=c[6256]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6256]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=25048+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6252]=c[6252]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;do if(!(b&a)){c[6252]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6256]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=25312+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6255]|0)+g|0;c[6255]=N;c[6258]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=25456;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6258]=N;c[6255]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6259]=c[6374];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6364];c[a+4>>2]=c[6365];c[a+8>>2]=c[6366];c[a+12>>2]=c[6367];c[6364]=h;c[6365]=f;c[6367]=0;c[6366]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{J=a;K=b}}else{c[6252]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=25312+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6256]|0;if((N|0)==0|h>>>0<N>>>0)c[6256]=h;c[6364]=h;c[6365]=f;c[6367]=0;c[6261]=c[6370];c[6260]=-1;a=0;do{N=25048+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6258]=M;c[6255]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6259]=c[6374]}while(0);a=c[6255]|0;if(a>>>0>q>>>0){L=a-q|0;c[6255]=L;N=c[6258]|0;M=N+q|0;c[6258]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(yi()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0}while((Fj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=dd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[24835+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=dd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[24844+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=dd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=dd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(yi()|0)>>2]=22;sg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=dd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=dd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;k=ji(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=ji(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=dd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else sg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=ji(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=uc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){sg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Lh(o|0,n|0,2)|0;H=ji(H|0,C|0,-32,-1)|0;e=ji(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=ji(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Vh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=ji(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Rj(+Ud(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(yi()|0)>>2]=34;g=+Sj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=dd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=ji(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=ji(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=uc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){sg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=ji(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(yi()|0)>>2]=22;sg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8944+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8944+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8944+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Lh(c[p>>2]|0,0,29)|0;o=ji(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ui(o|0,n|0,1e9,0)|0;o=Ug(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Rj(+Ud(1.0,105-o|0),j);m=+$j(j,+Ud(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+$j(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(yi()|0)>>2]=34}while(0);g=+Sj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(yi()|0)>>2]=22;sg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(yi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Wc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[22143+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}sc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Ph(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=22623;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=22623;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Vh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=22623;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?22623:22625;L=76}else{p=1;r=22624;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=22623;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=22623;o=N;break}case 109:{o=se(c[(yi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:24525;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Fd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?24533:24538}else{G=1;H=24535}else{q=-q;G=1;H=24532}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Tj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ke(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[22607+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Fd(e,32,K,r,I);if(!(c[e>>2]&32))Wc(y,w,e)|0;Fd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Wc(ea,o,e)|0;f=ba-p|0;Fd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Wc(t,f,e)|0;Fd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Lh(c[r>>2]|0,0,t|0)|0;B=ji(B|0,C|0,o|0,0)|0;o=C;A=Ug(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ui(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ke(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Fd(e,32,K,w,I);if(!(c[e>>2]&32))Wc(H,G,e)|0;Fd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ke(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ze(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Wc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Wc(24563,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ke(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ze(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Wc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Fd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ke(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Wc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Wc(24563,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ze(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Wc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Fd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Wc(u,ba-u|0,e)|0}while(0);Fd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Fd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Wc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Wc(s?(t?24844:24559):t?24551:24555,3,e)|0;Fd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=22623;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[22607+(o&15)>>0]|r;o=Ph(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=22623;L=77}else{o=t;t=2;r=22623+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=22623;L=77}}else if((L|0)==76){f=ke(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Mc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=22623;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Oi(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Fd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Oi(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Wc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Fd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Fd(e,32,o,s,p);if(!(c[e>>2]&32))Wc(v,w,e)|0;Fd(e,48,o,s,p^65536);Fd(e,48,r,t,0);if(!(c[e>>2]&32))Wc(f,t,e)|0;Fd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;sc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=sk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Fj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{sg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=dd(e)|0}while((Fj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}sg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((dd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ze(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ze(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=dd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Bc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=qe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Vi(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=qe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Vb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;sg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=dd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Fj(d[m>>0]|0)|0))break;else n=m}sg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=dd(e)|0}while((Fj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)rk(e);i=P;return k|0}function Ob(a,d,e,f,j){a=a|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0.0;aa=i;i=i+368|0;$=aa+280|0;W=aa+256|0;V=aa+232|0;T=aa+216|0;S=aa+192|0;R=aa+176|0;Q=aa+160|0;P=aa+136|0;O=aa+128|0;N=aa+120|0;M=aa+112|0;K=aa+88|0;J=aa+80|0;I=aa+72|0;H=aa+48|0;G=aa+40|0;U=aa+24|0;L=aa+16|0;F=aa+8|0;E=aa;A=aa+352|0;B=aa+344|0;D=aa+336|0;X=aa+316|0;z=aa+296|0;C=aa+292|0;Z=aa+288|0;v=_f(a,1)|0;c[Z>>2]=0;ue(v);w=(e|0)==0;x=v+28|0;y=v+4|0;t=(d|0)==0;u=A+4|0;a:while(1){if(!(Cg(v,C)|0)){Y=106;break}c[E>>2]=c[C>>2];Rh(2,17399,E);a=c[C>>2]|0;if(!(Ub(a,17414)|0)){if((Qd(qi(a)|0,z,5)|0)!=4){Y=77;break}q=c[z>>2]|0;r=Me(v,z,1)|0;s=Me(v,z,2)|0;ba=+Le(v,z,3);c[S>>2]=q;c[S+4>>2]=r;c[S+8>>2]=s;h[S+16>>3]=ba;Rh(2,18108,S);Uj(v);c[A>>2]=ye(0,1)|0;c[B>>2]=0;while(1){if(!(Cg(v,D)|0))break;if(ri(c[D>>2]|0)|0){Y=81;break}Qf(v,4,Qd(c[D>>2]|0,X,5)|0);d=c[X>>2]|0;a=mi(c[A>>2]|0,d)|0;if(!a){a=If(c[(c[A>>2]|0)+20>>2]|0,16)|0;ki(c[A>>2]|0,d,a,a+4|0)|0;if(w)d=1073741823;else d=yj(e,d)|0;c[a+8>>2]=d;c[a>>2]=c[B>>2];c[B>>2]=a}k=If(j,16)|0;d=k+4|0;c[d>>2]=Me(v,X,1)|0;l=k+8|0;c[l>>2]=Me(v,X,2)|0;g[k+12>>2]=+Le(v,X,3);d=c[d>>2]|0;l=c[l>>2]|0;if(d>>>0>l>>>0){Y=87;break a}d=c[a+8>>2]|0;if(l>>>0>d>>>0){r=c[y>>2]|0;s=c[a+4>>2]|0;c[V>>2]=c[x>>2];c[V+4>>2]=r;c[V+8>>2]=s;c[V+12>>2]=d;c[V+16>>2]=l;ci(18187,V);if(t){Y=90;break a}}else{s=a+12|0;c[k>>2]=c[s>>2];c[s>>2]=k}}if((Y|0)==81){Y=0;Uj(v)}wd(B,3);a=B;while(1){a=c[a>>2]|0;if(!a)break;d=a+12|0;wd(d,4);o=a+4|0;m=c[d>>2]|0;while(1){n=c[m>>2]|0;if(!n)break;k=c[m+8>>2]|0;l=c[n+4>>2]|0;if(k>>>0>l>>>0){Y=98;break a}else m=n}m=c[d>>2]|0;while(1){if(!m)break;else{d=m;l=m;k=0}while(1){if((l|0)==0|(k|0)>=(f|0))break;d=l;l=c[l>>2]|0;k=k+1|0}c[d>>2]=0;s=If(j,48)|0;c[s+4>>2]=qi(c[o>>2]|0)|0;c[s+8>>2]=c[m+4>>2];c[s+12>>2]=c[d+8>>2];c[s+16>>2]=1;c[s+20>>2]=m;b[s+32>>1]=k;c[s>>2]=c[Z>>2];c[Z>>2]=s;m=l}}$d(A);continue}c[z>>2]=a;a=ag(z)|0;if(yf(a,17421)|0)if(!(yf(a,17434)|0))o=3;else{Y=6;break}else o=2;m=0;d=0;k=0;n=0;while(1){a=ag(z)|0;if(!a){s=m;r=n;break}if((Pd(a,61,A,2)|0)!=2){Y=10;break a}a=c[A>>2]|0;l=c[u>>2]|0;do if(!(yf(a,17496)|0)){m=qi(l)|0;a=n}else{if(!(yf(a,17502)|0)){d=hf(v,a,l)|0;a=n;break}if(!(yf(a,17563)|0)){a=hf(v,a,l)|0;break}if(yf(a,17568)|0){Y=19;break a}k=hf(v,a,l)|0;a=n}while(0);n=a}if(!s){Y=22;break}if(w)n=1073741823;else n=yj(e,s)|0;if(k>>>0>n>>>0?(q=c[y>>2]|0,c[H>>2]=c[x>>2],c[H+4>>2]=q,c[H+8>>2]=s,c[H+12>>2]=n,c[H+16>>2]=k,ci(17648,H),t):0){Y=27;break}a=(k|0)==0;if((o|0)==3){if(a){Y=30;break}if(!r){Y=32;break}q=(d|0)==0?r:d;m=k+-1|0;c[A>>2]=uh(0)|0;c[X>>2]=0;a=0;l=m;while(1){if(!(Cg(v,D)|0))break;if(ni(c[D>>2]|0,1)|0){Y=36;break}Qd(c[D>>2]|0,B,1)|0;d=If(c[A>>2]|0,8)|0;g[d+4>>2]=+Le(v,B,0);k=l+q|0;if(k>>>0>n>>>0){p=c[y>>2]|0;c[K>>2]=c[x>>2];c[K+4>>2]=p;c[K+8>>2]=s;c[K+12>>2]=n;c[K+16>>2]=k;ci(17788,K);if(t){Y=39;break a}}else{c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}l=l+r|0}if((Y|0)==36){Y=0;Uj(v)}dh(X);p=q-r|0;k=m;d=c[X>>2]|0;while(1){if(!d)break;o=(a|0)>(f|0)?f:a;n=If(j,48)|0;c[n+4>>2]=s;c[n+8>>2]=k;k=(_(o,r)|0)+k|0;c[n+12>>2]=p+k;c[n+16>>2]=3;c[n+24>>2]=r;c[n+28>>2]=q;b[n+32>>1]=o;l=If(j,o<<2)|0;c[n+20>>2]=l;m=0;while(1){if((m|0)>=(o|0))break;c[l>>2]=c[d+4>>2];m=m+1|0;d=c[d>>2]|0;l=l+4|0}c[n>>2]=c[Z>>2];c[Z>>2]=n;a=a-o|0}Ai(A)}else{if(!a){Y=50;break}if(r|0){Y=52;break}o=(d|0)==0?1:d;c[A>>2]=uh(0)|0;c[X>>2]=0;a=0;b:while(1){while(1){if(!(Cg(v,D)|0))break b;if(ni(c[D>>2]|0,2)|0){Y=57;break b}Qd(c[D>>2]|0,B,2)|0;d=If(c[A>>2]|0,12)|0;k=Me(v,B,0)|0;if((k|0)<1){Y=59;break a}r=d+4|0;c[r>>2]=k+-1;g[d+8>>2]=+Le(v,B,1);k=(c[r>>2]|0)+o|0;if(k>>>0<=n>>>0)break;r=c[y>>2]|0;c[P>>2]=c[x>>2];c[P+4>>2]=r;c[P+8>>2]=s;c[P+12>>2]=n;c[P+16>>2]=k;ci(17788,P);if(t){Y=62;break a}}c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}if((Y|0)==57){Y=0;Uj(v)}wd(X,2);d=c[X>>2]|0;if(!d)d=0;else{while(1){k=d;d=c[d>>2]|0;if(!d)break;k=c[k+4>>2]|0;l=c[d+4>>2]|0;if((k+o|0)>>>0>l>>>0){Y=67;break a}}d=c[X>>2]|0}while(1){if(!d)break;n=(a|0)>(f|0)?f:a;m=If(j,n<<3)|0;l=0;k=m;while(1){if((l|0)>=(n|0))break;c[k>>2]=c[d+4>>2];c[k+4>>2]=c[d+8>>2];l=l+1|0;d=c[d>>2]|0;k=k+8|0}r=If(j,48)|0;c[r+4>>2]=s;c[r+8>>2]=c[m>>2];c[r+12>>2]=(c[m+(n+-1<<3)>>2]|0)+o;c[r+16>>2]=2;c[r+20>>2]=m;c[r+28>>2]=o;b[r+32>>1]=n;c[r>>2]=c[Z>>2];c[Z>>2]=r;a=a-n|0}Ai(A)}}switch(Y|0){case 6:{c[F>>2]=a;Di(17444,F);break}case 10:{aa=c[y>>2]|0;c[L>>2]=c[x>>2];c[L+4>>2]=aa;Di(17461,L);break}case 19:{$=c[x>>2]|0;aa=c[y>>2]|0;c[U>>2]=a;c[U+4>>2]=l;c[U+8>>2]=$;c[U+12>>2]=aa;Di(17574,U);break}case 22:{aa=c[y>>2]|0;c[G>>2]=c[x>>2];c[G+4>>2]=aa;Di(17610,G);break}case 27:{Ii();break}case 30:{aa=c[y>>2]|0;c[I>>2]=c[x>>2];c[I+4>>2]=aa;Di(17713,I);break}case 32:{aa=c[y>>2]|0;c[J>>2]=c[x>>2];c[J+4>>2]=aa;Di(17751,J);break}case 39:{Ii();break}case 50:{aa=c[y>>2]|0;c[M>>2]=c[x>>2];c[M+4>>2]=aa;Di(17851,M);break}case 52:{aa=c[y>>2]|0;c[N>>2]=c[x>>2];c[N+4>>2]=aa;Di(17887,N);break}case 59:{aa=c[y>>2]|0;c[O>>2]=c[x>>2];c[O+4>>2]=aa;Di(17922,O);break}case 62:{Ii();break}case 67:{c[Q>>2]=s;c[Q+4>>2]=k;c[Q+8>>2]=l;Di(17988,Q);break}case 77:{$=c[y>>2]|0;aa=c[C>>2]|0;c[R>>2]=c[x>>2];c[R+4>>2]=$;c[R+8>>2]=aa;Di(18076,R);break}case 87:{$=c[x>>2]|0;aa=c[y>>2]|0;c[T>>2]=d;c[T+4>>2]=l;c[T+8>>2]=$;c[T+12>>2]=aa;Di(18130,T);break}case 90:{Ii();break}case 98:{$=c[o>>2]|0;Z=c[m+4>>2]|0;aa=c[n+8>>2]|0;c[W>>2]=$;c[W+4>>2]=Z;c[W+8>>2]=k;c[W+12>>2]=$;c[W+16>>2]=l;c[W+20>>2]=aa;Di(18263,W);break}case 106:{wd(Z,5);a=c[Z>>2]|0;while(1){if(!a){Y=112;break}d=a;a=c[a>>2]|0;if(!a){a=0;continue}k=c[d+4>>2]|0;if(yf(k,c[a+4>>2]|0)|0)continue;l=c[a+8>>2]|0;if((c[d+12>>2]|0)>>>0>l>>>0){Y=111;break}}if((Y|0)==111){c[$>>2]=k;c[$+4>>2]=l+1;Di(18339,$)}else if((Y|0)==112){i=aa;return c[Z>>2]|0}break}}return 0}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=ji(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(19329==0?(yf(c[a+8>>2]|0,20339)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=ji(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=ji(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=ji(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=ji(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Vh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=ji(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Vh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Vh(k|0,j|0,f|0,d|0)|0;re(b|0,B+f|0,o|0)|0;e=ji(o|0,E|0,e|0,n|0)|0;f=C;d=Vh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=ji(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;eh(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=le(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=ji(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Vh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(19329){y=ji(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=ji(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Ui(k|0,j|0,w|0,0)|0;t=ji(A|0,B|0,-1,-1)|0;t=ji(t|0,C|0,w|0,0)|0;w=Ui(t|0,C|0,w|0,0)|0;t=m+52|0;Zf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((oj(u,d,s)|0)<(s|0))f=0;else{Pj(u);j=B;k=A;continue}while(1){o=oj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=xj(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=fh(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=fh(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=ji(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Vh(f|0,j|0,p|0,q|0)|0;k=C;f=pe(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}eh(Z,c[K>>2]|0,p,0)|0;wf(Z,c[K>>2]|0,f,j);Qi(W)}ce(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;eh(P,c[t>>2]|0,da+64|0,0)|0;wf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Pj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);eh(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}zf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Di(20351,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Rh(4,20407,$);Rh(4,20453,aa);S=0;T=0;break}else if((n|0)==36){zf(Z,j,f,h);S=ba;S=ji(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=ji(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6256]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6257]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6254]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=25048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6252]=c[6252]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6253]=c[6253]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6256]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6256]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6256]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6258]|0)){p=(c[6255]|0)+g|0;c[6255]=p;c[6258]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6257]|0))return;c[6257]=0;c[6254]=0;return}if((m|0)==(c[6257]|0)){p=(c[6254]|0)+g|0;c[6254]=p;c[6257]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=25312+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6253]=c[6253]&~(1<<a);break}}else{if(f>>>0<(c[6256]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6256]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=25048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6256]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6252]=c[6252]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6256]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6257]|0)){c[6254]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{o=a;p=b}}else{c[6252]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=25312+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6253]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6256]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6253]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6260]|0)+-1|0;c[6260]=q;if(!q)a=25464;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6260]=-1;return}function Rb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+272|0;I=K+224|0;E=K+200|0;r=K+192|0;t=K+152|0;k=K+144|0;e=K+136|0;J=K+56|0;w=K+48|0;x=K+264|0;D=K+260|0;B=K+256|0;y=K+252|0;A=K+40|0;z=K+248|0;F=K+268|0;H=K+244|0;h=K+240|0;n=K+236|0;g=K+232|0;o=K+228|0;q=K;m=(d|0)==0?19329:d;c[J>>2]=b;c[J+4>>2]=m;Rh(4,20569,J);if(0){c[e>>2]=b;Eh(0,20590,e)|0}c[h>>2]=0;c[n>>2]=0;rd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Pj(d);v=qi(20339)|0;c[h>>2]=v;Pj(c[n>>2]|0);c[n>>2]=qi(b)|0;j=1}else{v=d;j=0}h=v;g=le(16)|0;do if(!(yf(v,20599)|0)){c[g+4>>2]=1;c[g+8>>2]=6;c[g+12>>2]=20599}else{if(!(yf(v,20834)|0)){c[g+4>>2]=2;c[g+8>>2]=7;c[g+12>>2]=20834;break}if(yf(v,19728)|0?yf(v,20995)|0:0){if(!(yf(v,21001)|0)){c[g+4>>2]=3;c[g+8>>2]=9;c[g+12>>2]=21001;break}if(!(yf(v,20339)|0)){c[g+4>>2]=4;c[g+8>>2]=10;c[g+12>>2]=20339;break}else{c[k>>2]=v;Di(21037,k)}}c[g+4>>2]=3;c[g+8>>2]=8;c[g+12>>2]=19728}while(0);c[o>>2]=g;d=q;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(19329?(l=(Je(b,m)|0)>>>0<0,l):0){g=l&1;u=22;break}if(!(Ib[c[g+8>>2]&15](b,q)|0)){Qi(o);Pj(v);Pj(c[n>>2]|0);d=0}else{g=0;u=22}}else{g=0;u=22}while(0);do if((u|0)==22){d=le(312)|0;c[d+4>>2]=qi(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;ad(d,m,v,e);s=(g|0)==0;if((s?(c[d+16>>2]=c[q>>2],n=q+8|0,o=c[n+4>>2]|0,b=d+24|0,c[b>>2]=c[n>>2],c[b+4>>2]=o,b=d+112|0,q=q+16|0,c[b>>2]=c[q>>2],c[b+4>>2]=c[q+4>>2],c[b+8>>2]=c[q+8>>2],c[b+12>>2]=c[q+12>>2],c[b+16>>2]=c[q+16>>2],c[b+20>>2]=c[q+20>>2],!(0<1|19329==0)):0)?(p=d+44|0,(gi(c[p>>2]|0)|0)!=0):0){me(c[p>>2]|0)|0;g=19329}else g=19329;if(g){Id(c[d+40>>2]|0);p=d+44|0;n=Dc(c[p>>2]|0)|0;c[H>>2]=n;do if(n){if(s){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){q=o;l=d+24|0;r=l;if((c[q>>2]|0)==(c[r>>2]|0)?(c[q+4>>2]|0)==(c[r+4>>2]|0):0){if(gi(c[d+48>>2]|0)|0){f=n;G=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;r=d+48|0;q=c[r>>2]|0;l=t;c[l>>2]=h;c[l+4>>2]=g;g=t+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=t+16|0;c[g>>2]=k;c[g+4>>2]=m;g=t+24|0;c[g>>2]=n;c[g+4>>2]=o;c[t+32>>2]=q;c[t+36>>2]=b;Rh(4,21126,t);Ki(H);Nf(c[p>>2]|0)|0;Nf(c[r>>2]|0)|0;g=d+52|0;if(gi(c[g>>2]|0)|0)Nf(c[g>>2]|0)|0;g=c[H>>2]|0;if(!g){g=b+1|0;u=44}else{f=g;G=d+24|0}}else{c[r>>2]=c[p>>2];Rh(4,21217,r);g=0;u=44}while(0);if((u|0)==44){u=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=J;c[j>>2]=u;c[j+4>>2]=((u|0)<0)<<31>>31;j=w;c[j>>2]=h;c[j+4>>2]=k;c[x>>2]=g;j=Nd(c[p>>2]|0,577)|0;c[D>>2]=j;c[B>>2]=1099424502;c[y>>2]=8192;g=A;c[g>>2]=0;c[g+4>>2]=0;c[z>>2]=0;k=ji(h|0,k|0,8191,0)|0;k=Ph(k|0,C|0,13)|0;nf(j,B,4);nf(j,y,4);nf(j,J,8);nf(j,w,8);nf(j,x,4);nf(j,z,4);nf(j,A,8);nf(j,A,8);nf(j,A,8);nf(j,A,8);g=d+136|0;h=eh(g,j,0,1)|0;if((h|0)!=64){B=c[p>>2]|0;c[E>>2]=j;c[E+4>>2]=B;B=E+8|0;c[B>>2]=h;c[B+4>>2]=((h|0)<0)<<31>>31;c[E+16>>2]=64;Di(21267,E)}a[F>>0]=0;eh(g,j,((k+7|0)/8|0)+-1|0,1)|0;wf(g,j,F,1);tg(D);c[D>>2]=Nd(c[d+48>>2]|0,577)|0;tg(D);g=Dc(c[p>>2]|0)|0;c[H>>2]=g;if(!g){c[I>>2]=c[p>>2];Di(21334,I)}else{f=g;G=l}}c[d+104>>2]=c[f+24>>2];I=G;if(!((c[I>>2]|0)==0&(c[I+4>>2]|0)==0)){f=Rf(c[f+52>>2]|0,0,1)|0;Od(c[(c[H>>2]|0)+52>>2]|0,J,1);G=ji(c[G>>2]|0,c[G+4>>2]|0,8191,0)|0;G=Ph(G|0,C|0,13)|0;G=(oj(J,0,(G|0)>8?8:G)|0)<<13;I=d+96|0;c[I>>2]=G;c[I+4>>2]=((G|0)<0)<<31>>31;eh(d+136|0,c[(c[H>>2]|0)+52>>2]|0,f,0)|0;f=c[H>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Nd(c[d+48>>2]|0,2)|0;if(Mg(19728,v)|0){c[J>>2]=0;j=d+52|0;if(gi(c[j>>2]|0)|0)Dg(c[j>>2]|0,J,0);do if(s){f=d+132|0;g=c[f>>2]|0;h=c[J>>2]|0;if(!g){if(!h)break;Nf(c[j>>2]|0)|0;break}else{if(!(gh(g,h)|0))break;I=vg(c[j>>2]|0,21364)|0;H=c[f>>2]|0;ih(I,H,Yd(H)|0);mh(I,c[j>>2]|0)|0;Pj(I);break}}else c[d+132>>2]=qi(c[J>>2]|0)|0;while(0);Pj(c[J>>2]|0)}}}else{if(!(gi(b)|0)){d=0;break}I=Nd(b,0)|0;c[d+56>>2]=I;Fe(I,J)|0;I=d+88|0;c[I>>2]=0;c[I+4>>2]=0;I=c[J+36>>2]|0;J=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=J;e=d+96|0;c[e>>2]=I;c[e+4>>2]=J;e=c[n>>2]|0}Pj(e)}while(0);i=K;return d|0}function Sb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10740;C=256;D=10866}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11190;C=-1;D=11316}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Tb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6256]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6257]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6254]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=25048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6252]=c[6252]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=25312+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6253]=c[6253]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6256]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6256]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6256]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6256]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6258]|0)){q=(c[6255]|0)+g|0;c[6255]=q;c[6258]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6257]|0))return;c[6257]=0;c[6254]=0;return}if((o|0)==(c[6257]|0)){q=(c[6254]|0)+g|0;c[6254]=q;c[6257]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=25312+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6253]=c[6253]&~(1<<d);break}}else{if(f>>>0<(c[6256]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6256]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6256]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=25048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6252]=c[6252]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6257]|0)){c[6254]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=25048+(d<<1<<2)|0;a=c[6252]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6256]|0)>>>0)Za();else{p=d;q=a}}else{c[6252]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=25312+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6253]|0;a=1<<b;if(!(d&a)){c[6253]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6256]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6256]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Ub(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Hi(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(af(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Mc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Vb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(yi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0}while((Fj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=dd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=dd(b)|0;if((d[24570+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){sg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[24570+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;sg(b,0);c[(yi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=dd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=fh(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=ji(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[24826+((e*23|0)>>>5&7)>>0]|0;j=a[24570+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Ph(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Lh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[24570+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Ui(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=fh(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=ji(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[24570+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0}while((d[24570+i>>0]|0)>>>0<e>>>0);c[(yi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(yi()|0)>>2]=34;g=ji(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(yi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Vh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Wb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=22063;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=22093;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=22115;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Xb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ye(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(yf(r,16827)|0)){j=g;h=k;N=4;break}s=Hi(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Fj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Yd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(zj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)aj(Q,o,(m|0)==0?17249:m)|0;else{l=th(o,f)|0;if(!l){l=th(o,20)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Xi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Wi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Mj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Mj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17249:m;l=th(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=mi(Q,o)|0;l=Wh(m)|0;if(!n){aj(Q,o,l)|0;break}else{Mh(n,l);break}}aj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Di(16838,z);break}case 34:{c[A>>2]=o;Di(16864,A);break}case 36:{c[K>>2]=o;Di(16903,K);break}case 38:{c[L>>2]=o;Di(16939,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Di(16972,B);break}case 43:{c[C>>2]=o;Di(16939,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Di(17014,D);break}case 48:{c[E>>2]=o;Di(17058,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Di(17093,F);break}case 53:{c[G>>2]=o;Di(17133,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Di(17169,H);break}case 57:{c[I>>2]=c[l>>2];Di(17210,I);break}case 65:{Di(17252,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Ub(d,13402)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){$e(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Og(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(yi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Mg(14214,f)|0))m=c[F>>2]|0;else{ag(F)|0;f=ag(F)|0;if(!f){O=20;break a}if((((Mg(14854,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(yf(f,14857)|0)if(yf(f,14861)|0){if(I?(g=yf(f,14865)|0,!((H|g|0)==0&G)):0)if(!(yf(f,14869)|0)){f=o;break}else{O=30;break a}if(!(yf(f,14956)|0)){O=34;break a}if(!(yf(f,14865)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Hi(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Qh(f+1|0)|0}if(!(Df(m,15008)|0)){if(o|0)c[e>>2]=qi(f)|0;if(k)h=qi(f)|0}}while(!(I&(Df(m,15017)|0)==0));if((Mg(15031,f)|0)!=0?(q=(Hi(f,32)|0)+1|0,r=Hi(q,45)|0,(r|0)!=0):0){l=r+1|0;m=pd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=pd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=se(f)|0;c[z+4>>2]=d;ci(14665,z);f=0;break}case 10:{c[v>>2]=d;ci(14702,v);f=0;break}case 11:{c[x>>2]=d;ci(14758,x);f=0;break}case 15:{c[y>>2]=2e3;ci(14790,y);f=0;break}case 20:{c[u>>2]=d;ci(14828,u);f=0;break}case 30:{if(!g)ci(14873,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ci(14916,E);f=0;break}case 34:{c[w>>2]=d;ci(14960,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ci(14985,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;rh(N,256,13504,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ci(15038,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?25632:15132;c[K+8>>2]=f?14857:14861;c[K+12>>2]=h|0?h:15148;ci(15158,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;rh(N,256,13504,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ci(15199,M);f=0}break}}i=P;return f|0}function Zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=ej(h)|0;c[b+16>>2]=e;f=zd(c[f>>2]|0)|0;if(!f){s=0;break}s=Yd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Pj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}we(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)gg(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Ig(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;we(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;xg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}_d(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Di(19080,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}_d(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){_d(b,f);s=1}else s=1}while(0);i=y;return s|0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((Mg(19343,b)|0)==0?(Mg(19351,b)|0)==0:0)?(Mg(19360,b)|0)==0:0){c[j>>2]=b;Di(19423,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Rh(4,19367,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=Vh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Rh(4,19658,m);tg(x);j=h+128|0;if((c[j>>2]|0)>0)tg(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Rh(4,19505,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6238]|0)){c[6238]=le(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=uf(j,k,c[6238]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=Vh(l|0,m|0,n|0,I|0)|0;J=C;I=ji(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;pg(19554,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=ji(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Di(19607,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=ji(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=te(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;rh(y,2048,19709,z)|0;j=hc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(Mg(19728,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Kc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Pj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Di(19733,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=uf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)pg(19762,G);else F=j;K=h+120|0;J=K;J=ji(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6256]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6372]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Tb(m,d);return a|0}if((k|0)==(c[6258]|0)){d=(c[6255]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6258]=l;c[6255]=m;return a|0}if((k|0)==(c[6257]|0)){e=(c[6254]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6254]=d;c[6257]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=25312+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6253]=c[6253]&~(1<<d);break}}else{if(h>>>0<(c[6256]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6256]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6256]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=25048+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6252]=c[6252]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Tb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Eh(0,21387,b)|0}b=d+112|0;if(c[b>>2]|0)tg(b);b=d+128|0;if(c[b>>2]|0)tg(b);Pj(c[d+4>>2]|0);Pj(c[d+8>>2]|0);Qi(d+12|0);Pj(c[d+40>>2]|0);Pj(c[d+44>>2]|0);Pj(c[d+48>>2]|0);Pj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)tg(b);Ki(d+80|0)}Qi(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(11863,11883,448,11899);h=ya()|0;c[s>>2]=h;if((h|0)<0)pg(11912,l);if(h|0)if(!(kh(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;pg(12450,k)}r=Ji()|0;c[s>>2]=r;if(kh(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;pg(11923,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=_g(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}jg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))ng(t);if(c[k>>2]|0)ng(m);g=0;f=0;j=h;h=k}if((b|0)==14)pg(11912,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){od(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];pg(12157,o)}od(k,0,h,e);h=Ng(1,f,g)|0;if((h|0)<0)pg(12068,p);if((h|0)==(g|0)){sh(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Di(12103,q)}}else if((b|0)==28){sh(0)|0;sh(1)|0;Oh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;jg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)pg(12230,u);else if((b|0)==35){c[v>>2]=h;Di(12245,v)}else if((b|0)==39){v=cf(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Di(12275,w)}else if((b|0)==41)Da(12330,11883,242,12354);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2099]|0;v=cf(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Eh(h,12373,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12420,11883,396,12440);else if((b|0)==49)_a(0)}}function cc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+64|0;J=K+8|0;I=K+56|0;H=K+52|0;E=K+48|0;D=K+44|0;F=K+40|0;G=K+16|0;if((c[a+12>>2]|0)!=-2003829722)Di(18718,K);ug(a);c[I>>2]=0;g=Qe(a,c[a+96>>2]|0,b,d,e,0)|0;c[H>>2]=g;A=c[a+8>>2]|0;B=c[a+16>>2]|0;y=a+80|0;b=c[y>>2]|0;if(!b)z=0;else z=pe(b)|0;t=(z|0)==0;u=G+20|0;v=G+4|0;w=G+16|0;x=G+12|0;b=g;a:while(1){if(!b){b=32;break}Ee(b,E,D);s=b+8|0;p=c[s>>2]|0;s=c[s+4>>2]|0;q=c[E>>2]|0;o=q+8|0;q=q+16|0;r=c[q>>2]|0;q=c[q+4>>2]|0;o=Vh(c[o>>2]|0,c[o+4>>2]|0,p|0,s|0)|0;q=ji(o|0,C|0,r|0,q|0)|0;r=C;Vf(A,p,s);s=pe(q)|0;Re(A,s,q,r);r=s;while(1){if((b|0)==(c[D>>2]|0))break;q=b+16|0;a=c[q>>2]|0;if(t){c[F>>2]=r;p=r+a|0}else{c[F>>2]=z;p=kf(r,a,z,c[y>>2]|0)|0;p=(c[F>>2]|0)+p|0}Rd(F,G,B);n=c[u>>2]|0;o=n>>>16;b:do switch(n&255|0){case 1:{g=0;while(1){if((g|0)==(o|0))break b;k=Fg(F,B)|0;a=Fg(F,B)|0;j=+Ie(F,B);k=k>>>0<d>>>0?d:k;a=a>>>0>e>>>0?e:a;if(k>>>0<a>>>0){n=If(f,24)|0;c[n+4>>2]=k;c[n+8>>2]=a;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}g=g+1|0}}case 2:{a=c[w>>2]|0;k=0;while(1){if((k|0)==(o|0))break b;l=Fg(F,B)|0;g=a+l|0;j=+Ie(F,B);l=l>>>0<d>>>0?d:l;g=g>>>0>e>>>0?e:g;if(l>>>0<g>>>0){n=If(f,24)|0;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}k=k+1|0}}case 3:{m=c[v>>2]|0;a=c[x>>2]|0;k=(c[w>>2]|0)+m|0;l=0;while(1){if((l|0)==(o|0))break b;j=+Ie(F,B);n=m>>>0<d>>>0?d:m;g=k>>>0>e>>>0?e:k;if(n>>>0<g>>>0){L=If(f,24)|0;c[L+4>>2]=n;c[L+8>>2]=g;h[L+16>>3]=j;c[L>>2]=c[I>>2];c[I>>2]=L}k=a+k|0;l=l+1|0;m=a+m|0}}default:{b=27;break a}}while(0);if((c[F>>2]|0)!=(p|0)){b=29;break a}b=c[b>>2]|0;r=r+(c[q>>2]|0)|0}Pj(s)}if((b|0)==27){c[J>>2]=18774;c[J+4>>2]=269;Di(21005,J)}else if((b|0)==29)Da(18790,18774,272,18810);else if((b|0)==32){Pj(z);Nh(H);dh(I);i=K;return c[I>>2]|0}return 0}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=kg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ji(m|0,l|0,-1,-1)|0;d=C;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;Vh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Vh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){ed(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)ed(a,d,e,f,o);else tc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}tc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;tc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;tc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(_e(a,b,d)|0){b=ai()|0;if((b|0)>=0){if((ae(b,1)|0)<0){sh(b)|0;b=-1;break}b:do if((tf(b,d,16)|0)<0){n=yi()|0;d=c[n>>2]|0;if((d|0)!=115){w=se(d)|0;c[e>>2]=d;c[e+4>>2]=w;ci(13338,e);sh(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Xf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=se(d)|0;c[t>>2]=d;c[t+4>>2]=C;ci(13114,t);sh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ci(13246,u);sh(b)|0;e=23;break}c[r>>2]=4;do if((df(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=se(d)|0;c[w>>2]=d;c[w+4>>2]=C;ci(13202,w);sh(b)|0;break}}else{B=c[n>>2]|0;C=se(B)|0;c[v>>2]=B;c[v+4>>2]=C;ci(13172,v);sh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((ae(b,0)|0)<0){sh(b)|0;b=-1;break}if((Bf(b,120)|0)<0){sh(b)|0;b=-1}}}else b=-1;else{ci(12994,x+24|0);b=-1}while(0);i=x;return b|0}function gc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,gg(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ze(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(gc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(yi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Ub(b,13398)|0))e=qf(b,0,r)|0;else{if((Mg(19343,b)|0)==0?(Mg(19351,b)|0)==0:0){if(!(Mg(19360,b)|0)){c[g>>2]=b;Di(14598,g)}lc(b,o);if(yf(o,21001)|0){c[f>>2]=b;Di(14261,f)}b=o+4112|0;g=qd(b,Vd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(wi(g,14308,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,rh(m,256,14315,j)|0,(wi(g,m,0,0)|0)==0):0){sh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Yd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14327:14332;c[k+4>>2]=j;rh(m,256,14337,k)|0;lj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Hi(j,40)|0;a[(Hi(j,41)|0)>>0]=0;if((Pe(s+1|0,14345,k,7)|0)!=6)Di(14347,h);f=(Vd(c[k+16>>2]|0)|0)<<8;f=fc(b,(Vd(c[k+20>>2]|0)|0)+f|0)|0;Fi(l);if((f|0)<0){sh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((sd(f,1e6)|0)>0){b=26;break}if((sd(g,0)|0)>0?(zc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ci(14383,n);sh(g)|0;sh(f)|0;e=-1;break}else if((b|0)==24){sh(g)|0;sh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}vd(c[2128]|0)|0;vd(c[2069]|0)|0;vd(c[2099]|0)|0;b=le(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;re(b+20|0,o|0,10280)|0;f=b+4|0;if(Sh(f)|0){c[p>>2]=se(c[(yi()|0)>>2]|0)|0;Di(14448,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=se(b)|0;c[q>>2]=b;c[q+4>>2]=s;Di(14552,q)}}}else{sh(g)|0;e=-1}while(0)}break}e=Yi(b,14242,0)|0}while(0);i=r;return e|0}function ic(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Ph(d|0,m|0,52)|0;e=e&2047;j=Ph(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Lh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Lh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Lh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Lh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Lh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Lh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Lh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Lh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Vh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Vh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=ji(d|0,f|0,0,-1048576)|0;d=C;e=Lh(e|0,0,52)|0;d=d|C;e=o|e}else{e=Ph(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;lc(b,h);if(yf(h,21001)|0){c[g>>2]=b;Di(13527,g)}b=h+6176|0;if(yf(b,20534)|0){p=qd(h+4112|0,Vd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;rh(k,256,13685,q)|0;c[t>>2]=0;do if(wi(p,k,t,0)|0){if((Pe(c[(c[t>>2]|0)+4>>2]|0,13414,l,3)|0)!=2)Di(13695,j);n=l+4|0;j=pd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Fi(t);c[s>>2]=b;rh(k,256,13731,s)|0;if(!(wi(p,k,t,0)|0)){sh(p)|0;f=0;break}b=Pe(c[(c[t>>2]|0)+4>>2]|0,13414,l,3)|0;if((b|0)!=2){c[m>>2]=b;Di(13741,m)}j=c[n>>2]|0;if((Yd(j)|0)>>>0<14){c[o>>2]=j;Di(13783,o)}b=s;g=13832;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,13852,q|0)|0)){c[r>>2]=s;Di(13870,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Di(13903,u)}else{c[e>>2]=b;Fi(t);sh(p)|0;f=1;break}}else{sh(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Yd(b)|0)>>>0>4095){c[e>>2]=b;Di(13379,e)}Ij(f,b)|0;zi(f)|0;b=Ub(f,13398)|0;if(!b){a[d>>0]=a[19728]|0;a[d+1>>0]=a[19729]|0;a[d+2>>0]=a[19730]|0;a[d+3>>0]=a[19731]|0;a[d+4>>0]=a[19732]|0}else{a[b>>0]=0;Ch(f)|0;Of(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Hi(f,47)|0;if(g){$e(g,b,e,1);if(!((Df(d,19728)|0)!=0?(Df(d,20995)|0)!=0:0)){e=Sd(g,13414,13416)|0;Of(d+6176|0,4096,e);Pj(e)}a[g>>0]=0;if(!(Df(d,21001)|0)){g=g+1|0;Xd(g,d+6176|0,Yd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Hi(f,64)|0;if(!g){if(!((Df(d,19728)|0)!=0?(Df(d,20995)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Df(d,21001)|0)){b=d+16|0;e=13420;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13430;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Hi(f,58)|0;if(!b){e=d+16|0;Of(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Of(e,2048,f);f=d+2064|0;Of(f,2048,b+1|0);b=f}Dd(e,e,Yd(e)|0);Dd(b,b,Yd(b)|0);f=g+1|0}b=Hi(f,58)|0;do if(!b){if(!(Df(d,19728)|0)){h=d+6160|0;a[h>>0]=a[13448]|0;a[h+1>>0]=a[13449]|0;a[h+2>>0]=a[13450]|0}if(!(Df(d,20995)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Df(d,21001)|0)){h=d+6160|0;a[h>>0]=a[13451]|0;a[h+1>>0]=a[13452]|0;a[h+2>>0]=a[13453]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Of(d+6160|0,16,e);break}else{c[h>>2]=e;Di(13454,h)}}while(0);Of(d+4112|0,2048,f);i=j;return}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var f=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+16|0;u=v;t=v+4|0;c[t>>2]=0;a:do switch(c[a+4>>2]|0){case 0:{q=0;j=0;k=0;r=mi(c[a+12>>2]|0,b)|0;b:while(1){if(!r){a=17;break}if(yf(c[r+4>>2]|0,b)|0){a=17;break}f=c[r+16>>2]|0;c:do switch(f|0){case 1:{f=q;a=r+20|0;while(1){a=c[a>>2]|0;if(!a){a=k;break c}k=If(d,24)|0;c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];h[k+16>>3]=+g[a+12>>2];c[k>>2]=f;c[t>>2]=k;f=k;j=k}}case 2:{l=c[r+20>>2]|0;m=c[r+28>>2]|0;n=e[r+32>>1]|0;f=q;a=k;k=0;while(1){if((k|0)==(n|0))break c;a=If(d,24)|0;f=c[l+(k<<3)>>2]|0;c[a+4>>2]=f;c[a+8>>2]=f+m;h[a+16>>3]=+g[l+(k<<3)+4>>2];c[a>>2]=j;c[t>>2]=a;j=a;f=a;k=k+1|0}}case 3:{m=c[r+20>>2]|0;n=c[r+28>>2]|0;o=c[r+24>>2]|0;p=e[r+32>>1]|0;a=k;f=q;k=0;l=c[r+8>>2]|0;while(1){if((k|0)==(p|0))break c;j=If(d,24)|0;c[j+4>>2]=l;c[j+8>>2]=l+n;h[j+16>>3]=+g[m+(k<<2)>>2];c[j>>2]=a;c[t>>2]=j;a=j;f=j;k=k+1|0;l=l+o|0}}default:{a=15;break b}}while(0);q=f;k=a;r=c[r>>2]|0}if((a|0)==15){c[u>>2]=f;Di(12737,u)}else if((a|0)==17){dh(t);s=c[t>>2]|0;break a}break}case 1:{s=c[a+20>>2]|0;s=cc(s,b,0,hg(s,b)|0,d)|0;c[t>>2]=s;break}default:s=0}while(0);i=v;return s|0}function nc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[84+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[84+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function oc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Vf(t,f,g);Re(t,s,1,0);Re(t,w+32|0,1,0);u=c[b+12>>2]|0;v=Tg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;Rh(3,16276,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=Sg(t,u)|0;c[p+(f<<2)>>2]=Sg(t,u)|0;c[q+(f<<2)>>2]=Sg(t,u)|0;c[r+(f<<2)>>2]=Sg(t,u)|0;g=Uf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(rf(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;oc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=Sg(t,u)|0;s=Sg(t,u)|0;e=Sg(t,u)|0;b=Sg(t,u)|0;f=Uf(t,u)|0;g=C;m=Uf(t,u)|0;n=C;if(rf(h,j,k,r,s,e,b)|0){b=le(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function pc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Li(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Li(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Li(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Li(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=Li(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Li(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Li(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function qc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=$h(512)|0;lc(b,s);h=ab(14022)|0;p=(h|0)!=0;if(p){lc(h,q);re(r|0,q|0,10280)|0;h=ef(r,b)|0}else{re(r|0,s|0,10280)|0;h=ef(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=qi(b)|0;j=sj(b,59)|0;if((j|0)!=0?(Mg(13402,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Fh(k,14033,l);Pj(b);c[m>>2]=f;Fh(k,14044,m);if((yf(s,19728)|0)==0?(yf(13448,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((yf(s,20995)|0)==0?(yf(13483,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Fh(k,14072,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Fh(k,14061,n)}b=c[t>>2]|0;re(r|0,s|0,10280)|0;Ae(r,14086,b);if(p){re(r|0,q|0,10280)|0;Ae(r,14100,b);k=c[t>>2]|0}else k=b;mj(k,14120);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Fh(k,14159,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Fh(k,14134,u);break}}while(0);if(g|0)mj(c[t>>2]|0,g);v=c[t>>2]|0;mj(v,14180);nf(h,c[v+4>>2]|0,c[v+12>>2]|0);Fi(t)}i=w;return h|0}function rc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=le(120)|0;c[l+4>>2]=qi(a)|0;m=Xg(a,wk()|0)|0;c[l+8>>2]=m;Re(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Vj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Di(21596,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=Tg(m,n)|0;g=l+26|0;b[g>>1]=Tg(m,n)|0;h=Uf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Uf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Uf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=Tg(m,n)|0;b[l+58>>1]=Tg(m,n)|0;j=Uf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Uf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Sg(m,n)|0;j=Uf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=le(32)|0;c[j+4>>2]=Sg(m,n)|0;c[j+8>>2]=Sg(m,n)|0;p=Uf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Uf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}dh(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Vf(m,g,h);b[l+104>>1]=Tg(m,n)|0;b[l+106>>1]=Tg(m,n)|0;p=Uf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Vf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=hd(a,m)|0;i=o;return l|0}function sc(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 tc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((Ib[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((Ib[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((Ib[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){Ld(b,p,e);ed(a,b,d,g,h)}i=r;return}function uc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=fh(f|0,b|0,10,0)|0;f=C;e=ji(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ji(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Vh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Rh(4,19804,p);f=b+36|0;e=0;while(1){d=ye(0,1)|0;c[p>>2]=d;d=Cj(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=bi(c[p>>2]|0,19890)|0;c[f>>2]=qi(d)|0;d=te(a,d)|0;$d(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;ci(19837,g);n=0}else if((h|0)==7){d=bi(c[p>>2]|0,19900)|0;do if(!d){d=Ge(a)|0;e=C;if((e|0)<0){$d(p);c[j>>2]=a;Di(19916,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=pd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=bi(c[p>>2]|0,19983)|0;if(!d){d=bi(c[p>>2]|0,19998)|0;if(!d){$d(p);c[m>>2]=a;Di(20004,m)}else o=d}else o=d;if(!(Ua(o|0,20079,k|0)|0)){$d(p);c[l>>2]=o;Di(20104,l)}d=Lf(k)|0;if((d|0)==-1){$d(p);c[q>>2]=o;Di(20146,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;$d(p);n=200;break}}while(0);i=r;return n|0}function wc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Vf(c[t>>2]|0,d,e);Re(c[t>>2]|0,o,1,0);Re(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=Tg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Re(c[t>>2]|0,r,q,h);e=Uf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=af(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Re(c[t>>2]|0,r,q,h);e=Uf(c[t>>2]|0,p)|0;d=C;j=af(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=ej(c[t>>2]|0)|0;m=C;wc(b,k,l,f,g);Vf(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}wc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Re(c[t>>2]|0,r,q,d);Re(c[t>>2]|0,j,c[h>>2]|0,0);if(!(af(f,r,q)|0))li(g,Mi(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[6239]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Li(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Li(yb(146,m|0)|0)|0;la(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 yc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Mc(24565,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Hi(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Hi(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6240]|0))c[e+76>>2]=-1;mb(24984);f=c[6245]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6245]=e;eb(24984)}}else{c[(yi()|0)>>2]=22;e=0}i=o;return e|0}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=$h(4096)|0;while(1){if((sd(b,1e6)|0)<=0){j=3;break}g=Og(b,m,4096)|0;if(g){sf(c[o>>2]|0,m,g);if(!(Jh(c[(c[o>>2]|0)+4>>2]|0,13611)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Yd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Yd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ci(13567,n);g=0}else if((j|0)==18){g=Vd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ci(13613,p);g=0;break}if(!e)Fi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Ac(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Vf(c[n>>2]|0,d,e);Re(c[n>>2]|0,p,1,0);Re(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Tg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Re(c[n>>2]|0,l,c[k>>2]|0,0);q=Uf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;Ac(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Re(c[n>>2]|0,l,c[k>>2]|0,0);Re(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function Bc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?25004:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8628+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(yi()|0)>>2]=84;f=-1}i=l;return f|0}function Cc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Og(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Vh(1,0,g|0,e|0)|0;b=ji(b|0,C|0,d|0,h|0)|0}r=(Ng(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)eg(14496,l);if((b|0)==-1)eg(14527,o);sh(c[m>>2]|0)|0;sh(c[a+12>>2]|0)|0;sh(c[n>>2]|0)|0;i=q;return 0}function Dc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=qf(a,2,h)|0;if((e|0)<0)if((c[(yi()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;pg(21076,d)}else{Fe(e,h)|0;if((c[h+36>>2]|0)<64){sh(e)|0;b=0}else{Od(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Vj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Di(21099,j)}}else f=0;b=le(56)|0;c[b+4>>2]=Qg(e,f)|0;g=Sf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Sf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Qg(e,f)|0;Qg(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Kd(b);break}if((sh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Di(12608,k)}}else{if(!(c[a+20>>2]&2)){if(hh(d)|0){c[f>>2]=c[a+12>>2];Di(12577,f)}}else{vd(d)|0;if(hh(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Di(12547,e)}}if((Be(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Di(12608,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)pg(12230,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Di(12638,l)}if(b|0)Da(12679,11883,435,12697);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Di(12713,m)}i=n;return d>>>8&255|0}function Fc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=sk(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)rk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Gc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Vf(c[n>>2]|0,d,e);Re(c[n>>2]|0,h,1,0);Re(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Tg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Re(c[n>>2]|0,l,d,0);e=Uf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Re(c[n>>2]|0,l,c[k>>2]|0,0);if((af(f,l,c[k>>2]|0)|0)<0)break;e=Uf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Gc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Re(c[n>>2]|0,l,d,0);Re(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(af(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Hc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=qi(25632)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(zj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=le(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(zj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;rh(h,4,11677,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ze(b|0,0,e|0)|0;return b|0}function Jc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=$h(512)|0;c[h>>2]=f;mj(f,b);mj(f,13398);d=b+16|0;if(a[d>>0]|0){d=Hc(d)|0;mj(f,d);Pj(d);d=b+2064|0;if(a[d>>0]|0){mj(f,13479);d=Hc(d)|0;mj(f,d);Pj(d)}mj(f,13481)}mj(f,b+4112|0);if(!((yf(b,21001)|0)==0?!(yf(13451,b+6160|0)|0):0))e=7;do if((e|0)==7){if((yf(b,19728)|0)==0?(yf(13448,b+6160|0)|0)==0:0)break;d=b+6160|0;if((yf(b,20995)|0)==0?(yf(13483,d)|0)==0:0)break;mj(f,13479);mj(f,d)}while(0);mj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Fh(f,13487,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Fh(f,13504,k)}k=Ah(h)|0;i=l;return k|0}function Kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Yb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}sh(a)|0;if((h|0)>0)Pj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Mg(19343,f)|0)==0?(Mg(19351,f)|0)==0:0){g=11;break}f=te(g,f)|0;c[j>>2]=f;a=hc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ci(15247,k);g=14}else if((g|0)==11){c[l>>2]=f;ci(15301,l);g=14}else if((g|0)==13){c[m>>2]=f;ci(21370,m);g=14}if((g|0)==14)if((b|0)>0){Pj(f);b=0}else b=0;i=n;return b|0}function Lc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){re(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;re(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){re(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Mc(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|0)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?b:0)|0}function Nc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Li(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(yi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Li(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;pc(e,2,j)|0}if(b&2048){c[h>>2]=pc(e,3,k)|0|2048;pc(e,4,h)|0}}}}while(0);i=l;return e|0}function Oc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6239]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Li(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Li(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Rc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16114,16166,388,16178);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Ti(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)dh(b);d=d+1|0}Pj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=le(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Re(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=Vj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Di(16232,j)}}else f=0;c[d+24>>2]=Sg(b,f)|0;j=Uf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=Sg(b,f)|0;c[d+44>>2]=Sg(b,f)|0;c[d+48>>2]=Sg(b,f)|0;c[d+52>>2]=Sg(b,f)|0;g=Uf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=Sg(b,f)|0;Re(b,h,4,0);b=ej(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Tc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Rh(4,20839,p);$g(500);l=a+5|0;k=id(l,20746)|0;c[p>>2]=k;Aj(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}$g(250);g=e-j|0;g=Af(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Rh(4,20892,m);if(hh(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;ci(20914,o);c[n>>2]=l;pg(20798,n)}else if((g|0)==6){cj(p);i=q;return a|0}return 0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=le(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=$h(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){mj(e,11811);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){mj(e,13414);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}mj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Ah(j)|0;if(!(c[a>>2]|0))Di(11815,k);if(!(b&8))e=0;else{Mh(l,Ne(8,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Mh(l,Ne(d,l)|0);e=e+1|0}i=m;return l|0}function Vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=sk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;re(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(ne(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)rk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)rk(f);return e|0}function Wc(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(!(vf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);re(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 Xc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{re(l|0,b|0,d|0)|0;Ze(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Di(16754,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Gc(a,j,k,l,g)|0;else{wc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Zc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Yd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function _c(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=le(16)|0;else l=If(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=nj(d,e)|0;else{k=If(h,e+1|0)|0;c[l+4>>2]=k;re(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Rc(b,pi(m)|0);return l|0}function $c(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=xk()|0;mk(24872)|0;if((c[6225]|0)!=0&(a|0)==(c[6226]|0)){Ng(2,12777,61)|0;_a(1)}kk(24872)|0;mk(24908)|0;mk(24872)|0;c[6226]=a;c[6225]=1;kk(24872)|0;if(!(c[6234]|0))c[6234]=ye(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;rh(d,64,13504,b)|0;a=ff(c[6234]|0,d)|0;if(!a){a=le(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=aj(c[6234]|0,d,a)|0}mk(24872)|0;c[6225]=0;kk(24872)|0;kk(24908)|0;i=e;return c[a+8>>2]|0}function ad(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=$h(Yd(f)|0)|0;c[j>>2]=g;h=f;f=Hi(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;mj(g,h);mj(g,20534);m=f+1|0;h=m;f=Hi(m,47)|0}mj(g,h);f=Ah(j)|0;j=Yd(d)|0;m=Yd(e)|0;m=j+3+m+(Yd(f)|0)|0;j=le(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;rh(j,m,20536,k)|0;c[b+44>>2]=og(b,20545)|0;c[b+48>>2]=og(b,20552)|0;c[b+52>>2]=og(b,20563)|0}i=l;return}function bd(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Yi(b,d,0)|0;if((d|0)>-1){b=Rg(b,1,d)|0;c[h>>2]=b;a:do if((((Zb(b,g,0)|0)!=0?(Mg(14214,c[g>>2]|0)|0)!=0:0)?(ag(g)|0,f=ag(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Vd(f)|0;if(e)while(1){if(!(Zb(c[h>>2]|0,g,0)|0))break a;f=ag(g)|0;if(!f)break a;b=Bh(f)|0;aj(e,b,qi(Qh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Kd(h)}else d=c[(yi()|0)>>2]|0;i=j;return d|0}function dd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=ig(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ed(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((Ib[d&15](k,j)|0)>-1?(Ib[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Ib[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Ld(b,o,e);i=p;return}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8832;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(yi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Fc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function gd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b;while(1){b=g;d=0;while(1){if(((a[b>>0]|0)+-48|0)>>>0>=10)break;b=b+1|0;d=d+1|0}b=c;e=0;while(1){if(((a[b>>0]|0)+-48|0)>>>0>=10)break;b=b+1|0;e=e+1|0}if((e|d|0)>-1){f=Vd(g)|0;b=Vd(c)|0;if((f|0)!=(b|0)){c=f;h=11;break}c=c+e|0;d=g+d|0}else d=g;e=Zg(d)|0;if((e|0)!=(Zg(c)|0)){b=d;h=13;break}if(!e){b=0;break}b=af(d,c,e)|0;if(b|0)break;g=d+e|0;c=c+e|0}if((h|0)==11)b=c-b|0;else if((h|0)==13)b=yf(b,c)|0;return b|0}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=le(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Re(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Vj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Di(16715,j)}}else f=0;c[d+12>>2]=Sg(b,f)|0;c[d+16>>2]=Sg(b,f)|0;c[d+20>>2]=Sg(b,f)|0;g=Uf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Re(b,h,4,0);Re(b,h,4,0);b=ej(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(yf(b,19048)|0){if(!(yf(b,15508)|0)){f=c[2069]|0;break}e=de(b,d)|0;if(!e){a:do if(!d)e=25632;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15536;break a}case 119:{e=15526;break a}default:{e=e<<24>>24==97?15515:25632;break a}}}while(0);d=se(c[(yi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Di(15545,g)}else f=e}else f=c[2128]|0;while(0);i=h;return f|0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;rd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=le(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;ad(a,b,h,d);c[e>>2]=0;b=a+44|0;j=Wh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=Wh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=Wh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;dh(e);Pj(c[a+40>>2]|0);Pj(c[b>>2]|0);Pj(c[f>>2]|0);Pj(a);Pj(h);Pj(d);d=c[e>>2]|0}i=g;return d|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(jf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ak(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;ik(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ci(15422,f);b=0;break}}else{xf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function ld(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=le(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[21531+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[21531+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[21531+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[21531+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function md(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18634+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18634+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function nd(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0.0,g=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;o=i;i=i+32|0;n=o;f=0.0;g=0;l=0;j=0.0;while(1){k=(b|0)==0;if(!k?(m=+h[b+16>>3],!(m<d)):0){p=+(((c[b+8>>2]|0)-(c[b+4>>2]|0)|0)>>>0);f=f+p;g=b;l=(l|0)==0?b:l;j=j+m*p}else{if(l){l=c[l+4>>2]|0;g=c[g+8>>2]|0;c[n>>2]=a;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j/f;Eh(e,11608,n)|0;f=0.0;g=0;j=0.0}if(k)break;else l=0}b=c[b>>2]|0}i=o;return}function od(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))pg(11956,k);l=Ji()|0;if(kh(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Ji()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;pg(11979,f)}if(b|0?(yg(b,0)|0)<0:0)pg(12006,g);if((d|0)!=1?(yg(d,1)|0)<0:0)pg(12026,h);if((e|0)!=2?(yg(e,2)|0)<0:0)pg(12047,j);Oh();i=k;return}function pd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Fj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=fh(c|0,d|0,10,0)|0;b=b+1|0;c=Vh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Vh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function qd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=fc(a,b)|0;if((a|0)<0)a=-1;else{if((sd(a,1e6)|0)>0)wi(a,25632,0,0)|0;c[g>>2]=0;c[h>>2]=d;rh(f,256,13656,h)|0;do if(wi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,rh(f,256,13666,j)|0,(wi(a,f,0,0)|0)==0):0){sh(a)|0;a=-1;break}if(!(wi(a,13676,0,0)|0)){sh(a)|0;a=-1}}else{sh(a)|0;a=-1}while(0)}i=k;return a|0}function rd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Hi(b,58)|0;if(!h)h=0;else{m=nj(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Hi(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){De(l,1024,b,k+1-b|0);c[g>>2]=Td(l)|0}j=Hi(b,47)|0;if(!j)j=b+(Yd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Td(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Xf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(yi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=se(a)|0;ci(13509,m)}i=n;return a|0}function td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=qf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=le(5)|0;c[g>>2]=f;if((Og(e,f,4)|0)<4)Qi(g);else a[f+4>>0]=0;sh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=ge(e)|0,Qi(h),(g|0)!=0):0){h=Yg(Xe(b)|0,33,b,0)|0;e=Rg(b,d,_j(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function ud(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Qc(g,21676,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ve(g)|0;i=j;return h|0}ve(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function vd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=fe(a)|0;break}d=(sk(a)|0)==0;b=fe(a)|0;if(!d)rk(a)}else{if(!(c[2098]|0))b=0;else b=vd(c[2098]|0)|0;mb(24984);a=c[6245]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=sk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=fe(a)|0|b;if(d|0)rk(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(24984)}while(0);return b|0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;d=0;e=f;while(1){if(!e){g=d;break}d=d+1|0;e=c[e>>2]|0}if((g|0)>1){h=pe(g<<2)|0;d=f;e=0;while(1){if(!d)break;c[h+(e<<2)>>2]=d;d=c[d>>2]|0;e=e+1|0}ec(h,g,4,b);d=0;e=0;while(1){if((d|0)==(g|0))break;b=h+(d<<2)|0;c[c[b>>2]>>2]=e;d=d+1|0;e=c[b>>2]|0}Pj(h);d=0;while(1){if(!e)break;g=c[e>>2]|0;c[e>>2]=d;h=e;e=g;d=h}c[a>>2]=d}return}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=lg(e,0)|0;c[n>>2]=g;Jg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=lg(d,e)|0;else if(!f){e=qf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;pg(12516,k)}else j=e}else j=0;c[m>>2]=j;e=Ff(a,b,j,g)|0;ng(m);if(!l)ng(n);i=o;return e|0}function yd(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[(yi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function zd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=pe(k)|0;re(j|0,d|0,e|0)|0;Pj(c);d=j;e=k;c=j}k=Pb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=qi(d)|0;Pj(c);c=l}i=h;return c|0}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;g=k;f=k+20|0;e=+qg(b);c[g>>2]=a;c[g+4>>2]=d;h[g+8>>3]=e;Ih(11621,g)|0;b=ie(a)|0;c[g>>2]=b;c[f>>2]=id(d,18918)|0;b=Ed(b)|0;while(1){if(!b)break;a=b+4|0;c[j>>2]=a;Rh(2,11658,j);d=uh(0)|0;c[j>>2]=d;d=mc(c[g>>2]|0,a,d)|0;nd(a,d,e,c[f>>2]|0);Ai(j);b=c[b>>2]|0}oi(g);cj(f);i=k;return}function Bd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Rh(4,20605,j);h=We(a)|0;n=id(h,20746)|0;c[j>>2]=n;Aj(n,b,0)|0;a=Af(g+256|0,f,e,n)|0;if(!(hh(n)|0)){cj(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;ci(20749,k);c[l>>2]=h;pg(20798,l)}return 0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Rh(4,20224,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(kc(a,f,e)|0){a=Lf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Di(20256,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function Dd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Hh(f,11673,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ed(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[d>>2]=0;switch(c[a+4>>2]|0){case 0:{a=Hf(c[a+12>>2]|0)|0;c[b>>2]=a;while(1){if(!a)break;Ci(d,c[a+4>>2]|0)|0;a=c[a>>2]|0}dk(b);break}case 1:{a=Wg(c[a+20>>2]|0)|0;c[b>>2]=a;while(1){if(!a)break;Ci(d,c[a+4>>2]|0)|0;a=c[a>>2]|0}rg(b);break}default:{}}wd(d,1);i=e;return c[d>>2]|0}function Fd(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;Ze(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){Wc(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;Wc(h,f,a)|0}while(0);i=j;return}function Gd(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(!(vf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Hd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Gh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=fd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Gh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Id(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(gi(b)|0)){c=(Yd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Ij(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Hi(b,47)|0;if(!b){mg(e)|0;b=0;continue}else{a[b>>0]=0;mg(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(sk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Gd(d,b)|0;rk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Gd(d,b)|0}while(0);return e|0}function Kd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Gi(c[2128]|0)|0):0){sh(c[d>>2]|0)|0;Pj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else di(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);Pj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)$d(g);Qi(b)}return}function Ld(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;re(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;re(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;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=Vh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,Vh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Vh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(yf(a,19048)|0)if(yf(a,15508)|0){c[d>>2]=436;d=qf(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15536:15515;else d=15526;else d=15689;else d=15665;c[f>>2]=a;c[f+4>>2]=d;pg(15700,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Od(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Og(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;pg(15728,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Di(15753,g)}else if((d|0)==8){i=h;return}}function Pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function Qd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(Fj(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(Fj(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Rd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=Fg(h,f)|0;c[e+4>>2]=Fg(h,f)|0;c[e+8>>2]=Fg(h,f)|0;c[e+12>>2]=Fg(h,f)|0;c[e+16>>2]=Fg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=oh(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Yd(b)|0;h=Yd(c)|0;d=0;e=Ub(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Ub(e+g|0,b)|0}f=Yd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=le((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Ub(a,b)|0;d=f;while(1){if(!a)break;Ij(d,e)|0;j=a+g|0;i=d+(a-e)|0;Ij(i,c)|0;e=j;a=Ub(j,b)|0;d=i+h|0}Ij(d,e)|0;return f|0}function Td(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(Eg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=le(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(Eg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;Dh(g,20528,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Ud(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Lh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Vd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Fj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Xd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Hh(f,11673,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Yd(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 Zd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ph(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Zd(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 _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(ff(c[e>>2]|0,d)|0)){aj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Eh(g,19076,h)|0}}}while(0);i=j;return}function $d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Dj(d);d=g}e=e+1|0}}else{Ai(b);b=d+8|0}while(0);Pj(c[b>>2]|0);Qi(a)}return}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=pc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((pc(a,4,f)|0)<0){c[g>>2]=se(c[(yi()|0)>>2]|0)|0;ci(13083,g);d=-1}else d=0}else{c[e>>2]=se(c[(yi()|0)>>2]|0)|0;ci(13052,e);d=-1}i=h;return d|0}function be(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=24848;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function ce(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18642+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18650+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18650+f>>0]}while(0);return}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Mc(24565,a[d>>0]|0,4)|0){h=Pf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Li(jb(5,e|0)|0)|0;if((e|0)>=0){b=yc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(yi()|0)>>2]=22;b=0}i=g;return b|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Di(16465,d)}d=Lj(a,b)|0;if(!d){g=c[(yi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Di(16529,e)}else{i=f;return d|0}return 0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Mg(18920,a)|0))if(!(Mg(18923,a)|0))if(!(Mg(18927,a)|0))if(!(Mg(18930,a)|0))a=0;else{a=18935;e=5}else{a=18939;e=5}else{a=18943;e=5}else{a=18945;e=5}if((e|0)==5){c[d>>2]=a;rh(b,20,18948,d)|0;a=qi(b)|0}i=f;return a|0}function he(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=Vh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Vh((dc(h,g,Vh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function ie(a){a=a|0;var b=0,d=0,e=0;e=le(24)|0;if(!(cg(a)|0)){d=uh(0)|0;c[e+16>>2]=d;d=Ob(a,0,0,512,d)|0;c[e+8>>2]=d;a=ye(0,1)|0;while(1){if(!d)break;b=d+4|0;if(!(ff(a,c[b>>2]|0)|0))aj(a,c[b>>2]|0,d)|0;d=c[d>>2]|0}c[e+12>>2]=a;c[e+4>>2]=0}else{c[e+4>>2]=1;c[e+20>>2]=Jj(a)|0}return e|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;sg(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ke(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=Ug(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ui(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 le(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Di(16601,b)}b=gk(a)|0;if(!b){f=c[(yi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Di(16654,d)}else{Ze(b|0,0,a|0)|0;i=e;return b|0}return 0}function me(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(gi(a)|0)){d=de(a,18918)|0;c[b>>2]=d;if(!d){a=0;break}else{cj(b);a=1;break}}else{f=xi()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;ci(18888,d);a=0;break}}while(0);i=e;return a|0}function ne(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18582;break}case 2:{a=18561;break}case -1:{a=18550;break}case -2:{a=18534;break}case -3:{a=18534;break}case -4:{a=18519;break}case -5:{a=18504;break}case -6:{a=18485;break}case 0:{a=0;break}default:{c[b>>2]=a;rh(25504,128,18466,b)|0;a=25504}}i=d;return a|0}function pe(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Di(16341,b)}b=gk(a)|0;if(!b){f=c[(yi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Di(16399,d)}else{i=e;return b|0}return 0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(yi()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;re(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 se(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22633+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22721;e=5;break}}if((e|0)==2)if(!c)b=22721;else{b=22721;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 te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;lc(b,g);lc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Of(e,2048,d);Of(f+2064|0,2048,g+2064|0)}g=Jc(f)|0;i=h;return g|0}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Cg(b,d)|0))break;if((Mg(19265,c[d>>2]|0)|0)==0?(Mg(19273,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Rh(2,19316,f)}if((g|0)==5){c[e>>2]=c[d>>2];Rh(2,19279,e);a[b+48>>0]=1}i=h;return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function xe(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Di(15331,k)}else{c[j>>2]=e;Si(d,j)}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16114,16166,357,16221);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=uh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Ti(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function ze(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;sg(j,0);e=Vb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Ae(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;rh(h,256,14001,j)|0;j=ld(h,Yd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Fh(e,14007,k);Qi(g)}i=l;return}function Be(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(24984);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6245]|0)==(a|0))c[6245]=b;eb(24984)}b=vd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function Ce(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=Rf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=15930;else e=(d|0)==2?15889:15898;else e=15921;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;pg(15939,g);return 0}function De(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Di(16054,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;hj(b,e,f)|0;a[b+g>>0]=0;i=j;return}function Ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=ji(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){be(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Li(Pa(195,f|0)|0)|0}else d=Li(d)|0;i=g;return d|0}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;rh(g,4096,14225,e)|0;a=ye(0,1)|0;c[e>>2]=a;if(((cd(g,14242,a)|0)==206?(b=bi(a,14246)|0,(b|0)!=0):0)?(d=Hi(b,47)|0,(d|0)!=0):0){b=pd(d+1|0)|0;a=C}else{a=-1;b=-1}$d(e);C=a;i=f;return b|0}function He(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2069]|0;if((c[f+76>>2]|0)>-1)g=sk(f)|0;else g=0;do if((wj(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=(Gd(f,10)|0)<0}while(0);if(g|0)rk(f);return d<<31>>31|0}function Ie(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=Zi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function Je(a,b){a=a|0;b=b|0;var d=0,e=0;d=xi()|0;a=jd(a,(b|0)==0?19329:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Jh(e,20545)|0){if(!(gi(e)|0))break a;if((Vg(e)|0)>>>0<b>>>0)b=Vg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function Ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Pj(e);f=f+1|0}Pj(b);Pj(i);i=h}Qi(g+12|0);Qi(g+28|0);Qi(a)}return}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Mj(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Di(19217,g);return +(0.0)}function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Di(19169,f)}j=Vd(d)|0;i=g;return j|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=le((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=qi(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Rh(4,20962,d);$g(500);if((lh(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Pc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Yc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Qe(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(vi(k,d,Yd(d)|0,h,8)|0))a=0;else{Kh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=$f(b,a,e,f)|0}i=j;return a|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Pb(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Di(20476,g)}else{i=h;return}}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Rh(4,20806,d);if((lh(We(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2069]|0);if((b|0)==(c[2128]|0)|d)if(d){vd(b)|0;b=1}else b=1;else if(!(Be(b)|0))b=1;else{eg(15989,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Vc(b,d,1,a)|0)!=1:0){b=hh(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Di(15634,f)}else{f=se(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Di(15605,e)}}i=g;return}function Ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=ph(b)|0;do if((f|0)!=0?(yf(f,17249)|0)!=0:0){d=Xi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Di(16972,h)}else e=d;while(0);i=j;return e|0}function We(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(Mg(20653,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Di(20660,e);if(((((Ub(b,20687)|0)==0?(Hi(b,126)|0)==0:0)?(Ub(b,20690)|0)==0:0)?(Ub(b,20693)|0)==0:0)?(Jh(20697,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Di(20700,d);return 0}function Xe(a){a=a|0;var b=0;b=qi(a)|0;if(!(((Mg(19343,a)|0)==0?(Mg(19351,a)|0)==0:0)?!(Mg(19360,a)|0):0))Dd(a,b,Yd(a)|0);if(!(Jh(b,18960)|0))if(!(Jh(b,18964)|0))if(!(Jh(b,18967)|0)){a=(Jh(b,18972)|0)==0;a=a?0:36}else a=72;else a=60;else a=48;Pj(b);return a|0}function Ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Ti(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Di(17370,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ze(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 _e(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Hj(e&65535)|0;if(d){h=bk(kd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=sj(b,59)|0;if((g|0?Mg(13402,g)|0:0)?(i=(Hi(g,61)|0)+1|0,h=Hi(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=pd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=pd(b)|0;c[e>>2]=f}}return}function af(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 bf(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Li(pa(102,h|0)|0)|0;i=g;return e|0}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=$h(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){mj(e,13414);b=c[d>>2]|0}mj(e,b);f=f+1|0}g=Ah(g)|0;i=h;return g|0}function df(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Li(pa(102,h|0)|0)|0;i=g;return e|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(yf(a,19728)|0)if(!(yf(a,20995)|0)){d=Yh(a+4112|0,Vd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Di(13959,e)}else d=fc(a+4112|0,Vd(a+6160|0)|0)|0;while(0);i=f;return d|0}function ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((yf(c[e+4>>2]|0,d)|0)!=0);return e|0}function gf(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((Li(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;if(((a[e>>0]|0)+-48|0)>>>0<10){f=ti(e)|0;i=g;return f|0}else{h=c[b+28>>2]|0;g=c[b+4>>2]|0;c[f>>2]=d;c[f+4>>2]=e;c[f+8>>2]=h;c[f+12>>2]=g;Di(17507,f)}return 0}function jf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Hi(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=ud(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=oe(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Di(18598,g)}return 0}function lf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Yd(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(Fj(d<<24>>24)|0)!=0;d=d&1}return d|0}function mf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(yf(a,19048)|0){if(Xe(a)|0){c=td(a,b)|0;break}c=qf(a,0,c)|0;if((c|0)==-1)c=0;else c=Rg(a,b,c)|0}else c=tj(b)|0;while(0);i=d;return c|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Ng(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)pg(15795,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Di(15821,e)}}function of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){Kh(c[a+4>>2]|0,e);f=le(16)|0;c[f+4>>2]=nj(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(21616,21643,206,21658)}function pf(b){b=b|0;var d=0,e=0,f=0;d=c[2099]|0;f=se(c[(yi()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=sk(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Tf(b,Yd(b)|0,1,d)|0;Jd(58,d)|0;Jd(32,d)|0}Tf(f,Yd(f)|0,1,d)|0;Jd(10,d)|0;if(e|0)rk(d);return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Li(jb(5,f|0)|0)|0;i=e;return d|0}function rf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Gh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;re(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Li(pa(102,f|0)|0)|0;i=e;return d|0}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Og(b,d,e)|0;a=a+16|0;b=a;b=ji(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function vf(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 wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;nf(b,d,e);return}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((gc(2,a,d)|0)<0){b=se(c[(yi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ci(15381,e);a=0}else{c[b>>2]=ak(c[d>>2]|0)|0;a=1}i=f;return a|0}function yf(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 zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Od(b,d,e);return}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Vc(b,1,d,e)|0}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((bf(a,1,20,d,8)|0)>=0)if((bf(a,1,21,d,8)|0)<0){ci(12947,e);a=-1}else a=0;else{ci(12897,f);a=-1}i=f;return a|0}function Cf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=xc(b,d,e)|0;i=g;return f|0}function Df(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=qj(a[e>>0]|0)|0;c=c<<24>>24;b=(qj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Ef(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 Ff(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;Jg(b);a=Uc(a,b)|0;if(!(b&1)){b=_g(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);ng(f)}else Ag(a,d,e,0,0);i=g;return a|0}function Gf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+16|0;d=a+8|0;e=0;a=0;while(1){if((e|0)>=(c[f>>2]|0))break;b=(c[d>>2]|0)+(e<<2)|0;while(1){b=c[b>>2]|0;if(!b)break;g=Mi(b,16)|0;c[g>>2]=a;a=g}e=e+1|0}return a|0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Ye(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=fd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Di(16003,g)}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[b>>2]|0;a=yf(c[e+4>>2]|0,c[d+4>>2]|0)|0;if(!a){b=c[e+8>>2]|0;a=c[d+8>>2]|0;if((b|0)==(a|0))a=(c[e+12>>2]|0)-(c[d+12>>2]|0)|0;else a=b-a|0}return a|0}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16103)|0;d=(b|0)!=0;if(d)Of(e,100,b);qa(16103,16106,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16103,e|0,1)|0;else ob(16103)|0;Oa();i=f;return b|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Mc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;re(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Nf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Li(ib(10,b|0)|0)|0;if(b){if((c[(yi()|0)>>2]|0)==21){c[d>>2]=a;b=Li(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Yd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Di(15462,f)}else{Ij(a,d)|0;i=g;return}}function Pf(b){b=b|0;var c=0,d=0,e=0;d=(Hi(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Hi(b,120)|0)==0;d=e?d:d|128;b=(Hi(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Di(19129,e)}}function Rf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Li(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Od(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Tf(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=(sk(e)|0)==0;a=Wc(a,f,e)|0;if(!g)rk(e)}else a=Wc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Re(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=kj(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=ji(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(19329)eh(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Wf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2069]|0;else{He(12839)|0;He(12864)|0;d=c[2069]|0;Fc(d,a,b)|0;Jd(10,d)|0;vd(d)|0}vd(d)|0;d=c[2099]|0;Fc(d,a,b)|0;Jd(10,d)|0;vd(d)|0}return}function Xf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Li(kb(142,h|0)|0)|0;i=g;return d|0}function Yf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Zf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=pe(h)|0;a=a+136|0;eh(a,b,d+64|0,0)|0;zf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=mf(a,b)|0;if(!b){e=se(c[(yi()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Di(19054,d)}else{i=e;return b|0}return 0}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;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;oc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);dh(f);i=g;return c[f>>2]|0}function ag(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Qh(e)|0,(a[d>>0]|0)!=0):0){e=zg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;ei(e,b,24864);if((c[e>>2]|0)==4){Ad(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);i=d;return 0}else Di(11442,d);return 0}function cg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;a=id(a,20746)|0;Ue(a,b,4);Be(a)|0;a=c[b>>2]|0;if((a|0)==-2003829722)a=1;else{a=Vj(a)|0;c[b>>2]=a;a=(a|0)==-2003829722&1}i=d;return a|0}function dg(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=se(c[(yi()|0)>>2]|0)|0;c[g+4>>2]=a;Dh(f,12891,g)|0;ii(f,e);i=d;return}function fg(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?(Tf(b,d,1,a)|0)!=1:0){a=se(hh(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Di(15575,e)}i=f;return}function gg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else re(b,c,d)|0;return b|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=c[a+20>>2]|0;if(!(vi(f,b,Yd(b)|0,d,8)|0))a=0;else{Kh(c[a+16>>2]|0,d);a=c[d+4>>2]|0}i=e;return a|0}function ig(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(ne(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Di(12173,e)}}function kg(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 lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=qf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;pg(12484,d)}else{i=e;return b|0}return 0}function mg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((nh(a,511)|0)<0)if((c[(yi()|0)>>2]|0)==17)b=0;else{pf(25632);c[d>>2]=a;Di(18830,d)}else b=1;i=e;return b|0}function ng(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((sh(b)|0)<0){c[d>>2]=b;pg(12208,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Yd(c[g>>2]|0)|0;e=Yd(d)|0;b=le(f+2+e|0)|0;re(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;re(f+1|0,d|0,e|0)|0;return b|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=se(c[(yi()|0)>>2]|0)|0;c[f+4>>2]=a;Dh(e,12891,f)|0;Si(e,d)}function qg(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+Mj(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;Di(15362,e);return +(0.0)}function rg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Bi(b);d=f}c[a>>2]=0;i=e;return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((sh(b)|0)<0)pg(15971,d);else{c[a>>2]=-1;break}while(0);i=e;return}function ug(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Vf(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Sc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Yd(a)|0;g=g+1+(Yd(b)|0)|0;d=le(g)|0;c[f>>2]=a;c[f+4>>2]=b;qh(d,g,15984,f)|0;i=e;return d|0}function wg(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;b=c[e+4>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0))a=(c[e+8>>2]|0)-(c[a+8>>2]|0)|0;else a=b-d|0;return a|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=$i(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18992,19014,352,19030)}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Li(d)|0;i=f;return e|0}function zg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Fj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}
+function Ag(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;g=i;i=i+16|0;h=g;c[a+16>>2]=_g(h)|0;bc(a,b,c[h>>2]|0,d,e,f);ng(h);i=g;return}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(lh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function Cg(b,d){b=b|0;d=d|0;a:while(1){if(!(Zb(b,d,0)|0)){b=0;break}switch(a[(Qh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Bg(b)|0;b=id(b,20746)|0;g=pe(f+1|0)|0;c[d>>2]=g;Ue(b,g,f);a[g+f>>0]=0;Be(b)|0;if(e|0)c[e>>2]=f;return}function Eg(a){a=a|0;a:do if(!(zj(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function Fg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=Zi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;re(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Hg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){ek(b+96|0);d=b+100|0;Nh(d);Nh(d);hk(b+20|0);ac(b+8|0);Pj(c[b+4>>2]|0);Qi(a)}return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Og(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Jg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Di(11682,c);break}default:{}}if((a&18|0)==16)Di(11748,b);else{i=c;return}}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;a=ff(a,b)|0;if(!a){c[d>>2]=b;Di(16189,d)}else{i=e;return c[a+8>>2]|0}return 0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(sk(a)|0)==0;b=Wd(a,b,d)|0;if(!e)rk(a)}else b=Wd(a,b,d)|0;return b|0}function Mg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Li(pb(4,f|0)|0)|0;i=e;return a|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Li(sb(3,f|0)|0)|0;i=e;return a|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;rh(e,256,16111,f)|0;Bh(e)|0;b=ff(a,e)|0;i=d;return b|0}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Od(a,d,4);a=c[d>>2]|0;if(b){a=Zi(a|0)|0;c[d>>2]=a}i=e;return a|0}function Rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=qi(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=le(65537)|0;return f|0}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Re(a,d,4,0);a=c[d>>2]|0;if(b){a=Vj(a)|0;c[d>>2]=a}i=e;return a|0}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Re(a,d,2,0);a=b[d>>1]|0;if(c){a=Wj(a)|0;b[d>>1]=a}i=e;return a|0}function Ug(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((lh(a,b)|0)<0){c[d>>2]=a;Di(18857,d)}else{i=e;return c[b+56>>2]|0}return 0}function Wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];fi(c[a+20>>2]|0,b,1);dh(b);i=d;return c[b>>2]|0}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Rb(a,b)|0;if(!b){c[d>>2]=a;Di(21370,d)}else{i=e;return b|0}return 0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=xd(g,b,d,e)|0;i=f;return e|0}function Zg(b){b=b|0;var c=0,d=0;c=b;b=0;while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;if(((d<<24>>24)+-48|0)>>>0<10)break;c=c+1|0;b=b+1|0}return b|0}function _g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Sh(b)|0)<0)pg(11845,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function $g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Xf(0,0,0,0,b)|0}i=d;return}function ah(b){b=b|0;var c=0,d=0;c=Yd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Fj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;if((c[4]|0)>=(a|0)){a=c[6235]|0;if(!a){a=c[2099]|0;c[6235]=a}Fc(a,b,d)|0;vd(c[6235]|0)|0}return}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ce(b,d,e)|0}function fh(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=Yf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function gh(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(yf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function hh(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(sk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)rk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function ih(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;a=id(a,18918)|0;c[f>>2]=a;fg(a,b,d);cj(f);i=e;return}function jh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=21026;c[a+4>>2]=352;Di(21005,a);return 0}function kh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(cb(57,e|0)|0)|0;i=d;return a|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(Pa(195,e|0)|0)|0;i=d;return a|0}function mh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(hb(38,e|0)|0)|0;i=d;return a|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(Ia(39,e|0)|0)|0;i=d;return a|0}function oh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=Oj(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function ph(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6236]|0;if(!b)Di(17338,d);else{a=mi(b,a)|0;i=d;return a|0}return 0}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=fd(a,b,d,g)|0;i=f;return e|0}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Jf(a,b,d,g)|0;i=f;return e|0}function sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=Li((a|0)==-4?-115:a)|0;i=b;return a|0}function th(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(yf(d,a)|0))break;b=b+8|0}return b|0}function uh(a){a=a|0;var b=0;b=le(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Ye(b,a)|0;return b|0}function vh(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=Li(Wa(6,d|0)|0)|0;i=b;return a|0}function wh(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]}function xh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function zh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=le(d+1|0)|0;c=(c|0)<(d|0)?c:d;re(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(18419,18430,40,18446);else{b=c[b+4>>2]|0;Qi(a);return b|0}return 0}function Bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=qj(c<<24>>24)|0;d=d+1|0}return b|0}function Ch(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=rj(c<<24>>24)|0;d=d+1|0}return b|0}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=dj(a,b,f)|0;i=e;return d|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Fc(a,b,f)|0;i=e;return d|0}function Fh(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;Hd(a,b,f);i=e;return}function Gh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=$i(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gf(a,b,f)|0;i=e;return d|0}function Ih(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=Fc(c[2069]|0,a,e)|0;i=d;return b|0}function Jh(a,b){a=a|0;b=b|0;var c=0;c=Yd(a)|0;c=c-(Yd(b)|0)|0;if((c|0)<0)c=0;else c=(yf(a+c|0,b)|0)==0&1;return c|0}function Kh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Vj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Vj(c[a>>2]|0)|0}return}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Mh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Nh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Pj(b);b=d}c[a>>2]=0;return}function Oh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;sh(b)|0;b=b+1|0}return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Qh(b){b=b|0;if(!b)b=0;else while(1)if(!(Fj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Rh(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;ch(a,b,f);i=e;return}function Sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Li(wa(42,d|0)|0)|0;i=b;return a|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;a=ee(a,c)|0;if(c>>>0>b>>>0)Ze(a+b|0,0,c-b|0)|0;return a|0}function Uh(){}function Vh(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 (C=d,a-c>>>0|0)|0}function Wh(a){a=a|0;var b=0;if(!a)a=le(8)|0;else{b=le((Yd(a)|0)+8|0)|0;Ij(b+4|0,a)|0;a=b}return a|0}function Xh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[4]=a;c[d>>2]=0;i=b;return}function Yh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Di(18658,d);return 0}function Zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function _h(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=21026;c[a+4>>2]=360;Di(21005,a);return 0}function $h(a){a=a|0;var b=0;b=le(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=le(a+1|0)|0;c[b+8>>2]=a;return b|0}function ai(){var a=0,b=0;b=i;i=i+16|0;a=Nc(2,1,0)|0;if((a|0)<0)ci(13022,b);i=b;return a|0}function bi(a,b){a=a|0;b=b|0;a=Pg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ci(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;ii(a,e);i=d;return}function di(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ec(b)|0;Ke(a)}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6236]|0)){Pi(Xb(a,b,0,d,0)|0);c[6237]=d}return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;Ac(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function gi(a){a=a|0;if((yf(a,19048)|0)!=0?(yf(a,15508)|0)!=0:0)a=(Bg(a)|0)!=-1&1;else a=1;return a|0}function hi(a,b){a=a|0;b=b|0;return gd((c[a>>2]|0)+4|0,(c[b>>2]|0)+4|0)|0}function ii(a,b){a=a|0;b=b|0;var d=0;d=$c()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=aj(a,b,d)|0;c[e>>2]=c[d+4>>2];return d|0}function li(a,b){a=a|0;b=b|0;var d=0;d=le(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function mi(a,b){a=a|0;b=b|0;a=ff(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ni(a,b){a=a|0;b=b|0;if((Qd(a,0,5)|0)>(b|0))a=1;else a=ri(a)|0;return a|0}function oi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Hg(b+20|0);Ai(b+16|0);Qi(a)}return}function pi(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function qi(a){a=a|0;var b=0;if(!a)a=0;else{b=Yd(a)|0;a=zh(a,b,b)|0}return a|0}function ri(a){a=a|0;if(!(lf(17421,a)|0))a=(lf(17434,a)|0)!=0;else a=1;return a&1|0}function si(a,b){a=a|0;b=b|0;return yf(c[(c[a>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0}function ti(a){a=a|0;var b=0;b=i;i=i+16|0;a=xe(a,0,b)|0;i=b;return a|0}function ui(a,b){a=a|0;b=b|0;return (c[(c[a>>2]|0)+4>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function vi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Xc(a,b,c,e,0,d,0)|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lj(a,b);return zc(a,b,c,d)|0}function xi(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function yi(){var a=0;if(!(c[6239]|0))a=25e3;else a=c[(xk()|0)+64>>2]|0;return a|0}function zi(a){a=a|0;if(!a)a=0;else{a=Qh(a)|0;ah(a)}return a|0}function Ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Nh(b);Pj(b);c[a>>2]=0}return}function Bi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pj(c[b+4>>2]|0);Qi(a)}return}function Ci(a,b){a=a|0;b=b|0;b=Wh(b)|0;c[b>>2]=c[a>>2];c[a>>2]=b;return b|0}function Di(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Si(a,d)}function Ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Fi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pj(c[b+4>>2]|0);Qi(a)}return}function Gi(a){a=a|0;if((c[a+76>>2]|0)>-1?sk(a)|0:0)rk(a);return c[a+60>>2]|0}function Hi(b,c){b=b|0;c=c|0;b=Zc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ii(){var a=0;a=$c()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Ji(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){tg(b+52|0);Qi(a)}return}function Li(a){a=a|0;if(a>>>0>4294963200){c[(yi()|0)>>2]=0-a;a=-1}return a|0}function Mi(a,b){a=a|0;b=b|0;var c=0;c=pe(b)|0;re(c|0,a|0,b|0)|0;return c|0}function Ni(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Oi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=yd(a,b,0)|0;return a|0}function Pi(a){a=a|0;c[6236]=a;if(ph(16830)|0)Xh(Ve(16830,0)|0);return}function Qi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)jk(b);return}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Si(a,b){a=a|0;b=b|0;c[($c()|0)+4>>2]=1;ii(a,b);Ii()}function Ti(a){a=a|0;var b=0;b=pe(a)|0;Ze(b|0,0,a|0)|0;return b|0}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function Vi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,0,-2147483648)|0;return a|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,-2147483648,0)|0;return a|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;return qc(a,b,14183,14192,c)|0}function Zi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&15](b|0,c|0)|0}function $i(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,Yd(b)|0,c)|0}function bj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function cj(a){a=a|0;if(!(Te(a)|0))Ii();else return}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,2147483647,b,c)|0}function ej(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function gj(){if((ab(12872)|0)==0?(ab(12882)|0)==0:0)_a(-1);Za()}function hj(a,b,c){a=a|0;b=b|0;c=c|0;Ic(a,b,c)|0;return a|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;return Mf(a,b,c)|0}function kj(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function lj(a,b){a=a|0;b=b|0;nf(a,b,Yd(b)|0);return}function mj(a,b){a=a|0;b=b|0;sf(a,b,Yd(b)|0);return}function nj(a,b){a=a|0;b=b|0;return zh(a,Yd(a)|0,b)|0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,0,c)|0}function pj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function qj(a){a=a|0;var b=0;b=(Yj(a)|0)==0;return (b?a:a&95)|0}function rj(a){a=a|0;var b=0;b=(Xj(a)|0)==0;return (b?a:a|32)|0}function sj(a,b){a=a|0;b=b|0;return bh(a,b,(Yd(a)|0)+1|0)|0}function tj(a){a=a|0;return Rg(19048,a,Gi(c[2128]|0)|0)|0}function uj(a){a=a|0;if(!(c[a+68>>2]|0))rk(a);return}function vj(a){a=a|0;if(!(c[a+68>>2]|0))rk(a);return}function wj(a,b){a=a|0;b=b|0;return (Tf(a,Yd(a)|0,1,b)|0)+-1|0}function xj(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,1,c)|0}function yj(a,b){a=a|0;b=b|0;return qk(Kg(a,b)|0)|0}function zj(a){a=a|0;return ((a+-48|0)>>>0<10|(Qj(a)|0)!=0)&1|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Bj(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Cj(a,b){a=a|0;b=b|0;return cd(a,14220,b)|0}function Dj(a){a=a|0;Pj(c[a+4>>2]|0);Pj(a);return}function Ej(a,b){a=a|0;b=b|0;i=a;j=b}function Fj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Gj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Hj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Ij(a,b){a=a|0;b=b|0;bd(a,b)|0;return a|0}function Jj(a){a=a|0;return rc(a,-2003829722,18710)|0}function Kj(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Lj(a,b){a=a|0;b=b|0;return qe(a,b)|0}function Mj(a,b){a=a|0;b=b|0;return +(+je(a,b,1))}function Nj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Oj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Pj(a){a=a|0;if(a|0)jk(a);return}function Qj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Rj(a,b){a=+a;b=+b;return +(+dg(a,b))}function Sj(a,b){a=+a;b=b|0;return +(+Ud(a,b))}function Tj(a,b){a=+a;b=b|0;return +(+Zd(a,b))}function Uj(b){b=b|0;a[b+48>>0]=1;return}function Vj(a){a=a|0;return Zi(a|0)|0}function Wj(a){a=a|0;return Oj(a|0)|0}function Xj(a){a=a|0;return (a+-65|0)>>>0<26|0}function Yj(a){a=a|0;return (a+-97|0)>>>0<26|0}function Zj(a,b){a=a|0;b=b|0;Qb(b);return}function _j(a){a=a|0;return c[a+16>>2]|0}function $j(a,b){a=+a;b=+b;return +(+ic(a,b))}function ak(a){a=a|0;return Zi(a|0)|0}function bk(a){a=a|0;return Zi(a|0)|0}function ck(a,b){a=a|0;b=b|0;ba(7);return 0}function dk(a){a=a|0;Nh(a);return}function ek(a){a=a|0;Qi(a);return}function fk(a){a=a|0;Hb[a&1]()}function gk(a){a=a|0;return Kb(a)|0}function hk(a){a=a|0;Qi(a);return}function ik(a){a=a|0;Qb(a);return}function jk(a){a=a|0;Qb(a);return}function kk(a){a=a|0;return 0}function lk(a,b){a=a|0;b=b|0;ba(3)}function mk(a){a=a|0;return 0}function nk(a){a=a|0;i=a}function ok(a){a=a|0;C=a}function pk(a){a=a|0;ba(5);return 0}function qk(a){a=a|0;return a|0}function rk(a){a=a|0;return}function sk(a){a=a|0;return 0}function tk(){return C|0}function uk(){return i|0}function vk(a){a=a|0;ba(2)}function wk(){return 19329}function xk(){return 0}function yk(){ba(6)}
 
 // EMSCRIPTEN_END_FUNCS
-var Bb=[Nj,Cf,gf,xc,Oc,Gg,ij,jj];var Cb=[pj,of];var Db=[vk,vj,uj,vk];var Eb=[lk,Wf,Zj,lk];var Fb=[Ri,Bd,Tc,_b,jh,Ri,Ri,Ri];var Gb=[pk,vh,Cc,pk];var Hb=[yk,gj];var Ib=[ck,Se,Oe,vc,Cd,_h,hi,ui,si,wg,Kf,ck,ck,ck,ck,ck];return{_llvm_bswap_i16:Oj,_i64Subtract:Vh,_free:Qb,_main:bg,_htonl:bk,_realloc:qe,_i64Add:ji,_memmove:gg,_pthread_self:xk,_pthread_mutex_unlock:kk,_memset:Ze,_malloc:Kb,_pthread_mutex_lock:mk,_memcpy:re,_llvm_bswap_i32:Zi,_bitshift64Lshr:Ph,_htons:Hj,_bitshift64Shl:Lh,___errno_location:yi,_ntohs:Gj,runPostSets:Uh,stackAlloc:Ni,stackSave:uk,stackRestore:nk,establishStackSpace:Ej,setThrew:bj,setTempRet0:ok,getTempRet0:tk,dynCall_iiii:Ei,dynCall_viiiii:Zh,dynCall_vi:Kj,dynCall_vii:fj,dynCall_iiiiiii:xh,dynCall_ii:Bj,dynCall_v:fk,dynCall_iii:_i}})
+var Bb=[Nj,Cf,gf,xc,Oc,Gg,ij,jj];var Cb=[pj,of];var Db=[vk,vj,uj,vk];var Eb=[lk,Wf,Zj,lk];var Fb=[Ri,Bd,Tc,_b,jh,Ri,Ri,Ri];var Gb=[pk,vh,Cc,pk];var Hb=[yk,gj];var Ib=[ck,hi,ui,si,wg,Kf,Se,Oe,vc,Cd,_h,ck,ck,ck,ck,ck];return{_llvm_bswap_i16:Oj,_i64Subtract:Vh,_free:Qb,_main:bg,_htonl:bk,_realloc:qe,_i64Add:ji,_memmove:gg,_pthread_self:xk,_pthread_mutex_unlock:kk,_memset:Ze,_malloc:Kb,_pthread_mutex_lock:mk,_memcpy:re,_llvm_bswap_i32:Zi,_bitshift64Lshr:Ph,_htons:Hj,_bitshift64Shl:Lh,___errno_location:yi,_ntohs:Gj,runPostSets:Uh,stackAlloc:Ni,stackSave:uk,stackRestore:nk,establishStackSpace:Ej,setThrew:bj,setTempRet0:ok,getTempRet0:tk,dynCall_iiii:Ei,dynCall_viiiii:Zh,dynCall_vi:Kj,dynCall_vii:fj,dynCall_iiiiiii:xh,dynCall_ii:Bj,dynCall_v:fk,dynCall_iii:_i}})
 
 
 // EMSCRIPTEN_END_ASM
diff --git a/bedTools/wigToBed_static.js.html.mem b/bedTools/wigToBed_static.js.html.mem
index 3157f0ef4cf0e181996009797490e34dd05a7d39..3b012ce41f79a543718c861181baab0134d946b6 100644
Binary files a/bedTools/wigToBed_static.js.html.mem and b/bedTools/wigToBed_static.js.html.mem differ
diff --git a/bedTools/wigToBed_static.js.js b/bedTools/wigToBed_static.js.js
index 4ac176c060f44c131ead9e9aa236ee395a64f3e0..32a09a405e7dee9308a8ae26bd909f3b902cc110 100644
--- a/bedTools/wigToBed_static.js.js
+++ b/bedTools/wigToBed_static.js.js
@@ -1,12 +1,12 @@
-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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+27712;__ATINIT__.push();memoryInitializer="wigToBed_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}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 ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"_gai_strerror":_gai_strerror,"__addDays":__addDays,"_signal":_signal,"_tzset":_tzset,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_wait":_wait,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"___syscall39":___syscall39,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"_getenv":_getenv,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+27712;__ATINIT__.push();memoryInitializer="wigToBed_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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};var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_create(){return 11}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 __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function _pthread_detach(){}function _unsetenv(name){if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _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 SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"_setenv":_setenv,"_localtime_r":_localtime_r,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"___syscall40":___syscall40,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"_llvm_bswap_i64":_llvm_bswap_i64,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"__read_sockaddr":__read_sockaddr,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__isLeapYear":__isLeapYear,"_llvm_stackrestore":_llvm_stackrestore,"__addDays":__addDays,"___syscall39":___syscall39,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___syscall197":___syscall197,"_tzset":_tzset,"___syscall195":___syscall195,"__exit":__exit,"_utime":_utime,"_execl":_execl,"_mktime":_mktime,"_strptime":_strptime,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"___syscall38":___syscall38,"___syscall10":___syscall10,"___syscall5":___syscall5,"___syscall142":___syscall142,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"_unsetenv":_unsetenv,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_time":_time,"___syscall3":___syscall3,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"_localtime":_localtime,"_pthread_detach":_pthread_detach,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env._gai_strerror;var Ia=env.__addDays;var Ja=env._signal;var Ka=env._tzset;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env.___syscall195;var Pa=env.__exit;var Qa=env._utime;var Ra=env._execl;var Sa=env._mktime;var Ta=env._strptime;var Ua=env.__write_sockaddr;var Va=env.___syscall6;var Wa=env.__arraySum;var Xa=env._emscripten_memcpy_big;var Ya=env._abort;var Za=env._exit;var _a=env._llvm_stacksave;var $a=env._wait;var ab=env.___syscall51;var bb=env.___syscall57;var cb=env.___syscall54;var db=env.___unlock;var eb=env._pthread_create;var fb=env.___syscall39;var gb=env.___syscall38;var hb=env.___syscall10;var ib=env.___syscall5;var jb=env._getenv;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env._setenv;var ra=env._localtime_r;var sa=env.___syscall63;var ta=env.__inet_ntop4_raw;var ua=env.___syscall40;var va=env._execvp;var wa=env.___syscall42;var xa=env._pthread_cleanup_push;var ya=env._fork;var za=env._llvm_bswap_i64;var Aa=env.__inet_pton6_raw;var Ba=env.___syscall20;var Ca=env.__read_sockaddr;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__isLeapYear;var Ga=env._llvm_stackrestore;var Ha=env.__addDays;var Ia=env.___syscall39;var Ja=env._signal;var Ka=env._wait;var La=env.___setErrNo;var Ma=env._sbrk;var Na=env.___syscall197;var Oa=env._tzset;var Pa=env.___syscall195;var Qa=env.__exit;var Ra=env._utime;var Sa=env._execl;var Ta=env._mktime;var Ua=env._strptime;var Va=env.__write_sockaddr;var Wa=env.___syscall6;var Xa=env.__arraySum;var Ya=env._emscripten_memcpy_big;var Za=env._abort;var _a=env._exit;var $a=env._llvm_stacksave;var ab=env._getenv;var bb=env.___syscall51;var cb=env.___syscall57;var db=env.___syscall54;var eb=env.___unlock;var fb=env._pthread_create;var gb=env._gai_strerror;var hb=env.___syscall38;var ib=env.___syscall10;var jb=env.___syscall5;var kb=env.___syscall142;var lb=env._sysconf;var mb=env.___lock;var nb=env._llvm_fabs_f64;var ob=env._unsetenv;var pb=env.___syscall4;var qb=env._getaddrinfo;var rb=env._time;var sb=env.___syscall3;var tb=env._gettimeofday;var ub=env.___syscall140;var vb=env._localtime;var wb=env._pthread_detach;var xb=env.___syscall145;var yb=env.___syscall146;var zb=env._waitpid;var Ab=0.0;
 // EMSCRIPTEN_START_FUNCS
-function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=nc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=nc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=21705;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=21732;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=jc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=21682;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=21705;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=21752;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=Zi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=21816;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=21845;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=jc(o,q,r)|0;else o=nc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=Zi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=22019;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=jc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11152+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=22040;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=nc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}re(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11152+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Sb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=21881;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=8976;c[H>>2]=9;c[I>>2]=11024;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=21797;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=21906;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=21906;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=21932;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Sb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=21969;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Sb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21997;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Wb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=22115;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;re(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=nc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=nc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=22093;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=nc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=21777;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=nc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=22063;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Lc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=jc(j,h,k)|0;else h=nc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6252]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=25048+(b<<1<<2)|0;e=d+8|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[6256]|0)>>>0)Ya();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Ya()}else c[6252]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6254]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=25048+(b<<1<<2)|0;e=d+8|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[6256]|0)>>>0)Ya();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6254]|0;break}else Ya()}else{c[6252]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6257]|0;b=l>>>3;d=25048+(b<<1<<2)|0;a=c[6252]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{m=a;n=b}}else{c[6252]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6254]=h;c[6257]=e;N=j;i=O;return N|0}a=c[6253]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[25312+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6256]|0;if(k>>>0<g>>>0)Ya();j=k+q|0;if(k>>>0>=j>>>0)Ya();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Ya();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Ya();a=f+12|0;if((c[a>>2]|0)!=(k|0))Ya();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Ya()}while(0);do if(h|0){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6253]=c[6253]&~(1<<a);break}}else{if(h>>>0<(c[6256]|0)>>>0)Ya();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6256]|0;if(o>>>0<b>>>0)Ya();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ya();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Ya();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6254]|0;if(a|0){f=c[6257]|0;b=a>>>3;e=25048+(b<<1<<2)|0;a=c[6252]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{r=a;s=b}}else{c[6252]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6254]=d;c[6257]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6253]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[25312+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[25312+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6254]|0)-q|0)>>>0:0){f=c[6256]|0;if(k>>>0<f>>>0)Ya();h=k+q|0;if(k>>>0>=h>>>0)Ya();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Ya();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Ya();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ya();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Ya()}while(0);do if(g|0){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6253]=c[6253]&~(1<<a);break}}else{if(g>>>0<(c[6256]|0)>>>0)Ya();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6256]|0;if(u>>>0<b>>>0)Ya();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ya();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Ya();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{w=a;x=b}}else{c[6252]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=25312+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Ya()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6254]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6257]|0;if(a>>>0>15){N=b+q|0;c[6257]=N;c[6254]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6254]=0;c[6257]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6255]|0;if(a>>>0>q>>>0){L=a-q|0;c[6255]=L;N=c[6258]|0;M=N+q|0;c[6258]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6370]|0)){c[6372]=4096;c[6371]=4096;c[6373]=-1;c[6374]=-1;c[6375]=0;c[6363]=0;x=p&-16^1431655768;c[p>>2]=x;c[6370]=x}h=q+48|0;g=c[6372]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6362]|0;if(a|0?(w=c[6360]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6363]&4)){a=c[6258]|0;c:do if(a){d=25456;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6255]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6371]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6360]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6362]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6372]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6363]=c[6363]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6360]|0)+f|0;c[6360]=a;if(a>>>0>(c[6361]|0)>>>0)c[6361]=a;j=c[6258]|0;do if(j){e=25456;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6255]|0)|0;c[6258]=M;c[6255]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6259]=c[6374];break}a=c[6256]|0;if(h>>>0<a>>>0){c[6256]=h;k=h}else k=a;d=h+f|0;a=25456;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=25456;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6257]|0)){N=(c[6254]|0)+g|0;c[6254]=N;c[6257]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Ya();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Ya();b=f+12|0;if((c[b>>2]|0)!=(a|0))Ya();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Ya()}while(0);if(!h)break;b=c[a+28>>2]|0;d=25312+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6256]|0)>>>0)Ya();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6253]=c[6253]&~(1<<b);break e}while(0);e=c[6256]|0;if(L>>>0<e>>>0)Ya();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Ya();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=25048+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Ya();if((c[d+12>>2]|0)==(a|0))break;Ya()}while(0);if((e|0)==(d|0)){c[6252]=c[6252]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Ya();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Ya()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;do if(!(b&a)){c[6252]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6256]|0)>>>0){M=a;N=b;break}Ya()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=25312+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Ya()}}else{N=(c[6255]|0)+g|0;c[6255]=N;c[6258]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=25456;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6258]=N;c[6255]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6259]=c[6374];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6364];c[a+4>>2]=c[6365];c[a+8>>2]=c[6366];c[a+12>>2]=c[6367];c[6364]=h;c[6365]=f;c[6367]=0;c[6366]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{J=a;K=b}}else{c[6252]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=25312+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Ya()}}}else{N=c[6256]|0;if((N|0)==0|h>>>0<N>>>0)c[6256]=h;c[6364]=h;c[6365]=f;c[6367]=0;c[6261]=c[6370];c[6260]=-1;a=0;do{N=25048+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6258]=M;c[6255]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6259]=c[6374]}while(0);a=c[6255]|0;if(a>>>0>q>>>0){L=a-q|0;c[6255]=L;N=c[6258]|0;M=N+q|0;c[6258]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(yi()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0}while((Fj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=dd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[24835+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=dd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[24844+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=dd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=dd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(yi()|0)>>2]=22;sg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=dd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=dd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;k=ji(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=ji(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=dd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else sg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=ji(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=uc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){sg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Lh(o|0,n|0,2)|0;H=ji(H|0,C|0,-32,-1)|0;e=ji(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=ji(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Vh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=ji(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Rj(+Ud(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(yi()|0)>>2]=34;g=+Sj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=dd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=ji(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=ji(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=uc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){sg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=ji(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(yi()|0)>>2]=22;sg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8944+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8944+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8944+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Lh(c[p>>2]|0,0,29)|0;o=ji(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ui(o|0,n|0,1e9,0)|0;o=Ug(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Rj(+Ud(1.0,105-o|0),j);m=+$j(j,+Ud(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+$j(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(yi()|0)>>2]=34}while(0);g=+Sj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(yi()|0)>>2]=22;sg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(yi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Wc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[22143+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}sc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Ph(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=22623;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=22623;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Vh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=22623;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?22623:22625;L=76}else{p=1;r=22624;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=22623;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=22623;o=N;break}case 109:{o=se(c[(yi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:24525;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Fd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?24533:24538}else{G=1;H=24535}else{q=-q;G=1;H=24532}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Tj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ke(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[22607+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Fd(e,32,K,r,I);if(!(c[e>>2]&32))Wc(y,w,e)|0;Fd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Wc(ea,o,e)|0;f=ba-p|0;Fd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Wc(t,f,e)|0;Fd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Lh(c[r>>2]|0,0,t|0)|0;B=ji(B|0,C|0,o|0,0)|0;o=C;A=Ug(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ui(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ke(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Fd(e,32,K,w,I);if(!(c[e>>2]&32))Wc(H,G,e)|0;Fd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ke(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ze(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Wc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Wc(24563,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ke(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ze(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Wc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Fd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ke(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Wc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Wc(24563,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ze(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Wc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Fd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Wc(u,ba-u|0,e)|0}while(0);Fd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Fd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Wc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Wc(s?(t?24844:24559):t?24551:24555,3,e)|0;Fd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=22623;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[22607+(o&15)>>0]|r;o=Ph(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=22623;L=77}else{o=t;t=2;r=22623+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=22623;L=77}}else if((L|0)==76){f=ke(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Mc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=22623;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Oi(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Fd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Oi(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Wc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Fd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Fd(e,32,o,s,p);if(!(c[e>>2]&32))Wc(v,w,e)|0;Fd(e,48,o,s,p^65536);Fd(e,48,r,t,0);if(!(c[e>>2]&32))Wc(f,t,e)|0;Fd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;sc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=sk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Fj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{sg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=dd(e)|0}while((Fj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}sg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((dd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ze(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ze(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=dd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Bc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=qe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Vi(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=qe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Vb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;sg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=dd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Fj(d[m>>0]|0)|0))break;else n=m}sg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=dd(e)|0}while((Fj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)rk(e);i=P;return k|0}function Ob(a,d,e,f,j){a=a|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0.0;aa=i;i=i+368|0;$=aa+280|0;W=aa+256|0;V=aa+232|0;T=aa+216|0;S=aa+192|0;R=aa+176|0;Q=aa+160|0;P=aa+136|0;O=aa+128|0;N=aa+120|0;M=aa+112|0;K=aa+88|0;J=aa+80|0;I=aa+72|0;H=aa+48|0;G=aa+40|0;U=aa+24|0;L=aa+16|0;F=aa+8|0;E=aa;A=aa+352|0;B=aa+344|0;D=aa+336|0;X=aa+316|0;z=aa+296|0;C=aa+292|0;Z=aa+288|0;v=_f(a,1)|0;c[Z>>2]=0;ue(v);w=(e|0)==0;x=v+28|0;y=v+4|0;t=(d|0)==0;u=A+4|0;a:while(1){if(!(Cg(v,C)|0)){Y=106;break}c[E>>2]=c[C>>2];Rh(2,19326,E);a=c[C>>2]|0;if(!(Ub(a,19341)|0)){if((Qd(qi(a)|0,z,5)|0)!=4){Y=77;break}q=c[z>>2]|0;r=Me(v,z,1)|0;s=Me(v,z,2)|0;ba=+Le(v,z,3);c[S>>2]=q;c[S+4>>2]=r;c[S+8>>2]=s;h[S+16>>3]=ba;Rh(2,20035,S);Uj(v);c[A>>2]=ye(0,1)|0;c[B>>2]=0;while(1){if(!(Cg(v,D)|0))break;if(ri(c[D>>2]|0)|0){Y=81;break}Qf(v,4,Qd(c[D>>2]|0,X,5)|0);d=c[X>>2]|0;a=mi(c[A>>2]|0,d)|0;if(!a){a=If(c[(c[A>>2]|0)+20>>2]|0,16)|0;ki(c[A>>2]|0,d,a,a+4|0)|0;if(w)d=1073741823;else d=yj(e,d)|0;c[a+8>>2]=d;c[a>>2]=c[B>>2];c[B>>2]=a}k=If(j,16)|0;d=k+4|0;c[d>>2]=Me(v,X,1)|0;l=k+8|0;c[l>>2]=Me(v,X,2)|0;g[k+12>>2]=+Le(v,X,3);d=c[d>>2]|0;l=c[l>>2]|0;if(d>>>0>l>>>0){Y=87;break a}d=c[a+8>>2]|0;if(l>>>0>d>>>0){r=c[y>>2]|0;s=c[a+4>>2]|0;c[V>>2]=c[x>>2];c[V+4>>2]=r;c[V+8>>2]=s;c[V+12>>2]=d;c[V+16>>2]=l;ci(20114,V);if(t){Y=90;break a}}else{s=a+12|0;c[k>>2]=c[s>>2];c[s>>2]=k}}if((Y|0)==81){Y=0;Uj(v)}wd(B,8);a=B;while(1){a=c[a>>2]|0;if(!a)break;d=a+12|0;wd(d,9);o=a+4|0;m=c[d>>2]|0;while(1){n=c[m>>2]|0;if(!n)break;k=c[m+8>>2]|0;l=c[n+4>>2]|0;if(k>>>0>l>>>0){Y=98;break a}else m=n}m=c[d>>2]|0;while(1){if(!m)break;else{d=m;l=m;k=0}while(1){if((l|0)==0|(k|0)>=(f|0))break;d=l;l=c[l>>2]|0;k=k+1|0}c[d>>2]=0;s=If(j,48)|0;c[s+4>>2]=qi(c[o>>2]|0)|0;c[s+8>>2]=c[m+4>>2];c[s+12>>2]=c[d+8>>2];c[s+16>>2]=1;c[s+20>>2]=m;b[s+32>>1]=k;c[s>>2]=c[Z>>2];c[Z>>2]=s;m=l}}$d(A);continue}c[z>>2]=a;a=ag(z)|0;if(yf(a,19348)|0)if(!(yf(a,19361)|0))o=3;else{Y=6;break}else o=2;m=0;d=0;k=0;n=0;while(1){a=ag(z)|0;if(!a){s=m;r=n;break}if((Pd(a,61,A,2)|0)!=2){Y=10;break a}a=c[A>>2]|0;l=c[u>>2]|0;do if(!(yf(a,19423)|0)){m=qi(l)|0;a=n}else{if(!(yf(a,19429)|0)){d=hf(v,a,l)|0;a=n;break}if(!(yf(a,19490)|0)){a=hf(v,a,l)|0;break}if(yf(a,19495)|0){Y=19;break a}k=hf(v,a,l)|0;a=n}while(0);n=a}if(!s){Y=22;break}if(w)n=1073741823;else n=yj(e,s)|0;if(k>>>0>n>>>0?(q=c[y>>2]|0,c[H>>2]=c[x>>2],c[H+4>>2]=q,c[H+8>>2]=s,c[H+12>>2]=n,c[H+16>>2]=k,ci(19575,H),t):0){Y=27;break}a=(k|0)==0;if((o|0)==3){if(a){Y=30;break}if(!r){Y=32;break}q=(d|0)==0?r:d;m=k+-1|0;c[A>>2]=uh(0)|0;c[X>>2]=0;a=0;l=m;while(1){if(!(Cg(v,D)|0))break;if(ni(c[D>>2]|0,1)|0){Y=36;break}Qd(c[D>>2]|0,B,1)|0;d=If(c[A>>2]|0,8)|0;g[d+4>>2]=+Le(v,B,0);k=l+q|0;if(k>>>0>n>>>0){p=c[y>>2]|0;c[K>>2]=c[x>>2];c[K+4>>2]=p;c[K+8>>2]=s;c[K+12>>2]=n;c[K+16>>2]=k;ci(19715,K);if(t){Y=39;break a}}else{c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}l=l+r|0}if((Y|0)==36){Y=0;Uj(v)}dh(X);p=q-r|0;k=m;d=c[X>>2]|0;while(1){if(!d)break;o=(a|0)>(f|0)?f:a;n=If(j,48)|0;c[n+4>>2]=s;c[n+8>>2]=k;k=(_(o,r)|0)+k|0;c[n+12>>2]=p+k;c[n+16>>2]=3;c[n+24>>2]=r;c[n+28>>2]=q;b[n+32>>1]=o;l=If(j,o<<2)|0;c[n+20>>2]=l;m=0;while(1){if((m|0)>=(o|0))break;c[l>>2]=c[d+4>>2];m=m+1|0;d=c[d>>2]|0;l=l+4|0}c[n>>2]=c[Z>>2];c[Z>>2]=n;a=a-o|0}Ai(A)}else{if(!a){Y=50;break}if(r|0){Y=52;break}o=(d|0)==0?1:d;c[A>>2]=uh(0)|0;c[X>>2]=0;a=0;b:while(1){while(1){if(!(Cg(v,D)|0))break b;if(ni(c[D>>2]|0,2)|0){Y=57;break b}Qd(c[D>>2]|0,B,2)|0;d=If(c[A>>2]|0,12)|0;k=Me(v,B,0)|0;if((k|0)<1){Y=59;break a}r=d+4|0;c[r>>2]=k+-1;g[d+8>>2]=+Le(v,B,1);k=(c[r>>2]|0)+o|0;if(k>>>0<=n>>>0)break;r=c[y>>2]|0;c[P>>2]=c[x>>2];c[P+4>>2]=r;c[P+8>>2]=s;c[P+12>>2]=n;c[P+16>>2]=k;ci(19715,P);if(t){Y=62;break a}}c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}if((Y|0)==57){Y=0;Uj(v)}wd(X,7);d=c[X>>2]|0;if(!d)d=0;else{while(1){k=d;d=c[d>>2]|0;if(!d)break;k=c[k+4>>2]|0;l=c[d+4>>2]|0;if((k+o|0)>>>0>l>>>0){Y=67;break a}}d=c[X>>2]|0}while(1){if(!d)break;n=(a|0)>(f|0)?f:a;m=If(j,n<<3)|0;l=0;k=m;while(1){if((l|0)>=(n|0))break;c[k>>2]=c[d+4>>2];c[k+4>>2]=c[d+8>>2];l=l+1|0;d=c[d>>2]|0;k=k+8|0}r=If(j,48)|0;c[r+4>>2]=s;c[r+8>>2]=c[m>>2];c[r+12>>2]=(c[m+(n+-1<<3)>>2]|0)+o;c[r+16>>2]=2;c[r+20>>2]=m;c[r+28>>2]=o;b[r+32>>1]=n;c[r>>2]=c[Z>>2];c[Z>>2]=r;a=a-n|0}Ai(A)}}switch(Y|0){case 6:{c[F>>2]=a;Di(19371,F);break}case 10:{aa=c[y>>2]|0;c[L>>2]=c[x>>2];c[L+4>>2]=aa;Di(19388,L);break}case 19:{$=c[x>>2]|0;aa=c[y>>2]|0;c[U>>2]=a;c[U+4>>2]=l;c[U+8>>2]=$;c[U+12>>2]=aa;Di(19501,U);break}case 22:{aa=c[y>>2]|0;c[G>>2]=c[x>>2];c[G+4>>2]=aa;Di(19537,G);break}case 27:{Ii();break}case 30:{aa=c[y>>2]|0;c[I>>2]=c[x>>2];c[I+4>>2]=aa;Di(19640,I);break}case 32:{aa=c[y>>2]|0;c[J>>2]=c[x>>2];c[J+4>>2]=aa;Di(19678,J);break}case 39:{Ii();break}case 50:{aa=c[y>>2]|0;c[M>>2]=c[x>>2];c[M+4>>2]=aa;Di(19778,M);break}case 52:{aa=c[y>>2]|0;c[N>>2]=c[x>>2];c[N+4>>2]=aa;Di(19814,N);break}case 59:{aa=c[y>>2]|0;c[O>>2]=c[x>>2];c[O+4>>2]=aa;Di(19849,O);break}case 62:{Ii();break}case 67:{c[Q>>2]=s;c[Q+4>>2]=k;c[Q+8>>2]=l;Di(19915,Q);break}case 77:{$=c[y>>2]|0;aa=c[C>>2]|0;c[R>>2]=c[x>>2];c[R+4>>2]=$;c[R+8>>2]=aa;Di(20003,R);break}case 87:{$=c[x>>2]|0;aa=c[y>>2]|0;c[T>>2]=d;c[T+4>>2]=l;c[T+8>>2]=$;c[T+12>>2]=aa;Di(20057,T);break}case 90:{Ii();break}case 98:{$=c[o>>2]|0;Z=c[m+4>>2]|0;aa=c[n+8>>2]|0;c[W>>2]=$;c[W+4>>2]=Z;c[W+8>>2]=k;c[W+12>>2]=$;c[W+16>>2]=l;c[W+20>>2]=aa;Di(20190,W);break}case 106:{wd(Z,10);a=c[Z>>2]|0;while(1){if(!a){Y=112;break}d=a;a=c[a>>2]|0;if(!a){a=0;continue}k=c[d+4>>2]|0;if(yf(k,c[a+4>>2]|0)|0)continue;l=c[a+8>>2]|0;if((c[d+12>>2]|0)>>>0>l>>>0){Y=111;break}}if((Y|0)==111){c[$>>2]=k;c[$+4>>2]=l+1;Di(20266,$)}else if((Y|0)==112){i=aa;return c[Z>>2]|0}break}}return 0}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=ji(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(13388==0?(yf(c[a+8>>2]|0,14369)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=ji(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=ji(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=ji(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=ji(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Vh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=ji(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Vh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Vh(k|0,j|0,f|0,d|0)|0;re(b|0,B+f|0,o|0)|0;e=ji(o|0,E|0,e|0,n|0)|0;f=C;d=Vh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=ji(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;eh(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=le(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=ji(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Vh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(13388){y=ji(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=ji(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Ui(k|0,j|0,w|0,0)|0;t=ji(A|0,B|0,-1,-1)|0;t=ji(t|0,C|0,w|0,0)|0;w=Ui(t|0,C|0,w|0,0)|0;t=m+52|0;Zf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((oj(u,d,s)|0)<(s|0))f=0;else{Pj(u);j=B;k=A;continue}while(1){o=oj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=xj(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=fh(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=fh(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=ji(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Vh(f|0,j|0,p|0,q|0)|0;k=C;f=pe(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}eh(Z,c[K>>2]|0,p,0)|0;wf(Z,c[K>>2]|0,f,j);Qi(W)}ce(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;eh(P,c[t>>2]|0,da+64|0,0)|0;wf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Pj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);eh(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}zf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Di(14381,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Rh(4,14437,$);Rh(4,14483,aa);S=0;T=0;break}else if((n|0)==36){zf(Z,j,f,h);S=ba;S=ji(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=ji(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6256]|0;if(d>>>0<h>>>0)Ya();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Ya();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Ya();if((k|0)==(c[6257]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6254]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=25048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Ya();if((c[b+12>>2]|0)!=(k|0))Ya()}if((d|0)==(b|0)){c[6252]=c[6252]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Ya();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Ya()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Ya();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Ya();a=e+12|0;if((c[a>>2]|0)!=(k|0))Ya();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Ya()}while(0);if(f){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6253]=c[6253]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6256]|0)>>>0)Ya();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6256]|0;if(i>>>0<d>>>0)Ya();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ya();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6256]|0)>>>0)Ya();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Ya();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Ya();if(!(b&2)){if((m|0)==(c[6258]|0)){p=(c[6255]|0)+g|0;c[6255]=p;c[6258]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6257]|0))return;c[6257]=0;c[6254]=0;return}if((m|0)==(c[6257]|0)){p=(c[6254]|0)+g|0;c[6254]=p;c[6257]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();d=b+12|0;if((c[d>>2]|0)!=(m|0))Ya();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Ya()}while(0);if(f|0){a=c[m+28>>2]|0;b=25312+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6253]=c[6253]&~(1<<a);break}}else{if(f>>>0<(c[6256]|0)>>>0)Ya();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6256]|0;if(n>>>0<d>>>0)Ya();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ya();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Ya();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=25048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6256]|0)>>>0)Ya();if((c[b+12>>2]|0)!=(m|0))Ya()}if((d|0)==(b|0)){c[6252]=c[6252]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6256]|0)>>>0)Ya();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Ya()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6257]|0)){c[6254]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Ya();else{o=a;p=b}}else{c[6252]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=25312+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6253]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6256]|0)>>>0)Ya();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6256]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Ya()}}else{c[6253]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6260]|0)+-1|0;c[6260]=q;if(!q)a=25464;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6260]=-1;return}function Rb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+272|0;I=K+224|0;E=K+200|0;r=K+192|0;t=K+152|0;k=K+144|0;e=K+136|0;J=K+56|0;w=K+48|0;x=K+264|0;D=K+260|0;B=K+256|0;y=K+252|0;A=K+40|0;z=K+248|0;F=K+268|0;H=K+244|0;h=K+240|0;n=K+236|0;g=K+232|0;o=K+228|0;q=K;m=(d|0)==0?13388:d;c[J>>2]=b;c[J+4>>2]=m;Rh(4,14597,J);if(0){c[e>>2]=b;Eh(0,14618,e)|0}c[h>>2]=0;c[n>>2]=0;rd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Pj(d);v=qi(14369)|0;c[h>>2]=v;Pj(c[n>>2]|0);c[n>>2]=qi(b)|0;j=1}else{v=d;j=0}h=v;g=le(16)|0;do if(!(yf(v,14627)|0)){c[g+4>>2]=1;c[g+8>>2]=1;c[g+12>>2]=14627}else{if(!(yf(v,14859)|0)){c[g+4>>2]=2;c[g+8>>2]=2;c[g+12>>2]=14859;break}if(yf(v,17341)|0?yf(v,17358)|0:0){if(!(yf(v,17368)|0)){c[g+4>>2]=3;c[g+8>>2]=4;c[g+12>>2]=17368;break}if(!(yf(v,14369)|0)){c[g+4>>2]=4;c[g+8>>2]=5;c[g+12>>2]=14369;break}else{c[k>>2]=v;Di(15052,k)}}c[g+4>>2]=3;c[g+8>>2]=3;c[g+12>>2]=17341}while(0);c[o>>2]=g;d=q;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(13388?(l=(Je(b,m)|0)>>>0<0,l):0){g=l&1;u=22;break}if(!(Ib[c[g+8>>2]&15](b,q)|0)){Qi(o);Pj(v);Pj(c[n>>2]|0);d=0}else{g=0;u=22}}else{g=0;u=22}while(0);do if((u|0)==22){d=le(312)|0;c[d+4>>2]=qi(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;ad(d,m,v,e);s=(g|0)==0;if((s?(c[d+16>>2]=c[q>>2],n=q+8|0,o=c[n+4>>2]|0,b=d+24|0,c[b>>2]=c[n>>2],c[b+4>>2]=o,b=d+112|0,q=q+16|0,c[b>>2]=c[q>>2],c[b+4>>2]=c[q+4>>2],c[b+8>>2]=c[q+8>>2],c[b+12>>2]=c[q+12>>2],c[b+16>>2]=c[q+16>>2],c[b+20>>2]=c[q+20>>2],!(0<1|13388==0)):0)?(p=d+44|0,(gi(c[p>>2]|0)|0)!=0):0){me(c[p>>2]|0)|0;g=13388}else g=13388;if(g){Id(c[d+40>>2]|0);p=d+44|0;n=Dc(c[p>>2]|0)|0;c[H>>2]=n;do if(n){if(s){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){q=o;l=d+24|0;r=l;if((c[q>>2]|0)==(c[r>>2]|0)?(c[q+4>>2]|0)==(c[r+4>>2]|0):0){if(gi(c[d+48>>2]|0)|0){f=n;G=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;r=d+48|0;q=c[r>>2]|0;l=t;c[l>>2]=h;c[l+4>>2]=g;g=t+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=t+16|0;c[g>>2]=k;c[g+4>>2]=m;g=t+24|0;c[g>>2]=n;c[g+4>>2]=o;c[t+32>>2]=q;c[t+36>>2]=b;Rh(4,15141,t);Ki(H);Nf(c[p>>2]|0)|0;Nf(c[r>>2]|0)|0;g=d+52|0;if(gi(c[g>>2]|0)|0)Nf(c[g>>2]|0)|0;g=c[H>>2]|0;if(!g){g=b+1|0;u=44}else{f=g;G=d+24|0}}else{c[r>>2]=c[p>>2];Rh(4,15232,r);g=0;u=44}while(0);if((u|0)==44){u=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=J;c[j>>2]=u;c[j+4>>2]=((u|0)<0)<<31>>31;j=w;c[j>>2]=h;c[j+4>>2]=k;c[x>>2]=g;j=Nd(c[p>>2]|0,577)|0;c[D>>2]=j;c[B>>2]=1099424502;c[y>>2]=8192;g=A;c[g>>2]=0;c[g+4>>2]=0;c[z>>2]=0;k=ji(h|0,k|0,8191,0)|0;k=Ph(k|0,C|0,13)|0;nf(j,B,4);nf(j,y,4);nf(j,J,8);nf(j,w,8);nf(j,x,4);nf(j,z,4);nf(j,A,8);nf(j,A,8);nf(j,A,8);nf(j,A,8);g=d+136|0;h=eh(g,j,0,1)|0;if((h|0)!=64){B=c[p>>2]|0;c[E>>2]=j;c[E+4>>2]=B;B=E+8|0;c[B>>2]=h;c[B+4>>2]=((h|0)<0)<<31>>31;c[E+16>>2]=64;Di(15282,E)}a[F>>0]=0;eh(g,j,((k+7|0)/8|0)+-1|0,1)|0;wf(g,j,F,1);tg(D);c[D>>2]=Nd(c[d+48>>2]|0,577)|0;tg(D);g=Dc(c[p>>2]|0)|0;c[H>>2]=g;if(!g){c[I>>2]=c[p>>2];Di(15349,I)}else{f=g;G=l}}c[d+104>>2]=c[f+24>>2];I=G;if(!((c[I>>2]|0)==0&(c[I+4>>2]|0)==0)){f=Rf(c[f+52>>2]|0,0,1)|0;Od(c[(c[H>>2]|0)+52>>2]|0,J,1);G=ji(c[G>>2]|0,c[G+4>>2]|0,8191,0)|0;G=Ph(G|0,C|0,13)|0;G=(oj(J,0,(G|0)>8?8:G)|0)<<13;I=d+96|0;c[I>>2]=G;c[I+4>>2]=((G|0)<0)<<31>>31;eh(d+136|0,c[(c[H>>2]|0)+52>>2]|0,f,0)|0;f=c[H>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Nd(c[d+48>>2]|0,2)|0;if(Mg(17341,v)|0){c[J>>2]=0;j=d+52|0;if(gi(c[j>>2]|0)|0)Dg(c[j>>2]|0,J,0);do if(s){f=d+132|0;g=c[f>>2]|0;h=c[J>>2]|0;if(!g){if(!h)break;Nf(c[j>>2]|0)|0;break}else{if(!(gh(g,h)|0))break;I=vg(c[j>>2]|0,15379)|0;H=c[f>>2]|0;ih(I,H,Yd(H)|0);mh(I,c[j>>2]|0)|0;Pj(I);break}}else c[d+132>>2]=qi(c[J>>2]|0)|0;while(0);Pj(c[J>>2]|0)}}}else{if(!(gi(b)|0)){d=0;break}I=Nd(b,0)|0;c[d+56>>2]=I;Fe(I,J)|0;I=d+88|0;c[I>>2]=0;c[I+4>>2]=0;I=c[J+36>>2]|0;J=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=J;e=d+96|0;c[e>>2]=I;c[e+4>>2]=J;e=c[n>>2]|0}Pj(e)}while(0);i=K;return d|0}function Sb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10740;C=256;D=10866}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11190;C=-1;D=11316}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Tb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6256]|0;if(l>>>0<i>>>0)Ya();if((l|0)==(c[6257]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6254]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=25048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Ya();if((c[a+12>>2]|0)!=(l|0))Ya()}if((b|0)==(a|0)){c[6252]=c[6252]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Ya();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ya()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Ya();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Ya();d=e+12|0;if((c[d>>2]|0)!=(l|0))Ya();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Ya()}while(0);if(f){d=c[l+28>>2]|0;a=25312+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6253]=c[6253]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6256]|0)>>>0)Ya();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6256]|0;if(j>>>0<b>>>0)Ya();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ya();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6256]|0)>>>0)Ya();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6256]|0;if(o>>>0<h>>>0)Ya();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6258]|0)){q=(c[6255]|0)+g|0;c[6255]=q;c[6258]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6257]|0))return;c[6257]=0;c[6254]=0;return}if((o|0)==(c[6257]|0)){q=(c[6254]|0)+g|0;c[6254]=q;c[6257]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Ya();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Ya();d=e+12|0;if((c[d>>2]|0)!=(o|0))Ya();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Ya()}while(0);if(f|0){d=c[o+28>>2]|0;a=25312+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6253]=c[6253]&~(1<<d);break}}else{if(f>>>0<(c[6256]|0)>>>0)Ya();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6256]|0;if(n>>>0<b>>>0)Ya();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ya();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6256]|0)>>>0)Ya();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=25048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Ya();if((c[a+12>>2]|0)!=(o|0))Ya()}if((b|0)==(a|0)){c[6252]=c[6252]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Ya();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Ya()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6257]|0)){c[6254]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=25048+(d<<1<<2)|0;a=c[6252]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6256]|0)>>>0)Ya();else{p=d;q=a}}else{c[6252]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=25312+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6253]|0;a=1<<b;if(!(d&a)){c[6253]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6256]|0)>>>0)Ya();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6256]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Ya();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Ub(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Hi(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(af(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Mc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Vb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(yi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0}while((Fj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=dd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=dd(b)|0;if((d[24570+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){sg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[24570+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;sg(b,0);c[(yi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=dd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=fh(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=ji(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[24826+((e*23|0)>>>5&7)>>0]|0;j=a[24570+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Ph(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Lh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[24570+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Ui(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=fh(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=ji(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[24570+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0}while((d[24570+i>>0]|0)>>>0<e>>>0);c[(yi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(yi()|0)>>2]=34;g=ji(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(yi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Vh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Wb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=22063;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=22093;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=22115;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Xb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ye(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(yf(r,16143)|0)){j=g;h=k;N=4;break}s=Hi(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Fj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Yd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(zj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)aj(Q,o,(m|0)==0?16565:m)|0;else{l=th(o,f)|0;if(!l){l=th(o,60)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Xi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Wi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Mj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Mj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?16565:m;l=th(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=mi(Q,o)|0;l=Wh(m)|0;if(!n){aj(Q,o,l)|0;break}else{Mh(n,l);break}}aj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Di(16154,z);break}case 34:{c[A>>2]=o;Di(16180,A);break}case 36:{c[K>>2]=o;Di(16219,K);break}case 38:{c[L>>2]=o;Di(16255,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Di(16288,B);break}case 43:{c[C>>2]=o;Di(16255,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Di(16330,D);break}case 48:{c[E>>2]=o;Di(16374,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Di(16409,F);break}case 53:{c[G>>2]=o;Di(16449,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Di(16485,H);break}case 57:{c[I>>2]=c[l>>2];Di(16526,I);break}case 65:{Di(16568,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Ub(d,17346)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){$e(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Og(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(yi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Mg(18168,f)|0))m=c[F>>2]|0;else{ag(F)|0;f=ag(F)|0;if(!f){O=20;break a}if((((Mg(18832,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(yf(f,18835)|0)if(yf(f,18839)|0){if(I?(g=yf(f,18843)|0,!((H|g|0)==0&G)):0)if(!(yf(f,18847)|0)){f=o;break}else{O=30;break a}if(!(yf(f,18934)|0)){O=34;break a}if(!(yf(f,18843)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Hi(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Qh(f+1|0)|0}if(!(Df(m,18986)|0)){if(o|0)c[e>>2]=qi(f)|0;if(k)h=qi(f)|0}}while(!(I&(Df(m,18995)|0)==0));if((Mg(19009,f)|0)!=0?(q=(Hi(f,32)|0)+1|0,r=Hi(q,45)|0,(r|0)!=0):0){l=r+1|0;m=pd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=pd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=se(f)|0;c[z+4>>2]=d;ci(18643,z);f=0;break}case 10:{c[v>>2]=d;ci(18680,v);f=0;break}case 11:{c[x>>2]=d;ci(18736,x);f=0;break}case 15:{c[y>>2]=2e3;ci(18768,y);f=0;break}case 20:{c[u>>2]=d;ci(18806,u);f=0;break}case 30:{if(!g)ci(18851,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ci(18894,E);f=0;break}case 34:{c[w>>2]=d;ci(18938,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ci(18963,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;rh(N,256,17456,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ci(19016,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?25632:19110;c[K+8>>2]=f?18835:18839;c[K+12>>2]=h|0?h:19126;ci(19136,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;rh(N,256,17456,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ci(19177,M);f=0}break}}i=P;return f|0}function Zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=ej(h)|0;c[b+16>>2]=e;f=zd(c[f>>2]|0)|0;if(!f){s=0;break}s=Yd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Pj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}we(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)gg(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Ig(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;we(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;xg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}_d(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Di(12076,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}_d(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){_d(b,f);s=1}else s=1}while(0);i=y;return s|0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((Mg(18215,b)|0)==0?(Mg(18223,b)|0)==0:0)?(Mg(18232,b)|0)==0:0){c[j>>2]=b;Di(13458,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Rh(4,13402,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=Vh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Rh(4,13693,m);tg(x);j=h+128|0;if((c[j>>2]|0)>0)tg(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Rh(4,13540,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6236]|0)){c[6236]=le(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=uf(j,k,c[6236]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=Vh(l|0,m|0,n|0,I|0)|0;J=C;I=ji(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;pg(13589,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=ji(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Di(13642,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=ji(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=te(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;rh(y,2048,13744,z)|0;j=hc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(Mg(17341,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Kc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Pj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Di(13763,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=uf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)pg(13792,G);else F=j;K=h+120|0;J=K;J=ji(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6256]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Ya();f=c[k+4>>2]|0;if(!(f&1))Ya();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6372]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Tb(m,d);return a|0}if((k|0)==(c[6258]|0)){d=(c[6255]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6258]=l;c[6255]=m;return a|0}if((k|0)==(c[6257]|0)){e=(c[6254]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6254]=d;c[6257]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Ya();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Ya();d=g+12|0;if((c[d>>2]|0)!=(k|0))Ya();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Ya()}while(0);if(h|0){d=c[k+28>>2]|0;e=25312+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6253]=c[6253]&~(1<<d);break}}else{if(h>>>0<(c[6256]|0)>>>0)Ya();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6256]|0;if(j>>>0<f>>>0)Ya();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Ya();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6256]|0)>>>0)Ya();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=25048+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ya();if((c[e+12>>2]|0)!=(k|0))Ya()}if((f|0)==(e|0)){c[6252]=c[6252]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ya();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Ya()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Tb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Eh(0,15385,b)|0}b=d+112|0;if(c[b>>2]|0)tg(b);b=d+128|0;if(c[b>>2]|0)tg(b);Pj(c[d+4>>2]|0);Pj(c[d+8>>2]|0);Qi(d+12|0);Pj(c[d+40>>2]|0);Pj(c[d+44>>2]|0);Pj(c[d+48>>2]|0);Pj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)tg(b);Ki(d+80|0)}Qi(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(20802,20822,448,20838);h=ya()|0;c[s>>2]=h;if((h|0)<0)pg(20851,l);if(h|0)if(!(kh(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;pg(21389,k)}r=Ji()|0;c[s>>2]=r;if(kh(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;pg(20862,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=_g(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}jg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))ng(t);if(c[k>>2]|0)ng(m);g=0;f=0;j=h;h=k}if((b|0)==14)pg(20851,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){od(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];pg(21096,o)}od(k,0,h,e);h=Ng(1,f,g)|0;if((h|0)<0)pg(21007,p);if((h|0)==(g|0)){sh(1)|0;Za(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Di(21042,q)}}else if((b|0)==28){sh(0)|0;sh(1)|0;Oh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;jg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)pg(21169,u);else if((b|0)==35){c[v>>2]=h;Di(21184,v)}else if((b|0)==39){v=cf(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Di(21214,w)}else if((b|0)==41)Da(21269,20822,242,21293);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2099]|0;v=cf(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Eh(h,21312,x)|0;h=c[k>>2]|0}Za(h>>>8&255|0)}else if((b|0)==47)Da(21359,20822,396,21379);else if((b|0)==49)Za(0)}}function cc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+64|0;J=K+8|0;I=K+56|0;H=K+52|0;E=K+48|0;D=K+44|0;F=K+40|0;G=K+16|0;if((c[a+12>>2]|0)!=-2003829722)Di(11690,K);ug(a);c[I>>2]=0;g=Qe(a,c[a+96>>2]|0,b,d,e,0)|0;c[H>>2]=g;A=c[a+8>>2]|0;B=c[a+16>>2]|0;y=a+80|0;b=c[y>>2]|0;if(!b)z=0;else z=pe(b)|0;t=(z|0)==0;u=G+20|0;v=G+4|0;w=G+16|0;x=G+12|0;b=g;a:while(1){if(!b){b=32;break}Ee(b,E,D);s=b+8|0;p=c[s>>2]|0;s=c[s+4>>2]|0;q=c[E>>2]|0;o=q+8|0;q=q+16|0;r=c[q>>2]|0;q=c[q+4>>2]|0;o=Vh(c[o>>2]|0,c[o+4>>2]|0,p|0,s|0)|0;q=ji(o|0,C|0,r|0,q|0)|0;r=C;Vf(A,p,s);s=pe(q)|0;Re(A,s,q,r);r=s;while(1){if((b|0)==(c[D>>2]|0))break;q=b+16|0;a=c[q>>2]|0;if(t){c[F>>2]=r;p=r+a|0}else{c[F>>2]=z;p=kf(r,a,z,c[y>>2]|0)|0;p=(c[F>>2]|0)+p|0}Rd(F,G,B);n=c[u>>2]|0;o=n>>>16;b:do switch(n&255|0){case 1:{g=0;while(1){if((g|0)==(o|0))break b;k=Fg(F,B)|0;a=Fg(F,B)|0;j=+Ie(F,B);k=k>>>0<d>>>0?d:k;a=a>>>0>e>>>0?e:a;if(k>>>0<a>>>0){n=If(f,24)|0;c[n+4>>2]=k;c[n+8>>2]=a;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}g=g+1|0}}case 2:{a=c[w>>2]|0;k=0;while(1){if((k|0)==(o|0))break b;l=Fg(F,B)|0;g=a+l|0;j=+Ie(F,B);l=l>>>0<d>>>0?d:l;g=g>>>0>e>>>0?e:g;if(l>>>0<g>>>0){n=If(f,24)|0;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}k=k+1|0}}case 3:{m=c[v>>2]|0;a=c[x>>2]|0;k=(c[w>>2]|0)+m|0;l=0;while(1){if((l|0)==(o|0))break b;j=+Ie(F,B);n=m>>>0<d>>>0?d:m;g=k>>>0>e>>>0?e:k;if(n>>>0<g>>>0){L=If(f,24)|0;c[L+4>>2]=n;c[L+8>>2]=g;h[L+16>>3]=j;c[L>>2]=c[I>>2];c[I>>2]=L}k=a+k|0;l=l+1|0;m=a+m|0}}default:{b=27;break a}}while(0);if((c[F>>2]|0)!=(p|0)){b=29;break a}b=c[b>>2]|0;r=r+(c[q>>2]|0)|0}Pj(s)}if((b|0)==27){c[J>>2]=11746;c[J+4>>2]=269;Di(15020,J)}else if((b|0)==29)Da(11762,11746,272,11782);else if((b|0)==32){Pj(z);Nh(H);dh(I);i=K;return c[I>>2]|0}return 0}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=kg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ji(m|0,l|0,-1,-1)|0;d=C;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;Vh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Vh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){ed(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)ed(a,d,e,f,o);else tc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}tc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;tc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;tc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(_e(a,b,d)|0){b=ai()|0;if((b|0)>=0){if((ae(b,1)|0)<0){sh(b)|0;b=-1;break}b:do if((tf(b,d,16)|0)<0){n=yi()|0;d=c[n>>2]|0;if((d|0)!=115){w=se(d)|0;c[e>>2]=d;c[e+4>>2]=w;ci(17277,e);sh(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Xf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=se(d)|0;c[t>>2]=d;c[t+4>>2]=C;ci(17053,t);sh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ci(17185,u);sh(b)|0;e=23;break}c[r>>2]=4;do if((df(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=se(d)|0;c[w>>2]=d;c[w+4>>2]=C;ci(17141,w);sh(b)|0;break}}else{B=c[n>>2]|0;C=se(B)|0;c[v>>2]=B;c[v+4>>2]=C;ci(17111,v);sh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((ae(b,0)|0)<0){sh(b)|0;b=-1;break}if((Bf(b,120)|0)<0){sh(b)|0;b=-1}}}else b=-1;else{ci(16933,x+24|0);b=-1}while(0);i=x;return b|0}function gc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,gg(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ze(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(gc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(yi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Ub(b,17337)|0))e=qf(b,0,r)|0;else{if((Mg(18215,b)|0)==0?(Mg(18223,b)|0)==0:0){if(!(Mg(18232,b)|0)){c[g>>2]=b;Di(18576,g)}lc(b,o);if(yf(o,17368)|0){c[f>>2]=b;Di(18239,f)}b=o+4112|0;g=qd(b,Vd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(wi(g,18286,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,rh(m,256,18293,j)|0,(wi(g,m,0,0)|0)==0):0){sh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Yd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?18305:18310;c[k+4>>2]=j;rh(m,256,18315,k)|0;lj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Hi(j,40)|0;a[(Hi(j,41)|0)>>0]=0;if((Pe(s+1|0,18323,k,7)|0)!=6)Di(18325,h);f=(Vd(c[k+16>>2]|0)|0)<<8;f=fc(b,(Vd(c[k+20>>2]|0)|0)+f|0)|0;Fi(l);if((f|0)<0){sh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((sd(f,1e6)|0)>0){b=26;break}if((sd(g,0)|0)>0?(zc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ci(18361,n);sh(g)|0;sh(f)|0;e=-1;break}else if((b|0)==24){sh(g)|0;sh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}vd(c[2128]|0)|0;vd(c[2069]|0)|0;vd(c[2099]|0)|0;b=le(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;re(b+20|0,o|0,10280)|0;f=b+4|0;if(Sh(f)|0){c[p>>2]=se(c[(yi()|0)>>2]|0)|0;Di(18426,p)}b=eb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=se(b)|0;c[q>>2]=b;c[q+4>>2]=s;Di(18530,q)}}}else{sh(g)|0;e=-1}while(0)}break}e=Yi(b,18196,0)|0}while(0);i=r;return e|0}function ic(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Ph(d|0,m|0,52)|0;e=e&2047;j=Ph(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Lh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Lh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Lh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Lh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Lh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Lh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Lh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Lh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Vh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Vh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=ji(d|0,f|0,0,-1048576)|0;d=C;e=Lh(e|0,0,52)|0;d=d|C;e=o|e}else{e=Ph(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;lc(b,h);if(yf(h,17368)|0){c[g>>2]=b;Di(17479,g)}b=h+6176|0;if(yf(b,17519)|0){p=qd(h+4112|0,Vd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;rh(k,256,17639,q)|0;c[t>>2]=0;do if(wi(p,k,t,0)|0){if((Pe(c[(c[t>>2]|0)+4>>2]|0,20752,l,3)|0)!=2)Di(17649,j);n=l+4|0;j=pd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Fi(t);c[s>>2]=b;rh(k,256,17685,s)|0;if(!(wi(p,k,t,0)|0)){sh(p)|0;f=0;break}b=Pe(c[(c[t>>2]|0)+4>>2]|0,20752,l,3)|0;if((b|0)!=2){c[m>>2]=b;Di(17695,m)}j=c[n>>2]|0;if((Yd(j)|0)>>>0<14){c[o>>2]=j;Di(17737,o)}b=s;g=17786;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ta(s|0,17806,q|0)|0)){c[r>>2]=s;Di(17824,r)}c[q+32>>2]=-1;b=Sa(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Di(17857,u)}else{c[e>>2]=b;Fi(t);sh(p)|0;f=1;break}}else{sh(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Yd(b)|0)>>>0>4095){c[e>>2]=b;Di(17318,e)}Ij(f,b)|0;zi(f)|0;b=Ub(f,17337)|0;if(!b){a[d>>0]=a[17341]|0;a[d+1>>0]=a[17342]|0;a[d+2>>0]=a[17343]|0;a[d+3>>0]=a[17344]|0;a[d+4>>0]=a[17345]|0}else{a[b>>0]=0;Ch(f)|0;Of(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Hi(f,47)|0;if(g){$e(g,b,e,1);if(!((Df(d,17341)|0)!=0?(Df(d,17358)|0)!=0:0)){e=Sd(g,20752,17364)|0;Of(d+6176|0,4096,e);Pj(e)}a[g>>0]=0;if(!(Df(d,17368)|0)){g=g+1|0;Xd(g,d+6176|0,Yd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Hi(f,64)|0;if(!g){if(!((Df(d,17341)|0)!=0?(Df(d,17358)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Df(d,17368)|0)){b=d+16|0;e=17372;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=17382;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Hi(f,58)|0;if(!b){e=d+16|0;Of(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Of(e,2048,f);f=d+2064|0;Of(f,2048,b+1|0);b=f}Dd(e,e,Yd(e)|0);Dd(b,b,Yd(b)|0);f=g+1|0}b=Hi(f,58)|0;do if(!b){if(!(Df(d,17341)|0)){h=d+6160|0;a[h>>0]=a[17400]|0;a[h+1>>0]=a[17401]|0;a[h+2>>0]=a[17402]|0}if(!(Df(d,17358)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Df(d,17368)|0)){h=d+6160|0;a[h>>0]=a[17403]|0;a[h+1>>0]=a[17404]|0;a[h+2>>0]=a[17405]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Of(d+6160|0,16,e);break}else{c[h>>2]=e;Di(17406,h)}}while(0);Of(d+4112|0,2048,f);i=j;return}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var f=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+16|0;u=v;t=v+4|0;c[t>>2]=0;a:do switch(c[a+4>>2]|0){case 0:{q=0;j=0;k=0;r=mi(c[a+12>>2]|0,b)|0;b:while(1){if(!r){a=17;break}if(yf(c[r+4>>2]|0,b)|0){a=17;break}f=c[r+16>>2]|0;c:do switch(f|0){case 1:{f=q;a=r+20|0;while(1){a=c[a>>2]|0;if(!a){a=k;break c}k=If(d,24)|0;c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];h[k+16>>3]=+g[a+12>>2];c[k>>2]=f;c[t>>2]=k;f=k;j=k}}case 2:{l=c[r+20>>2]|0;m=c[r+28>>2]|0;n=e[r+32>>1]|0;f=q;a=k;k=0;while(1){if((k|0)==(n|0))break c;a=If(d,24)|0;f=c[l+(k<<3)>>2]|0;c[a+4>>2]=f;c[a+8>>2]=f+m;h[a+16>>3]=+g[l+(k<<3)+4>>2];c[a>>2]=j;c[t>>2]=a;j=a;f=a;k=k+1|0}}case 3:{m=c[r+20>>2]|0;n=c[r+28>>2]|0;o=c[r+24>>2]|0;p=e[r+32>>1]|0;a=k;f=q;k=0;l=c[r+8>>2]|0;while(1){if((k|0)==(p|0))break c;j=If(d,24)|0;c[j+4>>2]=l;c[j+8>>2]=l+n;h[j+16>>3]=+g[m+(k<<2)>>2];c[j>>2]=a;c[t>>2]=j;a=j;f=j;k=k+1|0;l=l+o|0}}default:{a=15;break b}}while(0);q=f;k=a;r=c[r>>2]|0}if((a|0)==15){c[u>>2]=f;Di(15903,u)}else if((a|0)==17){dh(t);s=c[t>>2]|0;break a}break}case 1:{s=c[a+20>>2]|0;s=cc(s,b,0,hg(s,b)|0,d)|0;c[t>>2]=s;break}default:s=0}while(0);i=v;return s|0}function nc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[84+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[84+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function oc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Vf(t,f,g);Re(t,s,1,0);Re(t,w+32|0,1,0);u=c[b+12>>2]|0;v=Tg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;Rh(3,12369,r);a:do if(!(a[s>>0]|0)){n=_a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=Sg(t,u)|0;c[p+(f<<2)>>2]=Sg(t,u)|0;c[q+(f<<2)>>2]=Sg(t,u)|0;c[r+(f<<2)>>2]=Sg(t,u)|0;g=Uf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(rf(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;oc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=Sg(t,u)|0;s=Sg(t,u)|0;e=Sg(t,u)|0;b=Sg(t,u)|0;f=Uf(t,u)|0;g=C;m=Uf(t,u)|0;n=C;if(rf(h,j,k,r,s,e,b)|0){b=le(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function pc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Li(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Li(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Li(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Li(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Va(6,p|0)|0}d=Li(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Li(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Li(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function qc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=$h(512)|0;lc(b,s);h=jb(17976)|0;p=(h|0)!=0;if(p){lc(h,q);re(r|0,q|0,10280)|0;h=ef(r,b)|0}else{re(r|0,s|0,10280)|0;h=ef(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=qi(b)|0;j=sj(b,59)|0;if((j|0)!=0?(Mg(17346,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Fh(k,17987,l);Pj(b);c[m>>2]=f;Fh(k,17998,m);if((yf(s,17341)|0)==0?(yf(17400,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((yf(s,17358)|0)==0?(yf(17435,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Fh(k,18026,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Fh(k,18015,n)}b=c[t>>2]|0;re(r|0,s|0,10280)|0;Ae(r,18040,b);if(p){re(r|0,q|0,10280)|0;Ae(r,18054,b);k=c[t>>2]|0}else k=b;mj(k,18074);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Fh(k,18113,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Fh(k,18088,u);break}}while(0);if(g|0)mj(c[t>>2]|0,g);v=c[t>>2]|0;mj(v,18134);nf(h,c[v+4>>2]|0,c[v+12>>2]|0);Fi(t)}i=w;return h|0}function rc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=le(120)|0;c[l+4>>2]=qi(a)|0;m=Xg(a,wk()|0)|0;c[l+8>>2]=m;Re(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Vj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Di(20463,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=Tg(m,n)|0;g=l+26|0;b[g>>1]=Tg(m,n)|0;h=Uf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Uf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Uf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=Tg(m,n)|0;b[l+58>>1]=Tg(m,n)|0;j=Uf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Uf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Sg(m,n)|0;j=Uf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=le(32)|0;c[j+4>>2]=Sg(m,n)|0;c[j+8>>2]=Sg(m,n)|0;p=Uf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Uf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}dh(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Vf(m,g,h);b[l+104>>1]=Tg(m,n)|0;b[l+106>>1]=Tg(m,n)|0;p=Uf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Vf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=hd(a,m)|0;i=o;return l|0}function sc(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 tc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((Ib[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((Ib[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((Ib[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){Ld(b,p,e);ed(a,b,d,g,h)}i=r;return}function uc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=fh(f|0,b|0,10,0)|0;f=C;e=ji(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ji(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Vh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Rh(4,13834,p);f=b+36|0;e=0;while(1){d=ye(0,1)|0;c[p>>2]=d;d=Cj(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=bi(c[p>>2]|0,13920)|0;c[f>>2]=qi(d)|0;d=te(a,d)|0;$d(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;ci(13867,g);n=0}else if((h|0)==7){d=bi(c[p>>2]|0,13930)|0;do if(!d){d=Ge(a)|0;e=C;if((e|0)<0){$d(p);c[j>>2]=a;Di(13946,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=pd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=bi(c[p>>2]|0,14013)|0;if(!d){d=bi(c[p>>2]|0,14028)|0;if(!d){$d(p);c[m>>2]=a;Di(14034,m)}else o=d}else o=d;if(!(Ta(o|0,14109,k|0)|0)){$d(p);c[l>>2]=o;Di(14134,l)}d=Lf(k)|0;if((d|0)==-1){$d(p);c[q>>2]=o;Di(14176,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;$d(p);n=200;break}}while(0);i=r;return n|0}function wc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Vf(c[t>>2]|0,d,e);Re(c[t>>2]|0,o,1,0);Re(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=Tg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Re(c[t>>2]|0,r,q,h);e=Uf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=af(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Re(c[t>>2]|0,r,q,h);e=Uf(c[t>>2]|0,p)|0;d=C;j=af(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=ej(c[t>>2]|0)|0;m=C;wc(b,k,l,f,g);Vf(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}wc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Re(c[t>>2]|0,r,q,d);Re(c[t>>2]|0,j,c[h>>2]|0,0);if(!(af(f,r,q)|0))li(g,Mi(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[6239]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Li(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Li(yb(146,m|0)|0)|0;la(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 yc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Mc(24565,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Hi(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Hi(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(cb(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6240]|0))c[e+76>>2]=-1;mb(24984);f=c[6245]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6245]=e;db(24984)}}else{c[(yi()|0)>>2]=22;e=0}i=o;return e|0}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=$h(4096)|0;while(1){if((sd(b,1e6)|0)<=0){j=3;break}g=Og(b,m,4096)|0;if(g){sf(c[o>>2]|0,m,g);if(!(Jh(c[(c[o>>2]|0)+4>>2]|0,17565)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Yd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Yd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ci(17521,n);g=0}else if((j|0)==18){g=Vd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ci(17567,p);g=0;break}if(!e)Fi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Ac(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Vf(c[n>>2]|0,d,e);Re(c[n>>2]|0,p,1,0);Re(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Tg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=_a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Re(c[n>>2]|0,l,c[k>>2]|0,0);q=Uf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;Ac(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Re(c[n>>2]|0,l,c[k>>2]|0,0);Re(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function Bc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?25004:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8628+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(yi()|0)>>2]=84;f=-1}i=l;return f|0}function Cc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Og(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Vh(1,0,g|0,e|0)|0;b=ji(b|0,C|0,d|0,h|0)|0}r=(Ng(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)eg(18474,l);if((b|0)==-1)eg(18505,o);sh(c[m>>2]|0)|0;sh(c[a+12>>2]|0)|0;sh(c[n>>2]|0)|0;i=q;return 0}function Dc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=qf(a,2,h)|0;if((e|0)<0)if((c[(yi()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;pg(15091,d)}else{Fe(e,h)|0;if((c[h+36>>2]|0)<64){sh(e)|0;b=0}else{Od(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Vj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Di(15114,j)}}else f=0;b=le(56)|0;c[b+4>>2]=Qg(e,f)|0;g=Sf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Sf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Qg(e,f)|0;Qg(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Kd(b);break}if((sh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Di(21547,k)}}else{if(!(c[a+20>>2]&2)){if(hh(d)|0){c[f>>2]=c[a+12>>2];Di(21516,f)}}else{vd(d)|0;if(hh(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Di(21486,e)}}if((Be(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Di(21547,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)pg(21169,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Di(21577,l)}if(b|0)Da(21618,20822,435,21636);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Di(21652,m)}i=n;return d>>>8&255|0}function Fc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=sk(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)rk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Gc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Vf(c[n>>2]|0,d,e);Re(c[n>>2]|0,h,1,0);Re(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Tg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Re(c[n>>2]|0,l,d,0);e=Uf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Re(c[n>>2]|0,l,c[k>>2]|0,0);if((af(f,l,c[k>>2]|0)|0)<0)break;e=Uf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Gc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Re(c[n>>2]|0,l,d,0);Re(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(af(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Hc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=qi(25632)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(zj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=le(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(zj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;rh(h,4,11677,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ze(b|0,0,e|0)|0;return b|0}function Jc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=$h(512)|0;c[h>>2]=f;mj(f,b);mj(f,17337);d=b+16|0;if(a[d>>0]|0){d=Hc(d)|0;mj(f,d);Pj(d);d=b+2064|0;if(a[d>>0]|0){mj(f,17431);d=Hc(d)|0;mj(f,d);Pj(d)}mj(f,17433)}mj(f,b+4112|0);if(!((yf(b,17368)|0)==0?!(yf(17403,b+6160|0)|0):0))e=7;do if((e|0)==7){if((yf(b,17341)|0)==0?(yf(17400,b+6160|0)|0)==0:0)break;d=b+6160|0;if((yf(b,17358)|0)==0?(yf(17435,d)|0)==0:0)break;mj(f,17431);mj(f,d)}while(0);mj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Fh(f,17439,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Fh(f,17456,k)}k=Ah(h)|0;i=l;return k|0}function Kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Yb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}sh(a)|0;if((h|0)>0)Pj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Mg(18215,f)|0)==0?(Mg(18223,f)|0)==0:0){g=11;break}f=te(g,f)|0;c[j>>2]=f;a=hc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ci(19225,k);g=14}else if((g|0)==11){c[l>>2]=f;ci(19279,l);g=14}else if((g|0)==13){c[m>>2]=f;ci(19309,m);g=14}if((g|0)==14)if((b|0)>0){Pj(f);b=0}else b=0;i=n;return b|0}function Lc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){re(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;re(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){re(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Mc(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|0)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?b:0)|0}function Nc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Li(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(yi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Li(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;pc(e,2,j)|0}if(b&2048){c[h>>2]=pc(e,3,k)|0|2048;pc(e,4,h)|0}}}}while(0);i=l;return e|0}function Oc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6239]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Li(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Li(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Rc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16718,16770,388,16782);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Ti(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)dh(b);d=d+1|0}Pj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=le(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Re(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=Vj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Di(12325,j)}}else f=0;c[d+24>>2]=Sg(b,f)|0;j=Uf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=Sg(b,f)|0;c[d+44>>2]=Sg(b,f)|0;c[d+48>>2]=Sg(b,f)|0;c[d+52>>2]=Sg(b,f)|0;g=Uf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=Sg(b,f)|0;Re(b,h,4,0);b=ej(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Tc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Rh(4,14864,p);$g(500);l=a+5|0;k=id(l,20460)|0;c[p>>2]=k;Aj(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}$g(250);g=e-j|0;g=Af(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Rh(4,14917,m);if(hh(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;ci(14939,o);c[n>>2]=l;pg(14823,n)}else if((g|0)==6){cj(p);i=q;return a|0}return 0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=le(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=$h(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){mj(e,20748);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){mj(e,20752);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}mj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Ah(j)|0;if(!(c[a>>2]|0))Di(20754,k);if(!(b&8))e=0;else{Mh(l,Ne(76,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Mh(l,Ne(d,l)|0);e=e+1|0}i=m;return l|0}function Vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=sk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;re(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(ne(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)rk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)rk(f);return e|0}function Wc(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(!(vf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);re(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 Xc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=_a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{re(l|0,b|0,d|0)|0;Ze(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Di(16070,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Gc(a,j,k,l,g)|0;else{wc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Zc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Yd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function _c(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=le(16)|0;else l=If(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=nj(d,e)|0;else{k=If(h,e+1|0)|0;c[l+4>>2]=k;re(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Rc(b,pi(m)|0);return l|0}function $c(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=xk()|0;mk(24872)|0;if((c[6225]|0)!=0&(a|0)==(c[6226]|0)){Ng(2,11802,61)|0;Za(1)}kk(24872)|0;mk(24908)|0;mk(24872)|0;c[6226]=a;c[6225]=1;kk(24872)|0;if(!(c[6234]|0))c[6234]=ye(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;rh(d,64,17456,b)|0;a=ff(c[6234]|0,d)|0;if(!a){a=le(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=aj(c[6234]|0,d,a)|0}mk(24872)|0;c[6225]=0;kk(24872)|0;kk(24908)|0;i=e;return c[a+8>>2]|0}function ad(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=$h(Yd(f)|0)|0;c[j>>2]=g;h=f;f=Hi(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;mj(g,h);mj(g,17519);m=f+1|0;h=m;f=Hi(m,47)|0}mj(g,h);f=Ah(j)|0;j=Yd(d)|0;m=Yd(e)|0;m=j+3+m+(Yd(f)|0)|0;j=le(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;rh(j,m,14564,k)|0;c[b+44>>2]=og(b,14573)|0;c[b+48>>2]=og(b,14580)|0;c[b+52>>2]=og(b,14591)|0}i=l;return}function bd(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Yi(b,d,0)|0;if((d|0)>-1){b=Rg(b,1,d)|0;c[h>>2]=b;a:do if((((Zb(b,g,0)|0)!=0?(Mg(18168,c[g>>2]|0)|0)!=0:0)?(ag(g)|0,f=ag(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Vd(f)|0;if(e)while(1){if(!(Zb(c[h>>2]|0,g,0)|0))break a;f=ag(g)|0;if(!f)break a;b=Bh(f)|0;aj(e,b,qi(Qh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Kd(h)}else d=c[(yi()|0)>>2]|0;i=j;return d|0}function dd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=ig(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ed(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((Ib[d&15](k,j)|0)>-1?(Ib[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Ib[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Ld(b,o,e);i=p;return}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8832;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(yi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Fc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function gd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b;while(1){b=g;d=0;while(1){if(((a[b>>0]|0)+-48|0)>>>0>=10)break;b=b+1|0;d=d+1|0}b=c;e=0;while(1){if(((a[b>>0]|0)+-48|0)>>>0>=10)break;b=b+1|0;e=e+1|0}if((e|d|0)>-1){f=Vd(g)|0;b=Vd(c)|0;if((f|0)!=(b|0)){c=f;h=11;break}c=c+e|0;d=g+d|0}else d=g;e=Zg(d)|0;if((e|0)!=(Zg(c)|0)){b=d;h=13;break}if(!e){b=0;break}b=af(d,c,e)|0;if(b|0)break;g=d+e|0;c=c+e|0}if((h|0)==11)b=c-b|0;else if((h|0)==13)b=yf(b,c)|0;return b|0}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=le(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Re(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Vj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Di(16031,j)}}else f=0;c[d+12>>2]=Sg(b,f)|0;c[d+16>>2]=Sg(b,f)|0;c[d+20>>2]=Sg(b,f)|0;g=Uf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Re(b,h,4,0);Re(b,h,4,0);b=ej(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(yf(b,12779)|0){if(!(yf(b,12785)|0)){f=c[2069]|0;break}e=de(b,d)|0;if(!e){a:do if(!d)e=25632;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=12813;break a}case 119:{e=12803;break a}default:{e=e<<24>>24==97?12792:25632;break a}}}while(0);d=se(c[(yi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Di(12822,g)}else f=e}else f=c[2128]|0;while(0);i=h;return f|0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;rd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=le(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;ad(a,b,h,d);c[e>>2]=0;b=a+44|0;j=Wh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=Wh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=Wh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;dh(e);Pj(c[a+40>>2]|0);Pj(c[b>>2]|0);Pj(c[f>>2]|0);Pj(a);Pj(h);Pj(d);d=c[e>>2]|0}i=g;return d|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(jf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ak(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;ik(f);break}else{b=Ha(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ci(12525,f);b=0;break}}else{xf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function ld(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=le(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20346+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20346+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20346+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20346+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function md(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[20543+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[20543+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function nd(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0.0,g=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;o=i;i=i+32|0;n=o;f=0.0;g=0;l=0;j=0.0;while(1){k=(b|0)==0;if(!k?(m=+h[b+16>>3],!(m<d)):0){p=+(((c[b+8>>2]|0)-(c[b+4>>2]|0)|0)>>>0);f=f+p;g=b;l=(l|0)==0?b:l;j=j+m*p}else{if(l){l=c[l+4>>2]|0;g=c[g+8>>2]|0;c[n>>2]=a;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j/f;Eh(e,11608,n)|0;f=0.0;g=0;j=0.0}if(k)break;else l=0}b=c[b>>2]|0}i=o;return}function od(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))pg(20895,k);l=Ji()|0;if(kh(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Ji()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;pg(20918,f)}if(b|0?(yg(b,0)|0)<0:0)pg(20945,g);if((d|0)!=1?(yg(d,1)|0)<0:0)pg(20965,h);if((e|0)!=2?(yg(e,2)|0)<0:0)pg(20986,j);Oh();i=k;return}function pd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Fj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=fh(c|0,d|0,10,0)|0;b=b+1|0;c=Vh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Vh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function qd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=fc(a,b)|0;if((a|0)<0)a=-1;else{if((sd(a,1e6)|0)>0)wi(a,25632,0,0)|0;c[g>>2]=0;c[h>>2]=d;rh(f,256,17610,h)|0;do if(wi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,rh(f,256,17620,j)|0,(wi(a,f,0,0)|0)==0):0){sh(a)|0;a=-1;break}if(!(wi(a,17630,0,0)|0)){sh(a)|0;a=-1}}else{sh(a)|0;a=-1}while(0)}i=k;return a|0}function rd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Hi(b,58)|0;if(!h)h=0;else{m=nj(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Hi(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){De(l,1024,b,k+1-b|0);c[g>>2]=Td(l)|0}j=Hi(b,47)|0;if(!j)j=b+(Yd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Td(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Xf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(yi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=se(a)|0;ci(17461,m)}i=n;return a|0}function td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=qf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=le(5)|0;c[g>>2]=f;if((Og(e,f,4)|0)<4)Qi(g);else a[f+4>>0]=0;sh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=ge(e)|0,Qi(h),(g|0)!=0):0){h=Yg(Ye(b)|0,33,b,0)|0;e=Rg(b,d,_j(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function ud(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Qc(g,21676,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ve(g)|0;i=j;return h|0}ve(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function vd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=fe(a)|0;break}d=(sk(a)|0)==0;b=fe(a)|0;if(!d)rk(a)}else{if(!(c[2098]|0))b=0;else b=vd(c[2098]|0)|0;mb(24984);a=c[6245]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=sk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=fe(a)|0|b;if(d|0)rk(a);a=c[a+56>>2]|0}while((a|0)!=0);db(24984)}while(0);return b|0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;d=0;e=f;while(1){if(!e){g=d;break}d=d+1|0;e=c[e>>2]|0}if((g|0)>1){h=pe(g<<2)|0;d=f;e=0;while(1){if(!d)break;c[h+(e<<2)>>2]=d;d=c[d>>2]|0;e=e+1|0}ec(h,g,4,b);d=0;e=0;while(1){if((d|0)==(g|0))break;b=h+(d<<2)|0;c[c[b>>2]>>2]=e;d=d+1|0;e=c[b>>2]|0}Pj(h);d=0;while(1){if(!e)break;g=c[e>>2]|0;c[e>>2]=d;h=e;e=g;d=h}c[a>>2]=d}return}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=lg(e,0)|0;c[n>>2]=g;Jg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=lg(d,e)|0;else if(!f){e=qf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;pg(21455,k)}else j=e}else j=0;c[m>>2]=j;e=Ff(a,b,j,g)|0;ng(m);if(!l)ng(n);i=o;return e|0}function yd(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[(yi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function zd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=pe(k)|0;re(j|0,d|0,e|0)|0;Pj(c);d=j;e=k;c=j}k=Pb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=qi(d)|0;Pj(c);c=l}i=h;return c|0}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;g=k;f=k+20|0;e=+qg(b);c[g>>2]=a;c[g+4>>2]=d;h[g+8>>3]=e;Ih(11621,g)|0;b=ie(a)|0;c[g>>2]=b;c[f>>2]=id(d,20458)|0;b=Ed(b)|0;while(1){if(!b)break;a=b+4|0;c[j>>2]=a;Rh(2,11658,j);d=uh(0)|0;c[j>>2]=d;d=mc(c[g>>2]|0,a,d)|0;nd(a,d,e,c[f>>2]|0);Ai(j);b=c[b>>2]|0}oi(g);cj(f);i=k;return}function Bd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Rh(4,14633,j);h=We(a)|0;n=id(h,20460)|0;c[j>>2]=n;Aj(n,b,0)|0;a=Af(g+256|0,f,e,n)|0;if(!(hh(n)|0)){cj(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;ci(14774,k);c[l>>2]=h;pg(14823,l)}return 0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Rh(4,14254,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(kc(a,f,e)|0){a=Lf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Di(14286,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function Dd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Hh(f,11673,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ed(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[d>>2]=0;switch(c[a+4>>2]|0){case 0:{a=Hf(c[a+12>>2]|0)|0;c[b>>2]=a;while(1){if(!a)break;Ci(d,c[a+4>>2]|0)|0;a=c[a>>2]|0}dk(b);break}case 1:{a=Wg(c[a+20>>2]|0)|0;c[b>>2]=a;while(1){if(!a)break;Ci(d,c[a+4>>2]|0)|0;a=c[a>>2]|0}rg(b);break}default:{}}wd(d,6);i=e;return c[d>>2]|0}function Fd(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;Ze(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){Wc(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;Wc(h,f,a)|0}while(0);i=j;return}function Gd(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(!(vf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Hd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Gh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=fd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Gh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Id(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(gi(b)|0)){c=(Yd(b)|0)+1|0;d=_a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Ij(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Hi(b,47)|0;if(!b){mg(e)|0;b=0;continue}else{a[b>>0]=0;mg(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(sk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Gd(d,b)|0;rk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Gd(d,b)|0}while(0);return e|0}function Kd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Gi(c[2128]|0)|0):0){sh(c[d>>2]|0)|0;Pj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else di(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);Pj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)$d(g);Qi(b)}return}function Ld(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;re(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;re(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;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=Vh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,Vh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Vh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(yf(a,12779)|0)if(yf(a,12785)|0){c[d>>2]=436;d=qf(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?12813:12792;else d=12803;else d=12966;else d=12942;c[f>>2]=a;c[f+4>>2]=d;pg(12977,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Od(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Og(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;pg(13005,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Di(13030,g)}else if((d|0)==8){i=h;return}}function Pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function Qd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(Fj(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(Fj(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Rd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=Fg(h,f)|0;c[e+4>>2]=Fg(h,f)|0;c[e+8>>2]=Fg(h,f)|0;c[e+12>>2]=Fg(h,f)|0;c[e+16>>2]=Fg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=oh(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Yd(b)|0;h=Yd(c)|0;d=0;e=Ub(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Ub(e+g|0,b)|0}f=Yd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=le((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Ub(a,b)|0;d=f;while(1){if(!a)break;Ij(d,e)|0;j=a+g|0;i=d+(a-e)|0;Ij(i,c)|0;e=j;a=Ub(j,b)|0;d=i+h|0}Ij(d,e)|0;return f|0}function Td(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(Eg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=le(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(Eg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;Dh(g,14558,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Ud(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Lh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Vd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Fj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Xd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Hh(f,11673,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Yd(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 Zd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ph(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Zd(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 _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(ff(c[e>>2]|0,d)|0)){aj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Eh(g,12072,h)|0}}}while(0);i=j;return}function $d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Dj(d);d=g}e=e+1|0}}else{Ai(b);b=d+8|0}while(0);Pj(c[b>>2]|0);Qi(a)}return}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=pc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((pc(a,4,f)|0)<0){c[g>>2]=se(c[(yi()|0)>>2]|0)|0;ci(17022,g);d=-1}else d=0}else{c[e>>2]=se(c[(yi()|0)>>2]|0)|0;ci(16991,e);d=-1}i=h;return d|0}function be(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=24848;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function ce(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[20551+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[20559+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[20559+f>>0]}while(0);return}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Mc(24565,a[d>>0]|0,4)|0){h=Pf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Li(ib(5,e|0)|0)|0;if((e|0)>=0){b=yc(e,d)|0;if(!b){c[f>>2]=e;Va(6,f|0)|0;b=0}}else b=0}else{c[(yi()|0)>>2]=22;b=0}i=g;return b|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Di(15653,d)}d=Lj(a,b)|0;if(!d){g=c[(yi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Di(15717,e)}else{i=f;return d|0}return 0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Mg(11922,a)|0))if(!(Mg(11925,a)|0))if(!(Mg(11929,a)|0))if(!(Mg(11932,a)|0))a=0;else{a=11937;e=5}else{a=11941;e=5}else{a=11945;e=5}else{a=11947;e=5}if((e|0)==5){c[d>>2]=a;rh(b,20,11950,d)|0;a=qi(b)|0}i=f;return a|0}function he(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=Vh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Vh((dc(h,g,Vh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function ie(a){a=a|0;var b=0,d=0,e=0;e=le(24)|0;if(!(cg(a)|0)){d=uh(0)|0;c[e+16>>2]=d;d=Ob(a,0,0,512,d)|0;c[e+8>>2]=d;a=ye(0,1)|0;while(1){if(!d)break;b=d+4|0;if(!(ff(a,c[b>>2]|0)|0))aj(a,c[b>>2]|0,d)|0;d=c[d>>2]|0}c[e+12>>2]=a;c[e+4>>2]=0}else{c[e+4>>2]=1;c[e+20>>2]=Jj(a)|0}return e|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;sg(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ke(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=Ug(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ui(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 le(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Di(15789,b)}b=gk(a)|0;if(!b){f=c[(yi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Di(15842,d)}else{Ze(b|0,0,a|0)|0;i=e;return b|0}return 0}function me(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(gi(a)|0)){d=de(a,20458)|0;c[b>>2]=d;if(!d){a=0;break}else{cj(b);a=1;break}}else{f=xi()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Qa(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;ci(16001,d);a=0;break}}while(0);i=e;return a|0}function ne(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=12681;break}case 2:{a=12660;break}case -1:{a=12649;break}case -2:{a=12633;break}case -3:{a=12633;break}case -4:{a=12618;break}case -5:{a=12603;break}case -6:{a=12584;break}case 0:{a=0;break}default:{c[b>>2]=a;rh(25504,128,12565,b)|0;a=25504}}i=d;return a|0}function pe(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Di(15529,b)}b=gk(a)|0;if(!b){f=c[(yi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Di(15587,d)}else{i=e;return b|0}return 0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(yi()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;re(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Xa(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 se(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22633+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22721;e=5;break}}if((e|0)==2)if(!c)b=22721;else{b=22721;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 te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;lc(b,g);lc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Of(e,2048,d);Of(f+2064|0,2048,g+2064|0)}g=Jc(f)|0;i=h;return g|0}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Cg(b,d)|0))break;if((Mg(12261,c[d>>2]|0)|0)==0?(Mg(12269,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Rh(2,12312,f)}if((g|0)==5){c[e>>2]=c[d>>2];Rh(2,12275,e);a[b+48>>0]=1}i=h;return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function xe(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Di(12434,k)}else{c[j>>2]=e;Si(d,j)}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16718,16770,357,16825);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=uh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Ti(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function ze(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;sg(j,0);e=Vb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Ae(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;rh(h,256,17955,j)|0;j=ld(h,Yd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Fh(e,17961,k);Qi(g)}i=l;return}function Be(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(24984);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6245]|0)==(a|0))c[6245]=b;db(24984)}b=vd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function Ce(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=Rf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=13207;else e=(d|0)==2?13166:13175;else e=13198;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;pg(13216,g);return 0}function De(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Di(13331,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;hj(b,e,f)|0;a[b+g>>0]=0;i=j;return}function Ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=ji(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){be(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Li(Oa(195,f|0)|0)|0}else d=Li(d)|0;i=g;return d|0}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;rh(g,4096,18179,e)|0;a=ye(0,1)|0;c[e>>2]=a;if(((cd(g,18196,a)|0)==206?(b=bi(a,18200)|0,(b|0)!=0):0)?(d=Hi(b,47)|0,(d|0)!=0):0){b=pd(d+1|0)|0;a=C}else{a=-1;b=-1}$d(e);C=a;i=f;return b|0}function He(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2069]|0;if((c[f+76>>2]|0)>-1)g=sk(f)|0;else g=0;do if((wj(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=(Gd(f,10)|0)<0}while(0);if(g|0)rk(f);return d<<31>>31|0}function Ie(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=Zi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function Je(a,b){a=a|0;b=b|0;var d=0,e=0;d=xi()|0;a=jd(a,(b|0)==0?13388:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Jh(e,14573)|0){if(!(gi(e)|0))break a;if((Vg(e)|0)>>>0<b>>>0)b=Vg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function Ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Pj(e);f=f+1|0}Pj(b);Pj(i);i=h}Qi(g+12|0);Qi(g+28|0);Qi(a)}return}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Mj(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Di(12213,g);return +(0.0)}function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Di(12165,f)}j=Vd(d)|0;i=g;return j|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=le((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=qi(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Rh(4,14987,d);$g(500);if((lh(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Pc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Yc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Qe(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(vi(k,d,Yd(d)|0,h,8)|0))a=0;else{Kh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=$f(b,a,e,f)|0}i=j;return a|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Pb(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Di(14506,g)}else{i=h;return}}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Rh(4,14831,d);if((lh(We(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2069]|0);if((b|0)==(c[2128]|0)|d)if(d){vd(b)|0;b=1}else b=1;else if(!(Be(b)|0))b=1;else{eg(13266,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Vc(b,d,1,a)|0)!=1:0){b=hh(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Di(12911,f)}else{f=se(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Di(12882,e)}}i=g;return}function Ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=ph(b)|0;do if((f|0)!=0?(yf(f,16565)|0)!=0:0){d=Xi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Di(16288,h)}else e=d;while(0);i=j;return e|0}function We(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(Mg(14681,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Di(14688,e);if(((((Ub(b,14715)|0)==0?(Hi(b,126)|0)==0:0)?(Ub(b,14718)|0)==0:0)?(Ub(b,14721)|0)==0:0)?(Jh(14725,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Di(14728,d);return 0}function Xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Ti(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Di(16686,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ye(a){a=a|0;var b=0;b=qi(a)|0;if(!(((Mg(18215,a)|0)==0?(Mg(18223,a)|0)==0:0)?!(Mg(18232,a)|0):0))Dd(a,b,Yd(a)|0);if(!(Jh(b,11962)|0))if(!(Jh(b,11966)|0))if(!(Jh(b,11969)|0)){a=(Jh(b,11974)|0)==0;a=a?0:8}else a=44;else a=32;else a=20;Pj(b);return a|0}function Ze(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 _e(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Hj(e&65535)|0;if(d){h=bk(kd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=sj(b,59)|0;if((g|0?Mg(17346,g)|0:0)?(i=(Hi(g,61)|0)+1|0,h=Hi(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=pd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=pd(b)|0;c[e>>2]=f}}return}function af(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 bf(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Li(pa(102,h|0)|0)|0;i=g;return e|0}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=$h(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){mj(e,20752);b=c[d>>2]|0}mj(e,b);f=f+1|0}g=Ah(g)|0;i=h;return g|0}function df(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Li(pa(102,h|0)|0)|0;i=g;return e|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(yf(a,17341)|0)if(!(yf(a,17358)|0)){d=Yh(a+4112|0,Vd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Di(17913,e)}else d=fc(a+4112|0,Vd(a+6160|0)|0)|0;while(0);i=f;return d|0}function ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((yf(c[e+4>>2]|0,d)|0)!=0);return e|0}function gf(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((Li(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;if(((a[e>>0]|0)+-48|0)>>>0<10){f=ti(e)|0;i=g;return f|0}else{h=c[b+28>>2]|0;g=c[b+4>>2]|0;c[f>>2]=d;c[f+4>>2]=e;c[f+8>>2]=h;c[f+12>>2]=g;Di(19434,f)}return 0}function jf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Hi(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=ud(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=oe(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Di(12697,g)}return 0}function lf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Yd(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(Fj(d<<24>>24)|0)!=0;d=d&1}return d|0}function mf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(yf(a,12779)|0){if(Ye(a)|0){c=td(a,b)|0;break}c=qf(a,0,c)|0;if((c|0)==-1)c=0;else c=Rg(a,b,c)|0}else c=tj(b)|0;while(0);i=d;return c|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Ng(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)pg(13072,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Di(13098,e)}}function of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){Kh(c[a+4>>2]|0,e);f=le(16)|0;c[f+4>>2]=nj(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(20483,20510,206,20525)}function pf(b){b=b|0;var d=0,e=0,f=0;d=c[2099]|0;f=se(c[(yi()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=sk(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Tf(b,Yd(b)|0,1,d)|0;Jd(58,d)|0;Jd(32,d)|0}Tf(f,Yd(f)|0,1,d)|0;Jd(10,d)|0;if(e|0)rk(d);return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Li(ib(5,f|0)|0)|0;i=e;return d|0}function rf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Gh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;re(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Li(pa(102,f|0)|0)|0;i=e;return d|0}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Og(b,d,e)|0;a=a+16|0;b=a;b=ji(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function vf(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 wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;nf(b,d,e);return}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((gc(2,a,d)|0)<0){b=se(c[(yi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ci(12484,e);a=0}else{c[b>>2]=ak(c[d>>2]|0)|0;a=1}i=f;return a|0}function yf(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 zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Od(b,d,e);return}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Vc(b,1,d,e)|0}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((bf(a,1,20,d,8)|0)>=0)if((bf(a,1,21,d,8)|0)<0){ci(16886,e);a=-1}else a=0;else{ci(16836,f);a=-1}i=f;return a|0}function Cf(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,cb(54,f|0)|0):0)a[b+75>>0]=-1;f=xc(b,d,e)|0;i=g;return f|0}function Df(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=qj(a[e>>0]|0)|0;c=c<<24>>24;b=(qj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Ef(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 Ff(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;Jg(b);a=Uc(a,b)|0;if(!(b&1)){b=_g(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);ng(f)}else Ag(a,d,e,0,0);i=g;return a|0}function Gf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+16|0;d=a+8|0;e=0;a=0;while(1){if((e|0)>=(c[f>>2]|0))break;b=(c[d>>2]|0)+(e<<2)|0;while(1){b=c[b>>2]|0;if(!b)break;g=Mi(b,16)|0;c[g>>2]=a;a=g}e=e+1|0}return a|0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Xe(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=fd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Di(13280,g)}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[b>>2]|0;a=yf(c[e+4>>2]|0,c[d+4>>2]|0)|0;if(!a){b=c[e+8>>2]|0;a=c[d+8>>2]|0;if((b|0)==(a|0))a=(c[e+12>>2]|0)-(c[d+12>>2]|0)|0;else a=b-a|0}return a|0}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=jb(13380)|0;d=(b|0)!=0;if(d)Of(e,100,b);qa(13380,13383,1)|0;Ka();c[a+32>>2]=0;b=Sa(a|0)|0;if(d)qa(13380,e|0,1)|0;else ob(13380)|0;Ka();i=f;return b|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Mc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;re(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Nf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Li(hb(10,b|0)|0)|0;if(b){if((c[(yi()|0)>>2]|0)==21){c[d>>2]=a;b=Li(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Yd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Di(12733,f)}else{Ij(a,d)|0;i=g;return}}function Pf(b){b=b|0;var c=0,d=0,e=0;d=(Hi(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Hi(b,120)|0)==0;d=e?d:d|128;b=(Hi(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Di(12125,e)}}function Rf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Li(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Od(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Tf(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=(sk(e)|0)==0;a=Wc(a,f,e)|0;if(!g)rk(e)}else a=Wc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Re(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=kj(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=ji(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(13388)eh(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Wf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2069]|0;else{He(11864)|0;He(11889)|0;d=c[2069]|0;Fc(d,a,b)|0;Jd(10,d)|0;vd(d)|0}vd(d)|0;d=c[2099]|0;Fc(d,a,b)|0;Jd(10,d)|0;vd(d)|0}return}function Xf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Li(kb(142,h|0)|0)|0;i=g;return d|0}function Yf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Zf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=pe(h)|0;a=a+136|0;eh(a,b,d+64|0,0)|0;zf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=mf(a,b)|0;if(!b){e=se(c[(yi()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Di(12050,d)}else{i=e;return b|0}return 0}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;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;oc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);dh(f);i=g;return c[f>>2]|0}function ag(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Qh(e)|0,(a[d>>0]|0)!=0):0){e=zg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;ei(e,b,24864);if((c[e>>2]|0)==4){Ad(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);i=d;return 0}else Di(11442,d);return 0}function cg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;a=id(a,20460)|0;Ue(a,b,4);Be(a)|0;a=c[b>>2]|0;if((a|0)==-2003829722)a=1;else{a=Vj(a)|0;c[b>>2]=a;a=(a|0)==-2003829722&1}i=d;return a|0}function dg(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=se(c[(yi()|0)>>2]|0)|0;c[g+4>>2]=a;Dh(f,11916,g)|0;ii(f,e);i=d;return}function fg(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?(Tf(b,d,1,a)|0)!=1:0){a=se(hh(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Di(12852,e)}i=f;return}function gg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else re(b,c,d)|0;return b|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=c[a+20>>2]|0;if(!(vi(f,b,Yd(b)|0,d,8)|0))a=0;else{Kh(c[a+16>>2]|0,d);a=c[d+4>>2]|0}i=e;return a|0}function ig(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(ne(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Di(21112,e)}}function kg(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 lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=qf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;pg(21423,d)}else{i=e;return b|0}return 0}function mg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((nh(a,511)|0)<0)if((c[(yi()|0)>>2]|0)==17)b=0;else{pf(25632);c[d>>2]=a;Di(15943,d)}else b=1;i=e;return b|0}function ng(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((sh(b)|0)<0){c[d>>2]=b;pg(21147,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Yd(c[g>>2]|0)|0;e=Yd(d)|0;b=le(f+2+e|0)|0;re(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;re(f+1|0,d|0,e|0)|0;return b|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=se(c[(yi()|0)>>2]|0)|0;c[f+4>>2]=a;Dh(e,11916,f)|0;Si(e,d)}function qg(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+Mj(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;Di(12465,e);return +(0.0)}function rg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Bi(b);d=f}c[a>>2]=0;i=e;return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((sh(b)|0)<0)pg(13248,d);else{c[a>>2]=-1;break}while(0);i=e;return}function ug(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Vf(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Sc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Yd(a)|0;g=g+1+(Yd(b)|0)|0;d=le(g)|0;c[f>>2]=a;c[f+4>>2]=b;qh(d,g,13261,f)|0;i=e;return d|0}function wg(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;b=c[e+4>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0))a=(c[e+8>>2]|0)-(c[a+8>>2]|0)|0;else a=b-d|0;return a|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=$i(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(11994,12016,352,12032)}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Li(d)|0;i=f;return e|0}function zg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Fj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}
-function Ag(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;g=i;i=i+16|0;h=g;c[a+16>>2]=_g(h)|0;bc(a,b,c[h>>2]|0,d,e,f);ng(h);i=g;return}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(lh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function Cg(b,d){b=b|0;d=d|0;a:while(1){if(!(Zb(b,d,0)|0)){b=0;break}switch(a[(Qh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Bg(b)|0;b=id(b,20460)|0;g=pe(f+1|0)|0;c[d>>2]=g;Ue(b,g,f);a[g+f>>0]=0;Be(b)|0;if(e|0)c[e>>2]=f;return}function Eg(a){a=a|0;a:do if(!(zj(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function Fg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=Zi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;re(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Hg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){ek(b+96|0);d=b+100|0;Nh(d);Nh(d);hk(b+20|0);ac(b+8|0);Pj(c[b+4>>2]|0);Qi(a)}return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Og(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Jg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Di(20619,c);break}default:{}}if((a&18|0)==16)Di(20685,b);else{i=c;return}}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;a=ff(a,b)|0;if(!a){c[d>>2]=b;Di(16793,d)}else{i=e;return c[a+8>>2]|0}return 0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(sk(a)|0)==0;b=Wd(a,b,d)|0;if(!e)rk(a)}else b=Wd(a,b,d)|0;return b|0}function Mg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Li(pb(4,f|0)|0)|0;i=e;return a|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Li(sb(3,f|0)|0)|0;i=e;return a|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;rh(e,256,16715,f)|0;Bh(e)|0;b=ff(a,e)|0;i=d;return b|0}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Od(a,d,4);a=c[d>>2]|0;if(b){a=Zi(a|0)|0;c[d>>2]=a}i=e;return a|0}function Rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=qi(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=le(65537)|0;return f|0}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Re(a,d,4,0);a=c[d>>2]|0;if(b){a=Vj(a)|0;c[d>>2]=a}i=e;return a|0}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Re(a,d,2,0);a=b[d>>1]|0;if(c){a=Wj(a)|0;b[d>>1]=a}i=e;return a|0}function Ug(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((lh(a,b)|0)<0){c[d>>2]=a;Di(15970,d)}else{i=e;return c[b+56>>2]|0}return 0}function Wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];fi(c[a+20>>2]|0,b,1);dh(b);i=d;return c[b>>2]|0}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Rb(a,b)|0;if(!b){c[d>>2]=a;Di(19309,d)}else{i=e;return b|0}return 0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=xd(g,b,d,e)|0;i=f;return e|0}function Zg(b){b=b|0;var c=0,d=0;c=b;b=0;while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;if(((d<<24>>24)+-48|0)>>>0<10)break;c=c+1|0;b=b+1|0}return b|0}function _g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Sh(b)|0)<0)pg(20784,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function $g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Xf(0,0,0,0,b)|0}i=d;return}function ah(b){b=b|0;var c=0,d=0;c=Yd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Fj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function bh(a,b,d){a=a|0;b=b|0;d=d|0;if((c[14]|0)>=(a|0)){a=c[6235]|0;if(!a){a=c[2099]|0;c[6235]=a}Fc(a,b,d)|0;vd(c[6235]|0)|0}return}function ch(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ce(b,d,e)|0}function fh(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=Yf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function gh(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(yf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function hh(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(sk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)rk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function ih(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;a=id(a,20458)|0;c[f>>2]=a;fg(a,b,d);cj(f);i=e;return}function jh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=15041;c[a+4>>2]=352;Di(15020,a);return 0}function kh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(bb(57,e|0)|0)|0;i=d;return a|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(Oa(195,e|0)|0)|0;i=d;return a|0}function mh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(gb(38,e|0)|0)|0;i=d;return a|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(fb(39,e|0)|0)|0;i=d;return a|0}function oh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=Oj(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function ph(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6237]|0;if(!b)Di(16654,d);else{a=mi(b,a)|0;i=d;return a|0}return 0}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=fd(a,b,d,g)|0;i=f;return e|0}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Jf(a,b,d,g)|0;i=f;return e|0}function sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Va(6,d|0)|0;a=Li((a|0)==-4?-115:a)|0;i=b;return a|0}function th(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(yf(d,a)|0))break;b=b+8|0}return b|0}function uh(a){a=a|0;var b=0;b=le(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Xe(b,a)|0;return b|0}function vh(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=Li(Va(6,d|0)|0)|0;i=b;return a|0}function wh(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]}function xh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function zh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=le(d+1|0)|0;c=(c|0)<(d|0)?c:d;re(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(20411,20422,40,20438);else{b=c[b+4>>2]|0;Qi(a);return b|0}return 0}function Bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=qj(c<<24>>24)|0;d=d+1|0}return b|0}function Ch(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=rj(c<<24>>24)|0;d=d+1|0}return b|0}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=dj(a,b,f)|0;i=e;return d|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Fc(a,b,f)|0;i=e;return d|0}function Fh(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;Hd(a,b,f);i=e;return}function Gh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=$i(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gf(a,b,f)|0;i=e;return d|0}function Ih(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=Fc(c[2069]|0,a,e)|0;i=d;return b|0}function Jh(a,b){a=a|0;b=b|0;var c=0;c=Yd(a)|0;c=c-(Yd(b)|0)|0;if((c|0)<0)c=0;else c=(yf(a+c|0,b)|0)==0&1;return c|0}function Kh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Vj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Vj(c[a>>2]|0)|0}return}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Mh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Nh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Pj(b);b=d}c[a>>2]=0;return}function Oh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;sh(b)|0;b=b+1|0}return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Qh(b){b=b|0;if(!b)b=0;else while(1)if(!(Fj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Rh(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;bh(a,b,f);i=e;return}function Sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Li(wa(42,d|0)|0)|0;i=b;return a|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;a=ee(a,c)|0;if(c>>>0>b>>>0)Ze(a+b|0,0,c-b|0)|0;return a|0}function Uh(){}function Vh(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 (C=d,a-c>>>0|0)|0}function Wh(a){a=a|0;var b=0;if(!a)a=le(8)|0;else{b=le((Yd(a)|0)+8|0)|0;Ij(b+4|0,a)|0;a=b}return a|0}function Xh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[14]=a;c[d>>2]=0;i=b;return}function Yh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Di(20567,d);return 0}function Zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function _h(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=15041;c[a+4>>2]=360;Di(15020,a);return 0}function $h(a){a=a|0;var b=0;b=le(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=le(a+1|0)|0;c[b+8>>2]=a;return b|0}function ai(){var a=0,b=0;b=i;i=i+16|0;a=Nc(2,1,0)|0;if((a|0)<0)ci(16961,b);i=b;return a|0}function bi(a,b){a=a|0;b=b|0;a=Pg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ci(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;ii(a,e);i=d;return}function di(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ec(b)|0;Ke(a)}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6237]|0)){Pi(Xb(a,b,0,d,0)|0);c[6238]=d}return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;Ac(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function gi(a){a=a|0;if((yf(a,12779)|0)!=0?(yf(a,12785)|0)!=0:0)a=(Bg(a)|0)!=-1&1;else a=1;return a|0}function hi(a,b){a=a|0;b=b|0;return gd((c[a>>2]|0)+4|0,(c[b>>2]|0)+4|0)|0}function ii(a,b){a=a|0;b=b|0;var d=0;d=$c()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=aj(a,b,d)|0;c[e>>2]=c[d+4>>2];return d|0}function li(a,b){a=a|0;b=b|0;var d=0;d=le(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function mi(a,b){a=a|0;b=b|0;a=ff(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ni(a,b){a=a|0;b=b|0;if((Qd(a,0,5)|0)>(b|0))a=1;else a=ri(a)|0;return a|0}function oi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Hg(b+20|0);Ai(b+16|0);Qi(a)}return}function pi(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function qi(a){a=a|0;var b=0;if(!a)a=0;else{b=Yd(a)|0;a=zh(a,b,b)|0}return a|0}function ri(a){a=a|0;if(!(lf(19348,a)|0))a=(lf(19361,a)|0)!=0;else a=1;return a&1|0}function si(a,b){a=a|0;b=b|0;return yf(c[(c[a>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0}function ti(a){a=a|0;var b=0;b=i;i=i+16|0;a=xe(a,0,b)|0;i=b;return a|0}function ui(a,b){a=a|0;b=b|0;return (c[(c[a>>2]|0)+4>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function vi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Xc(a,b,c,e,0,d,0)|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lj(a,b);return zc(a,b,c,d)|0}function xi(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function yi(){var a=0;if(!(c[6239]|0))a=25e3;else a=c[(xk()|0)+64>>2]|0;return a|0}function zi(a){a=a|0;if(!a)a=0;else{a=Qh(a)|0;ah(a)}return a|0}function Ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Nh(b);Pj(b);c[a>>2]=0}return}function Bi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pj(c[b+4>>2]|0);Qi(a)}return}function Ci(a,b){a=a|0;b=b|0;b=Wh(b)|0;c[b>>2]=c[a>>2];c[a>>2]=b;return b|0}function Di(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Si(a,d)}function Ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Fi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pj(c[b+4>>2]|0);Qi(a)}return}function Gi(a){a=a|0;if((c[a+76>>2]|0)>-1?sk(a)|0:0)rk(a);return c[a+60>>2]|0}function Hi(b,c){b=b|0;c=c|0;b=Zc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ii(){var a=0;a=$c()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Za(-1)}function Ji(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){tg(b+52|0);Qi(a)}return}function Li(a){a=a|0;if(a>>>0>4294963200){c[(yi()|0)>>2]=0-a;a=-1}return a|0}function Mi(a,b){a=a|0;b=b|0;var c=0;c=pe(b)|0;re(c|0,a|0,b|0)|0;return c|0}function Ni(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Oi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=yd(a,b,0)|0;return a|0}function Pi(a){a=a|0;c[6237]=a;if(ph(16146)|0)Xh(Ve(16146,0)|0);return}function Qi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)jk(b);return}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Si(a,b){a=a|0;b=b|0;c[($c()|0)+4>>2]=1;ii(a,b);Ii()}function Ti(a){a=a|0;var b=0;b=pe(a)|0;Ze(b|0,0,a|0)|0;return b|0}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function Vi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,0,-2147483648)|0;return a|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,-2147483648,0)|0;return a|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;return qc(a,b,18137,18146,c)|0}function Zi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&15](b|0,c|0)|0}function $i(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,Yd(b)|0,c)|0}function bj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function cj(a){a=a|0;if(!(Te(a)|0))Ii();else return}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,2147483647,b,c)|0}function ej(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function gj(){if((jb(11897)|0)==0?(jb(11907)|0)==0:0)Za(-1);Ya()}function hj(a,b,c){a=a|0;b=b|0;c=c|0;Ic(a,b,c)|0;return a|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;return Mf(a,b,c)|0}function kj(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function lj(a,b){a=a|0;b=b|0;nf(a,b,Yd(b)|0);return}function mj(a,b){a=a|0;b=b|0;sf(a,b,Yd(b)|0);return}function nj(a,b){a=a|0;b=b|0;return zh(a,Yd(a)|0,b)|0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,0,c)|0}function pj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function qj(a){a=a|0;var b=0;b=(Yj(a)|0)==0;return (b?a:a&95)|0}function rj(a){a=a|0;var b=0;b=(Xj(a)|0)==0;return (b?a:a|32)|0}function sj(a,b){a=a|0;b=b|0;return ch(a,b,(Yd(a)|0)+1|0)|0}function tj(a){a=a|0;return Rg(12779,a,Gi(c[2128]|0)|0)|0}function uj(a){a=a|0;if(!(c[a+68>>2]|0))rk(a);return}function vj(a){a=a|0;if(!(c[a+68>>2]|0))rk(a);return}function wj(a,b){a=a|0;b=b|0;return (Tf(a,Yd(a)|0,1,b)|0)+-1|0}function xj(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,1,c)|0}function yj(a,b){a=a|0;b=b|0;return qk(Kg(a,b)|0)|0}function zj(a){a=a|0;return ((a+-48|0)>>>0<10|(Qj(a)|0)!=0)&1|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Bj(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Cj(a,b){a=a|0;b=b|0;return cd(a,18174,b)|0}function Dj(a){a=a|0;Pj(c[a+4>>2]|0);Pj(a);return}function Ej(a,b){a=a|0;b=b|0;i=a;j=b}function Fj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Gj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Hj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Ij(a,b){a=a|0;b=b|0;bd(a,b)|0;return a|0}function Jj(a){a=a|0;return rc(a,-2003829722,11682)|0}function Kj(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Lj(a,b){a=a|0;b=b|0;return qe(a,b)|0}function Mj(a,b){a=a|0;b=b|0;return +(+je(a,b,1))}function Nj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Oj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Pj(a){a=a|0;if(a|0)jk(a);return}function Qj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Rj(a,b){a=+a;b=+b;return +(+dg(a,b))}function Sj(a,b){a=+a;b=b|0;return +(+Ud(a,b))}function Tj(a,b){a=+a;b=b|0;return +(+Zd(a,b))}function Uj(b){b=b|0;a[b+48>>0]=1;return}function Vj(a){a=a|0;return Zi(a|0)|0}function Wj(a){a=a|0;return Oj(a|0)|0}function Xj(a){a=a|0;return (a+-65|0)>>>0<26|0}function Yj(a){a=a|0;return (a+-97|0)>>>0<26|0}function Zj(a,b){a=a|0;b=b|0;Qb(b);return}function _j(a){a=a|0;return c[a+16>>2]|0}function $j(a,b){a=+a;b=+b;return +(+ic(a,b))}function ak(a){a=a|0;return Zi(a|0)|0}function bk(a){a=a|0;return Zi(a|0)|0}function ck(a,b){a=a|0;b=b|0;ba(7);return 0}function dk(a){a=a|0;Nh(a);return}function ek(a){a=a|0;Qi(a);return}function fk(a){a=a|0;Hb[a&1]()}function gk(a){a=a|0;return Kb(a)|0}function hk(a){a=a|0;Qi(a);return}function ik(a){a=a|0;Qb(a);return}function jk(a){a=a|0;Qb(a);return}function kk(a){a=a|0;return 0}function lk(a,b){a=a|0;b=b|0;ba(3)}function mk(a){a=a|0;return 0}function nk(a){a=a|0;i=a}function ok(a){a=a|0;C=a}function pk(a){a=a|0;ba(5);return 0}function qk(a){a=a|0;return a|0}function rk(a){a=a|0;return}function sk(a){a=a|0;return 0}function tk(){return C|0}function uk(){return i|0}function vk(a){a=a|0;ba(2)}function wk(){return 13388}function xk(){return 0}function yk(){ba(6)}
+function Jb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=i;i=i+16|0;ha=Ga;if(!f){f=-2;i=Ga;return f|0}Da=c[f+28>>2]|0;if(!Da){f=-2;i=Ga;return f|0}Ea=f+12|0;n=c[Ea>>2]|0;if(!n){f=-2;i=Ga;return f|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){f=-2;i=Ga;return f|0}j=c[Da>>2]|0;if((j|0)==11){c[Da>>2]=12;j=12}Ca=f+16|0;o=c[Ca>>2]|0;wa=f+4|0;xa=c[wa>>2]|0;ya=Da+56|0;Fa=Da+60|0;sa=Da+8|0;za=Da+24|0;y=ha+1|0;va=Da+16|0;z=Da+32|0;A=f+24|0;B=Da+36|0;C=Da+20|0;Aa=f+48|0;D=Da+64|0;E=Da+12|0;F=(g+-5|0)>>>0<2;Ba=Da+4|0;G=Da+76|0;H=Da+84|0;I=Da+80|0;J=Da+88|0;K=(g|0)==6;L=Da+7108|0;M=Da+72|0;N=Da+7112|0;O=Da+68|0;P=Da+44|0;Q=Da+7104|0;R=Da+48|0;S=Da+52|0;qa=Da+40|0;ta=f+20|0;ua=Da+28|0;T=ha+2|0;U=ha+3|0;V=Da+104|0;W=Da+96|0;X=Da+100|0;Y=Da+624|0;Z=Da+1328|0;_=Da+108|0;$=Da+112|0;aa=Da+752|0;ba=Da+92|0;q=j;m=c[Fa>>2]|0;l=xa;k=c[ya>>2]|0;j=o;p=0;a:while(1){b:do switch(q|0){case 28:{p=1;x=282;break a}case 29:{pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=-3;break a}case 30:{x=296;break a}case 0:{r=c[sa>>2]|0;if(!r){c[Da>>2]=12;r=j;break b}if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else{s=k;break}}}else s=k;if((s|0)==35615&(r&2|0)!=0){c[za>>2]=nc(0,0,0)|0;a[ha>>0]=31;a[y>>0]=-117;c[za>>2]=nc(c[za>>2]|0,ha,2)|0;c[Da>>2]=1;m=0;k=0;r=j;break b}c[va>>2]=0;k=c[z>>2]|0;if(k|0)c[k+48>>2]=-1;if(r&1|0?((((s<<8&65280)+(s>>>8)|0)>>>0)%31|0|0)==0:0){if((s&15|0)!=8){c[A>>2]=21705;c[Da>>2]=29;k=s;r=j;break b}k=s>>>4;m=m+-4|0;q=(k&15)+8|0;r=c[B>>2]|0;if(r){if(q>>>0>r>>>0){c[A>>2]=21732;c[Da>>2]=29;r=j;break b}}else c[B>>2]=q;c[C>>2]=1<<q;m=jc(0,0,0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=s>>>12&2^11;m=0;k=0;r=j;break b}c[A>>2]=21682;c[Da>>2]=29;k=s;r=j;break}case 1:{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}c[va>>2]=k;if((k&255|0)!=8){c[A>>2]=21705;c[Da>>2]=29;r=j;break b}if(k&57344|0){c[A>>2]=21752;c[Da>>2]=29;r=j;break b}m=c[z>>2]|0;if(m|0)c[m>>2]=k>>>8&1;if(k&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0}c[Da>>2]=2;m=0;k=0;x=47;break}case 2:{if(m>>>0<32)x=47;else x=49;break}case 3:{if(m>>>0<16){q=h;x=55}else x=57;break}case 4:{x=62;break}case 5:{x=73;break}case 6:{x=83;break}case 7:{x=96;break}case 8:{x=109;break}case 9:{if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32)break;else q=h}}m=Zi(k|0)|0;c[za>>2]=m;c[Aa>>2]=m;c[Da>>2]=10;m=0;k=0;x=121;break}case 10:{x=121;break}case 11:{x=124;break}case 12:{x=125;break}case 13:{w=m&7;k=k>>>w;m=m-w|0;if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}q=k&65535;if((q|0)==(k>>>16^65535|0)){c[D>>2]=q;c[Da>>2]=14;if(K){m=0;k=0;x=282;break a}else{m=0;k=0;x=144;break b}}else{c[A>>2]=21816;c[Da>>2]=29;r=j;break b}}case 14:{x=144;break}case 15:{x=145;break}case 16:{if(m>>>0<14){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<14)q=h;else break}}v=(k&31)+257|0;c[W>>2]=v;w=(k>>>5&31)+1|0;c[X>>2]=w;q=(k>>>10&15)+4|0;c[ba>>2]=q;k=k>>>14;m=m+-14|0;if(v>>>0>286|w>>>0>30){c[A>>2]=21845;c[Da>>2]=29;r=j;break b}else{c[V>>2]=0;c[Da>>2]=17;r=0;x=155;break b}}case 17:{r=c[V>>2]|0;q=c[ba>>2]|0;if(r>>>0<q>>>0)x=155;else{p=r;x=156}break}case 18:{s=c[V>>2]|0;x=166;break}case 19:{x=200;break}case 20:{x=201;break}case 21:{r=c[M>>2]|0;x=219;break}case 22:{x=226;break}case 23:{r=c[M>>2]|0;x=238;break}case 24:{x=244;break}case 25:{if(!j){j=0;x=282;break a}a[n>>0]=c[D>>2];c[Da>>2]=20;r=j+-1|0;n=n+1|0;break}case 26:{if(c[sa>>2]|0){if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}r=o-j|0;c[ta>>2]=(c[ta>>2]|0)+r;c[ua>>2]=(c[ua>>2]|0)+r;if((o|0)==(j|0))o=c[za>>2]|0;else{o=c[za>>2]|0;q=n+(0-r)|0;if(!(c[va>>2]|0))o=jc(o,q,r)|0;else o=nc(o,q,r)|0;c[za>>2]=o;c[Aa>>2]=o}v=(c[va>>2]|0)==0;w=Zi(k|0)|0;if(((v?w:k)|0)==(o|0)){m=0;k=0;o=j}else{c[A>>2]=22019;c[Da>>2]=29;r=j;o=j;break b}}c[Da>>2]=27;x=274;break}case 27:{x=274;break}default:{h=-2;x=297;break a}}while(0);if((x|0)==47)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}l=l+-1|0;q=h+1|0;k=(d[h>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=32){h=q;x=49;break}else{h=q;x=47}}else if((x|0)==121){if(!(c[E>>2]|0)){x=122;break}x=jc(0,0,0)|0;c[za>>2]=x;c[Aa>>2]=x;c[Da>>2]=11;x=124}else if((x|0)==144){c[Da>>2]=15;x=145}else if((x|0)==155){x=0;while(1){if(m>>>0<3){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=h;la=o;ja=p;break a}t=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else t=m;s=r+1|0;c[V>>2]=s;b[Da+112+(e[11152+(r<<1)>>1]<<1)>>1]=k&7;k=k>>>3;m=t+-3|0;if(s>>>0<q>>>0)r=s;else{p=s;x=156;break}}}else if((x|0)==274){x=0;if(!(c[sa>>2]|0)){x=281;break}if(!(c[va>>2]|0)){x=281;break}if(m>>>0<32){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<32)q=h;else break}}if((k|0)==(c[ua>>2]|0)){m=0;k=0;x=281;break}c[A>>2]=22040;c[Da>>2]=29;r=j}do if((x|0)==49){m=c[z>>2]|0;if(m|0)c[m+4>>2]=k;if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;a[T>>0]=k>>>16;a[U>>0]=k>>>24;c[za>>2]=nc(c[za>>2]|0,ha,4)|0}c[Da>>2]=3;m=0;k=0;q=h;x=55}else if((x|0)==124)if(F){x=282;break a}else x=125;else if((x|0)==145){x=0;q=c[D>>2]|0;if(!q){c[Da>>2]=11;r=j;break}q=q>>>0>l>>>0?l:q;q=q>>>0>j>>>0?j:q;if(!q){x=282;break a}re(n|0,h|0,q|0)|0;c[D>>2]=(c[D>>2]|0)-q;l=l-q|0;r=j-q|0;h=h+q|0;n=n+q|0}else if((x|0)==156){x=0;if(p>>>0<19){do{b[Da+112+(e[11152+(p<<1)>>1]<<1)>>1]=0;p=p+1|0}while((p|0)!=19);c[V>>2]=19}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=7;p=Sb(0,$,19,_,H,aa)|0;if(!p){c[V>>2]=0;c[Da>>2]=18;s=0;p=0;x=166;break}else{c[A>>2]=21881;c[Da>>2]=29;r=j;break}}while(0);c:do if((x|0)==55)while(1){x=0;if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16){x=57;break}else{q=h;x=55}}else if((x|0)==125){x=0;if(c[Ba>>2]|0){r=m&7;c[Da>>2]=26;m=m-r|0;k=k>>>r;r=j;break}if(m>>>0<3){if(!l){l=0;x=282;break a}q=m+8|0;l=l+-1|0;k=(d[h>>0]<<m)+k|0;h=h+1|0}else q=m;c[Ba>>2]=k&1;switch(k>>>1&3|0){case 0:{c[Da>>2]=13;break}case 1:{c[G>>2]=8976;c[H>>2]=9;c[I>>2]=11024;c[J>>2]=5;c[Da>>2]=19;if(K){m=p;x=133;break a}break}case 2:{c[Da>>2]=16;break}case 3:{c[A>>2]=21797;c[Da>>2]=29;break}default:{x=136;break a}}m=q+-3|0;k=k>>>3;r=j}else if((x|0)==166){x=0;q=c[W>>2]|0;r=c[X>>2]|0;do if(s>>>0<(r+q|0)>>>0){w=s;v=r;d:while(1){t=(1<<c[H>>2])+-1|0;s=t&k;u=c[G>>2]|0;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;s=t&k;r=d[u+(s<<2)+1>>0]|0;if(m>>>0<r>>>0)r=h;else{t=r;break}}}else t=r;r=b[u+(s<<2)+2>>1]|0;if((r&65535)>=16){switch(r<<16>>16){case 16:{s=t+2|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=m-t|0;if(!w){x=180;break d}m=m+-2|0;s=(k&3)+3|0;k=k>>>2;r=e[Da+112+(w+-1<<1)>>1]|0;break}case 17:{s=t+3|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-3-t+m|0;s=(k&7)+3|0;k=k>>>3;r=0;break}default:{s=t+7|0;if(m>>>0<s>>>0){r=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=r;la=o;ja=p;break a}l=l+-1|0;h=r+1|0;k=(d[r>>0]<<m)+k|0;m=m+8|0;if(m>>>0<s>>>0)r=h;else break}}k=k>>>t;m=-7-t+m|0;s=(k&127)+11|0;k=k>>>7;r=0}}if((w+s|0)>>>0>(v+q|0)>>>0){x=190;break}r=r&65535;q=s+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;if(q)do{w=c[V>>2]|0;q=q+-1|0;c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r}while((q|0)!=0)}else{c[V>>2]=w+1;b[Da+112+(w<<1)>>1]=r;m=m-t|0;k=k>>>t}w=c[V>>2]|0;q=c[W>>2]|0;v=c[X>>2]|0;if(w>>>0>=(v+q|0)>>>0){x=192;break}}if((x|0)==180){x=0;c[A>>2]=21906;c[Da>>2]=29;r=j;break c}else if((x|0)==190){x=0;c[A>>2]=21906;c[Da>>2]=29;r=j;break c}else if((x|0)==192){x=0;if((c[Da>>2]|0)==29){r=j;break c}else break}}while(0);if(!(b[Y>>1]|0)){c[A>>2]=21932;c[Da>>2]=29;r=j;break}c[_>>2]=Z;c[G>>2]=Z;c[H>>2]=9;p=Sb(1,$,q,_,H,aa)|0;if(p|0){c[A>>2]=21969;c[Da>>2]=29;r=j;break}c[I>>2]=c[_>>2];c[J>>2]=6;p=Sb(2,Da+112+(c[W>>2]<<1)|0,c[X>>2]|0,_,J,aa)|0;if(!p){c[Da>>2]=19;if(K){p=0;x=282;break a}else{p=0;x=200;break}}else{c[A>>2]=21997;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==57){m=c[z>>2]|0;if(m|0){c[m+8>>2]=k&255;c[m+12>>2]=k>>>8}if(c[va>>2]&512|0){a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0}c[Da>>2]=4;m=0;k=0;x=62}else if((x|0)==200){c[Da>>2]=20;x=201}do if((x|0)==62){x=0;r=c[va>>2]|0;if(!(r&1024)){q=c[z>>2]|0;if(q)c[q+16>>2]=0}else{if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0>=16)break;else q=h}}c[D>>2]=k;m=c[z>>2]|0;if(m|0)c[m+20>>2]=k;if(!(r&512)){m=0;k=0}else{a[ha>>0]=k;a[y>>0]=k>>>8;c[za>>2]=nc(c[za>>2]|0,ha,2)|0;m=0;k=0}}c[Da>>2]=5;x=73}else if((x|0)==201){x=0;if(j>>>0>257&l>>>0>5){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;Wb(f,o);n=c[Ea>>2]|0;j=c[Ca>>2]|0;h=c[f>>2]|0;l=c[wa>>2]|0;k=c[ya>>2]|0;m=c[Fa>>2]|0;if((c[Da>>2]|0)!=11){r=j;break}c[L>>2]=-1;r=j;break}c[L>>2]=0;t=(1<<c[H>>2])+-1|0;s=t&k;v=c[G>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(t<<24>>24!=0&(s&240|0)==0){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;c[L>>2]=r;s=r;m=m-r|0;k=k>>>r}else s=0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;c[D>>2]=u&65535;q=t&255;if(!(t<<24>>24)){c[Da>>2]=25;r=j;break}if(q&32|0){c[L>>2]=-1;c[Da>>2]=11;r=j;break}if(!(q&64)){r=q&15;c[M>>2]=r;c[Da>>2]=21;x=219;break}else{c[A>>2]=22115;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==73){q=c[va>>2]|0;if(q&1024){r=c[D>>2]|0;t=r>>>0>l>>>0?l:r;if(t){s=c[z>>2]|0;if((s|0)!=0?(ca=c[s+16>>2]|0,(ca|0)!=0):0){q=(c[s+20>>2]|0)-r|0;x=c[s+24>>2]|0;re(ca+q|0,h|0,((q+t|0)>>>0>x>>>0?x-q|0:t)|0)|0;q=c[va>>2]|0}if(q&512|0)c[za>>2]=nc(c[za>>2]|0,h,t)|0;r=(c[D>>2]|0)-t|0;c[D>>2]=r;l=l-t|0;h=h+t|0}if(r){x=282;break}}c[D>>2]=0;c[Da>>2]=6;x=83}else if((x|0)==219){x=0;if(!r)q=c[D>>2]|0;else{if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}q=(c[D>>2]|0)+((1<<r)+-1&k)|0;c[D>>2]=q;c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[N>>2]=q;c[Da>>2]=22;x=226}do if((x|0)==83){if(!(c[va>>2]&2048)){q=c[z>>2]|0;if(q)c[q+28>>2]=0}else{if(!l){l=0;x=282;break a}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(da=c[r+28>>2]|0,da|0):0)?(ea=c[D>>2]|0,ea>>>0<(c[r+32>>2]|0)>>>0):0){c[D>>2]=ea+1;a[da+ea>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=nc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break a}}c[D>>2]=0;c[Da>>2]=7;x=96}else if((x|0)==226){x=0;t=(1<<c[J>>2])+-1|0;s=t&k;v=c[I>>2]|0;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=t&k;q=a[v+(s<<2)+1>>0]|0;r=q&255;if(r>>>0>m>>>0)q=h;else break}}t=a[v+(s<<2)>>0]|0;u=b[v+(s<<2)+2>>1]|0;s=t&255;if(!(s&240)){u=u&65535;t=(1<<r+s)+-1|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;s=((k&t)>>>r)+u|0;q=a[v+(s<<2)+1>>0]|0;if(((q&255)+r|0)>>>0>m>>>0)q=h;else break}}u=b[v+(s<<2)+2>>1]|0;t=a[v+(s<<2)>>0]|0;s=(c[L>>2]|0)+r|0;c[L>>2]=s;m=m-r|0;k=k>>>r}else s=c[L>>2]|0;q=q&255;k=k>>>q;m=m-q|0;c[L>>2]=s+q;q=t&255;if(!(q&64)){c[O>>2]=u&65535;r=q&15;c[M>>2]=r;c[Da>>2]=23;x=238;break}else{c[A>>2]=22093;c[Da>>2]=29;r=j;break}}while(0);if((x|0)==96){if(!(c[va>>2]&4096)){q=c[z>>2]|0;if(q)c[q+36>>2]=0}else{if(!l){l=0;x=282;break}else q=0;while(1){s=q+1|0;q=a[h+q>>0]|0;r=c[z>>2]|0;if((r|0?(fa=c[r+36>>2]|0,fa|0):0)?(ga=c[D>>2]|0,ga>>>0<(c[r+40>>2]|0)>>>0):0){c[D>>2]=ga+1;a[fa+ga>>0]=q}q=q<<24>>24!=0;if(q&l>>>0>s>>>0)q=s;else{r=s;break}}if(c[va>>2]&512|0)c[za>>2]=nc(c[za>>2]|0,h,r)|0;l=l-r|0;h=h+r|0;if(q){x=282;break}}c[Da>>2]=8;x=109}else if((x|0)==238){x=0;if(r){if(m>>>0<r>>>0){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<r>>>0)q=h;else break}}c[O>>2]=(c[O>>2]|0)+((1<<r)+-1&k);c[L>>2]=(c[L>>2]|0)+r;m=m-r|0;k=k>>>r}c[Da>>2]=24;x=244}do if((x|0)==109){x=0;r=c[va>>2]|0;if(r&512){if(m>>>0<16){q=h;while(1){if(!l){pa=n;oa=j;na=m;ma=0;ka=k;ia=q;la=o;ja=p;break a}l=l+-1|0;h=q+1|0;k=(d[q>>0]<<m)+k|0;m=m+8|0;if(m>>>0<16)q=h;else break}}if((k|0)==(c[za>>2]&65535|0)){m=0;k=0}else{c[A>>2]=21777;c[Da>>2]=29;r=j;break}}q=c[z>>2]|0;if(q|0){c[q+44>>2]=r>>>9&1;c[q+48>>2]=1}r=nc(0,0,0)|0;c[za>>2]=r;c[Aa>>2]=r;c[Da>>2]=11;r=j}else if((x|0)==244){x=0;if(!j){j=0;x=282;break a}q=o-j|0;r=c[O>>2]|0;if(r>>>0>q>>>0){q=r-q|0;if(q>>>0>(c[P>>2]|0)>>>0?c[Q>>2]|0:0){c[A>>2]=22063;c[Da>>2]=29;r=j;break}r=c[R>>2]|0;if(q>>>0>r>>>0){q=q-r|0;s=q;q=(c[S>>2]|0)+((c[qa>>2]|0)-q)|0}else{s=q;q=(c[S>>2]|0)+(r-q)|0}w=c[D>>2]|0;t=w;s=s>>>0>w>>>0?w:s}else{s=c[D>>2]|0;t=s;q=n+(0-r)|0}u=s>>>0>j>>>0?j:s;c[D>>2]=t-u;s=u;r=n;while(1){n=r+1|0;a[r>>0]=a[q>>0]|0;s=s+-1|0;if(!s)break;else{q=q+1|0;r=n}}j=j-u|0;if(!(c[D>>2]|0)){c[Da>>2]=20;r=j}else r=j}while(0);q=c[Da>>2]|0;j=r}if((x|0)==122){c[Ea>>2]=n;c[Ca>>2]=j;c[f>>2]=h;c[wa>>2]=l;c[ya>>2]=k;c[Fa>>2]=m;f=2;i=Ga;return f|0}else if((x|0)==133){pa=n;oa=j;na=q+-3|0;ma=l;ka=k>>>3;ia=h;la=o;ja=m}else if((x|0)!=136)if((x|0)==281){c[Da>>2]=28;pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=1}else if((x|0)==282){pa=n;oa=j;na=m;ma=l;ka=k;ia=h;la=o;ja=p}else if((x|0)==296){f=-4;i=Ga;return f|0}else if((x|0)==297){i=Ga;return h|0}c[Ea>>2]=pa;c[Ca>>2]=oa;c[f>>2]=ia;c[wa>>2]=ma;c[ya>>2]=ka;c[Fa>>2]=na;if(!(c[qa>>2]|0))if(((la|0)!=(oa|0)?(ra=c[Da>>2]|0,ra>>>0<29):0)?(g|0)!=4|ra>>>0<26:0)x=287;else{m=ma;l=oa}else x=287;do if((x|0)==287){if(!(Lc(f,pa,la-oa|0)|0)){m=c[wa>>2]|0;l=c[Ca>>2]|0;break}c[Da>>2]=30;f=-4;i=Ga;return f|0}while(0);k=la-l|0;Ca=f+8|0;c[Ca>>2]=xa-m+(c[Ca>>2]|0);c[ta>>2]=(c[ta>>2]|0)+k;c[ua>>2]=(c[ua>>2]|0)+k;if((la|0)!=(l|0)&(c[sa>>2]|0)!=0){j=c[za>>2]|0;h=(c[Ea>>2]|0)+(0-k)|0;if(!(c[va>>2]|0))h=jc(j,h,k)|0;else h=nc(j,h,k)|0;c[za>>2]=h;c[Aa>>2]=h}Ea=c[Da>>2]|0;c[f+44>>2]=(c[Ba>>2]|0?64:0)+(c[Fa>>2]|0)+((Ea|0)==11?128:0)+((Ea|0)==19|(Ea|0)==14?256:0);f=(ja|0)==0&((g|0)==4|(xa|0)==(m|0)&(la|0)==(l|0))?-5:ja;i=Ga;return f|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6252]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=25048+(b<<1<<2)|0;e=d+8|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[6256]|0)>>>0)Za();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else Za()}else c[6252]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[6254]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=25048+(b<<1<<2)|0;e=d+8|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[6256]|0)>>>0)Za();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[6254]|0;break}else Za()}else{c[6252]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[6257]|0;b=l>>>3;d=25048+(b<<1<<2)|0;a=c[6252]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{m=a;n=b}}else{c[6252]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[6254]=h;c[6257]=e;N=j;i=O;return N|0}a=c[6253]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[25312+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[6256]|0;if(k>>>0<g>>>0)Za();j=k+q|0;if(k>>>0>=j>>>0)Za();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)Za();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)Za();a=f+12|0;if((c[a>>2]|0)!=(k|0))Za();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else Za()}while(0);do if(h|0){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[6253]=c[6253]&~(1<<a);break}}else{if(h>>>0<(c[6256]|0)>>>0)Za();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[6256]|0;if(o>>>0<b>>>0)Za();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Za();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[6254]|0;if(a|0){f=c[6257]|0;b=a>>>3;e=25048+(b<<1<<2)|0;a=c[6252]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{r=a;s=b}}else{c[6252]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[6254]=d;c[6257]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[6253]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[25312+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[25312+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[6254]|0)-q|0)>>>0:0){f=c[6256]|0;if(k>>>0<f>>>0)Za();h=k+q|0;if(k>>>0>=h>>>0)Za();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Za();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else Za()}while(0);do if(g|0){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[6253]=c[6253]&~(1<<a);break}}else{if(g>>>0<(c[6256]|0)>>>0)Za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[6256]|0;if(u>>>0<b>>>0)Za();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Za();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{w=a;x=b}}else{c[6252]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=25312+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else Za()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[6254]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[6257]|0;if(a>>>0>15){N=b+q|0;c[6257]=N;c[6254]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[6254]=0;c[6257]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[6255]|0;if(a>>>0>q>>>0){L=a-q|0;c[6255]=L;N=c[6258]|0;M=N+q|0;c[6258]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6370]|0)){c[6372]=4096;c[6371]=4096;c[6373]=-1;c[6374]=-1;c[6375]=0;c[6363]=0;x=p&-16^1431655768;c[p>>2]=x;c[6370]=x}h=q+48|0;g=c[6372]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6362]|0;if(a|0?(w=c[6360]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6363]&4)){a=c[6258]|0;c:do if(a){d=25456;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[6255]|0)&g;if(a>>>0<2147483647){b=Ma(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Ma(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6371]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6360]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6362]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Ma(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6372]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Ma(y|0)|0)==(-1|0)){Ma(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6363]=c[6363]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Ma(k|0)|0,A=Ma(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6360]|0)+f|0;c[6360]=a;if(a>>>0>(c[6361]|0)>>>0)c[6361]=a;j=c[6258]|0;do if(j){e=25456;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[6255]|0)|0;c[6258]=M;c[6255]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6259]=c[6374];break}a=c[6256]|0;if(h>>>0<a>>>0){c[6256]=h;k=h}else k=a;d=h+f|0;a=25456;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=25456;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[6257]|0)){N=(c[6254]|0)+g|0;c[6254]=N;c[6257]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)Za();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)Za();b=f+12|0;if((c[b>>2]|0)!=(a|0))Za();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else Za()}while(0);if(!h)break;b=c[a+28>>2]|0;d=25312+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[6256]|0)>>>0)Za();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[6253]=c[6253]&~(1<<b);break e}while(0);e=c[6256]|0;if(L>>>0<e>>>0)Za();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)Za();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[6256]|0)>>>0)Za();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=25048+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)Za();if((c[d+12>>2]|0)==(a|0))break;Za()}while(0);if((e|0)==(d|0)){c[6252]=c[6252]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)Za();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}Za()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;do if(!(b&a)){c[6252]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[6256]|0)>>>0){M=a;N=b;break}Za()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=25312+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else Za()}}else{N=(c[6255]|0)+g|0;c[6255]=N;c[6258]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=25456;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[6258]=N;c[6255]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[6259]=c[6374];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6364];c[a+4>>2]=c[6365];c[a+8>>2]=c[6366];c[a+12>>2]=c[6367];c[6364]=h;c[6365]=f;c[6367]=0;c[6366]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{J=a;K=b}}else{c[6252]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=25312+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[6253]|0;b=1<<d;if(!(a&b)){c[6253]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[6256]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else Za()}}}else{N=c[6256]|0;if((N|0)==0|h>>>0<N>>>0)c[6256]=h;c[6364]=h;c[6365]=f;c[6367]=0;c[6261]=c[6370];c[6260]=-1;a=0;do{N=25048+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[6258]=M;c[6255]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[6259]=c[6374]}while(0);a=c[6255]|0;if(a>>>0>q>>>0){L=a-q|0;c[6255]=L;N=c[6258]|0;M=N+q|0;c[6258]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(yi()|0)>>2]=12;N=0;i=O;return N|0}function Lb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0}while((Fj(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=dd(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[24835+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=dd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[24844+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=dd(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=dd(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(yi()|0)>>2]=22;sg(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=dd(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=dd(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;k=ji(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=ji(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=dd(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else sg(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=ji(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=uc(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){sg(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Lh(o|0,n|0,2)|0;H=ji(H|0,C|0,-32,-1)|0;e=ji(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=ji(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Vh(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=ji(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Rj(+Ud(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(yi()|0)>>2]=34;g=+Sj(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=dd(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48){h=0;e=0;while(1){h=ji(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=ji(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=dd(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=uc(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){sg(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=ji(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(yi()|0)>>2]=22;sg(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(yi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[8944+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[8944+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[8944+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Lh(c[p>>2]|0,0,29)|0;o=ji(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ui(o|0,n|0,1e9,0)|0;o=Ug(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Rj(+Ud(1.0,105-o|0),j);m=+$j(j,+Ud(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+$j(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(yi()|0)>>2]=34}while(0);g=+Sj(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(yi()|0)>>2]=22;sg(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function Mb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(yi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Wc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[22143+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}sc(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Ph(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=22623;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=22623;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Vh(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=22623;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?22623:22625;L=76}else{p=1;r=22624;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=22623;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=22623;o=N;break}case 109:{o=se(c[(yi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:24525;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){Fd(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?24533:24538}else{G=1;H=24535}else{q=-q;G=1;H=24532}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Tj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=ke(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[22607+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;Fd(e,32,K,r,I);if(!(c[e>>2]&32))Wc(y,w,e)|0;Fd(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Wc(ea,o,e)|0;f=ba-p|0;Fd(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Wc(t,f,e)|0;Fd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Lh(c[r>>2]|0,0,t|0)|0;B=ji(B|0,C|0,o|0,0)|0;o=C;A=Ug(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ui(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=ke(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;Fd(e,32,K,w,I);if(!(c[e>>2]&32))Wc(H,G,e)|0;Fd(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=ke(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;Ze(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Wc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Wc(24563,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=ke(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){Ze(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Wc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}Fd(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=ke(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Wc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Wc(24563,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;Ze(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Wc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}Fd(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Wc(u,ba-u|0,e)|0}while(0);Fd(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Fd(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Wc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Wc(s?(t?24844:24559):t?24551:24555,3,e)|0;Fd(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=22623;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[22607+(o&15)>>0]|r;o=Ph(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=22623;L=77}else{o=t;t=2;r=22623+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=22623;L=77}}else if((L|0)==76){f=ke(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Mc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=22623;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Oi(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}Fd(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Oi(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Wc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;Fd(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;Fd(e,32,o,s,p);if(!(c[e>>2]&32))Wc(v,w,e)|0;Fd(e,48,o,s,p^65536);Fd(e,48,r,t,0);if(!(c[e>>2]&32))Wc(f,t,e)|0;Fd(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;sc(j+(m<<3)|0,n,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=ia;return m|0}function Nb(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=sk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Fj(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{sg(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=dd(e)|0}while((Fj(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}sg(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((dd(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){Ze(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;Ze(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Kb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=dd(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Bc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=qe(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Vi(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=Kb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=qe(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=dd(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Vb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;sg(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=dd(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Fj(d[m>>0]|0)|0))break;else n=m}sg(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=dd(e)|0}while((Fj(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){Qb(l);Qb(f)}}else k=0;while(0);if(O|0)rk(e);i=P;return k|0}function Ob(a,d,e,f,j){a=a|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0.0;aa=i;i=i+368|0;$=aa+280|0;W=aa+256|0;V=aa+232|0;T=aa+216|0;S=aa+192|0;R=aa+176|0;Q=aa+160|0;P=aa+136|0;O=aa+128|0;N=aa+120|0;M=aa+112|0;K=aa+88|0;J=aa+80|0;I=aa+72|0;H=aa+48|0;G=aa+40|0;U=aa+24|0;L=aa+16|0;F=aa+8|0;E=aa;A=aa+352|0;B=aa+344|0;D=aa+336|0;X=aa+316|0;z=aa+296|0;C=aa+292|0;Z=aa+288|0;v=_f(a,1)|0;c[Z>>2]=0;ue(v);w=(e|0)==0;x=v+28|0;y=v+4|0;t=(d|0)==0;u=A+4|0;a:while(1){if(!(Cg(v,C)|0)){Y=106;break}c[E>>2]=c[C>>2];Rh(2,17399,E);a=c[C>>2]|0;if(!(Ub(a,17414)|0)){if((Qd(qi(a)|0,z,5)|0)!=4){Y=77;break}q=c[z>>2]|0;r=Me(v,z,1)|0;s=Me(v,z,2)|0;ba=+Le(v,z,3);c[S>>2]=q;c[S+4>>2]=r;c[S+8>>2]=s;h[S+16>>3]=ba;Rh(2,18108,S);Uj(v);c[A>>2]=ye(0,1)|0;c[B>>2]=0;while(1){if(!(Cg(v,D)|0))break;if(ri(c[D>>2]|0)|0){Y=81;break}Qf(v,4,Qd(c[D>>2]|0,X,5)|0);d=c[X>>2]|0;a=mi(c[A>>2]|0,d)|0;if(!a){a=If(c[(c[A>>2]|0)+20>>2]|0,16)|0;ki(c[A>>2]|0,d,a,a+4|0)|0;if(w)d=1073741823;else d=yj(e,d)|0;c[a+8>>2]=d;c[a>>2]=c[B>>2];c[B>>2]=a}k=If(j,16)|0;d=k+4|0;c[d>>2]=Me(v,X,1)|0;l=k+8|0;c[l>>2]=Me(v,X,2)|0;g[k+12>>2]=+Le(v,X,3);d=c[d>>2]|0;l=c[l>>2]|0;if(d>>>0>l>>>0){Y=87;break a}d=c[a+8>>2]|0;if(l>>>0>d>>>0){r=c[y>>2]|0;s=c[a+4>>2]|0;c[V>>2]=c[x>>2];c[V+4>>2]=r;c[V+8>>2]=s;c[V+12>>2]=d;c[V+16>>2]=l;ci(18187,V);if(t){Y=90;break a}}else{s=a+12|0;c[k>>2]=c[s>>2];c[s>>2]=k}}if((Y|0)==81){Y=0;Uj(v)}wd(B,3);a=B;while(1){a=c[a>>2]|0;if(!a)break;d=a+12|0;wd(d,4);o=a+4|0;m=c[d>>2]|0;while(1){n=c[m>>2]|0;if(!n)break;k=c[m+8>>2]|0;l=c[n+4>>2]|0;if(k>>>0>l>>>0){Y=98;break a}else m=n}m=c[d>>2]|0;while(1){if(!m)break;else{d=m;l=m;k=0}while(1){if((l|0)==0|(k|0)>=(f|0))break;d=l;l=c[l>>2]|0;k=k+1|0}c[d>>2]=0;s=If(j,48)|0;c[s+4>>2]=qi(c[o>>2]|0)|0;c[s+8>>2]=c[m+4>>2];c[s+12>>2]=c[d+8>>2];c[s+16>>2]=1;c[s+20>>2]=m;b[s+32>>1]=k;c[s>>2]=c[Z>>2];c[Z>>2]=s;m=l}}$d(A);continue}c[z>>2]=a;a=ag(z)|0;if(yf(a,17421)|0)if(!(yf(a,17434)|0))o=3;else{Y=6;break}else o=2;m=0;d=0;k=0;n=0;while(1){a=ag(z)|0;if(!a){s=m;r=n;break}if((Pd(a,61,A,2)|0)!=2){Y=10;break a}a=c[A>>2]|0;l=c[u>>2]|0;do if(!(yf(a,17496)|0)){m=qi(l)|0;a=n}else{if(!(yf(a,17502)|0)){d=hf(v,a,l)|0;a=n;break}if(!(yf(a,17563)|0)){a=hf(v,a,l)|0;break}if(yf(a,17568)|0){Y=19;break a}k=hf(v,a,l)|0;a=n}while(0);n=a}if(!s){Y=22;break}if(w)n=1073741823;else n=yj(e,s)|0;if(k>>>0>n>>>0?(q=c[y>>2]|0,c[H>>2]=c[x>>2],c[H+4>>2]=q,c[H+8>>2]=s,c[H+12>>2]=n,c[H+16>>2]=k,ci(17648,H),t):0){Y=27;break}a=(k|0)==0;if((o|0)==3){if(a){Y=30;break}if(!r){Y=32;break}q=(d|0)==0?r:d;m=k+-1|0;c[A>>2]=uh(0)|0;c[X>>2]=0;a=0;l=m;while(1){if(!(Cg(v,D)|0))break;if(ni(c[D>>2]|0,1)|0){Y=36;break}Qd(c[D>>2]|0,B,1)|0;d=If(c[A>>2]|0,8)|0;g[d+4>>2]=+Le(v,B,0);k=l+q|0;if(k>>>0>n>>>0){p=c[y>>2]|0;c[K>>2]=c[x>>2];c[K+4>>2]=p;c[K+8>>2]=s;c[K+12>>2]=n;c[K+16>>2]=k;ci(17788,K);if(t){Y=39;break a}}else{c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}l=l+r|0}if((Y|0)==36){Y=0;Uj(v)}dh(X);p=q-r|0;k=m;d=c[X>>2]|0;while(1){if(!d)break;o=(a|0)>(f|0)?f:a;n=If(j,48)|0;c[n+4>>2]=s;c[n+8>>2]=k;k=(_(o,r)|0)+k|0;c[n+12>>2]=p+k;c[n+16>>2]=3;c[n+24>>2]=r;c[n+28>>2]=q;b[n+32>>1]=o;l=If(j,o<<2)|0;c[n+20>>2]=l;m=0;while(1){if((m|0)>=(o|0))break;c[l>>2]=c[d+4>>2];m=m+1|0;d=c[d>>2]|0;l=l+4|0}c[n>>2]=c[Z>>2];c[Z>>2]=n;a=a-o|0}Ai(A)}else{if(!a){Y=50;break}if(r|0){Y=52;break}o=(d|0)==0?1:d;c[A>>2]=uh(0)|0;c[X>>2]=0;a=0;b:while(1){while(1){if(!(Cg(v,D)|0))break b;if(ni(c[D>>2]|0,2)|0){Y=57;break b}Qd(c[D>>2]|0,B,2)|0;d=If(c[A>>2]|0,12)|0;k=Me(v,B,0)|0;if((k|0)<1){Y=59;break a}r=d+4|0;c[r>>2]=k+-1;g[d+8>>2]=+Le(v,B,1);k=(c[r>>2]|0)+o|0;if(k>>>0<=n>>>0)break;r=c[y>>2]|0;c[P>>2]=c[x>>2];c[P+4>>2]=r;c[P+8>>2]=s;c[P+12>>2]=n;c[P+16>>2]=k;ci(17788,P);if(t){Y=62;break a}}c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}if((Y|0)==57){Y=0;Uj(v)}wd(X,2);d=c[X>>2]|0;if(!d)d=0;else{while(1){k=d;d=c[d>>2]|0;if(!d)break;k=c[k+4>>2]|0;l=c[d+4>>2]|0;if((k+o|0)>>>0>l>>>0){Y=67;break a}}d=c[X>>2]|0}while(1){if(!d)break;n=(a|0)>(f|0)?f:a;m=If(j,n<<3)|0;l=0;k=m;while(1){if((l|0)>=(n|0))break;c[k>>2]=c[d+4>>2];c[k+4>>2]=c[d+8>>2];l=l+1|0;d=c[d>>2]|0;k=k+8|0}r=If(j,48)|0;c[r+4>>2]=s;c[r+8>>2]=c[m>>2];c[r+12>>2]=(c[m+(n+-1<<3)>>2]|0)+o;c[r+16>>2]=2;c[r+20>>2]=m;c[r+28>>2]=o;b[r+32>>1]=n;c[r>>2]=c[Z>>2];c[Z>>2]=r;a=a-n|0}Ai(A)}}switch(Y|0){case 6:{c[F>>2]=a;Di(17444,F);break}case 10:{aa=c[y>>2]|0;c[L>>2]=c[x>>2];c[L+4>>2]=aa;Di(17461,L);break}case 19:{$=c[x>>2]|0;aa=c[y>>2]|0;c[U>>2]=a;c[U+4>>2]=l;c[U+8>>2]=$;c[U+12>>2]=aa;Di(17574,U);break}case 22:{aa=c[y>>2]|0;c[G>>2]=c[x>>2];c[G+4>>2]=aa;Di(17610,G);break}case 27:{Ii();break}case 30:{aa=c[y>>2]|0;c[I>>2]=c[x>>2];c[I+4>>2]=aa;Di(17713,I);break}case 32:{aa=c[y>>2]|0;c[J>>2]=c[x>>2];c[J+4>>2]=aa;Di(17751,J);break}case 39:{Ii();break}case 50:{aa=c[y>>2]|0;c[M>>2]=c[x>>2];c[M+4>>2]=aa;Di(17851,M);break}case 52:{aa=c[y>>2]|0;c[N>>2]=c[x>>2];c[N+4>>2]=aa;Di(17887,N);break}case 59:{aa=c[y>>2]|0;c[O>>2]=c[x>>2];c[O+4>>2]=aa;Di(17922,O);break}case 62:{Ii();break}case 67:{c[Q>>2]=s;c[Q+4>>2]=k;c[Q+8>>2]=l;Di(17988,Q);break}case 77:{$=c[y>>2]|0;aa=c[C>>2]|0;c[R>>2]=c[x>>2];c[R+4>>2]=$;c[R+8>>2]=aa;Di(18076,R);break}case 87:{$=c[x>>2]|0;aa=c[y>>2]|0;c[T>>2]=d;c[T+4>>2]=l;c[T+8>>2]=$;c[T+12>>2]=aa;Di(18130,T);break}case 90:{Ii();break}case 98:{$=c[o>>2]|0;Z=c[m+4>>2]|0;aa=c[n+8>>2]|0;c[W>>2]=$;c[W+4>>2]=Z;c[W+8>>2]=k;c[W+12>>2]=$;c[W+16>>2]=l;c[W+20>>2]=aa;Di(18263,W);break}case 106:{wd(Z,5);a=c[Z>>2]|0;while(1){if(!a){Y=112;break}d=a;a=c[a>>2]|0;if(!a){a=0;continue}k=c[d+4>>2]|0;if(yf(k,c[a+4>>2]|0)|0)continue;l=c[a+8>>2]|0;if((c[d+12>>2]|0)>>>0>l>>>0){Y=111;break}}if((Y|0)==111){c[$>>2]=k;c[$+4>>2]=l+1;Di(18339,$)}else if((Y|0)==112){i=aa;return c[Z>>2]|0}break}}return 0}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=ji(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(19329==0?(yf(c[a+8>>2]|0,20339)|0)!=0:0){ba=a+32|0;T=ba;T=Fb[c[(c[a+12>>2]|0)+4>>2]&7](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=ji(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=ji(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=ji(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=ji(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Vh(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=ji(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Vh((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Vh(k|0,j|0,f|0,d|0)|0;re(b|0,B+f|0,o|0)|0;e=ji(o|0,E|0,e|0,n|0)|0;f=C;d=Vh(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=ji(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;eh(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=le(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=ji(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Vh(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(19329){y=ji(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=ji(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Ui(k|0,j|0,w|0,0)|0;t=ji(A|0,B|0,-1,-1)|0;t=ji(t|0,C|0,w|0,0)|0;w=Ui(t|0,C|0,w|0,0)|0;t=m+52|0;Zf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((oj(u,d,s)|0)<(s|0))f=0;else{Pj(u);j=B;k=A;continue}while(1){o=oj(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=xj(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=fh(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=fh(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=ji(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Vh(f|0,j|0,p|0,q|0)|0;k=C;f=pe(j)|0;c[W>>2]=f;m=Fb[c[(c[N>>2]|0)+4>>2]&7](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}eh(Z,c[K>>2]|0,p,0)|0;wf(Z,c[K>>2]|0,f,j);Qi(W)}ce(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;eh(P,c[t>>2]|0,da+64|0,0)|0;wf(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Pj(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);eh(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}zf(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;Di(20351,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Rh(4,20407,$);Rh(4,20453,aa);S=0;T=0;break}else if((n|0)==36){zf(Z,j,f,h);S=ba;S=ji(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=ji(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function Qb(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;if(!a)return;d=a+-8|0;h=c[6256]|0;if(d>>>0<h>>>0)Za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Za();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Za();if((k|0)==(c[6257]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[6254]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=25048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Za();if((c[b+12>>2]|0)!=(k|0))Za()}if((d|0)==(b|0)){c[6252]=c[6252]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else Za()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Za();a=e+12|0;if((c[a>>2]|0)!=(k|0))Za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Za()}while(0);if(f){a=c[k+28>>2]|0;b=25312+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[6253]=c[6253]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[6256]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[6256]|0;if(i>>>0<d>>>0)Za();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[6256]|0)>>>0)Za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)Za();a=m+4|0;b=c[a>>2]|0;if(!(b&1))Za();if(!(b&2)){if((m|0)==(c[6258]|0)){p=(c[6255]|0)+g|0;c[6255]=p;c[6258]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6257]|0))return;c[6257]=0;c[6254]=0;return}if((m|0)==(c[6257]|0)){p=(c[6254]|0)+g|0;c[6254]=p;c[6257]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();d=b+12|0;if((c[d>>2]|0)!=(m|0))Za();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Za()}while(0);if(f|0){a=c[m+28>>2]|0;b=25312+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[6253]=c[6253]&~(1<<a);break}}else{if(f>>>0<(c[6256]|0)>>>0)Za();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[6256]|0;if(n>>>0<d>>>0)Za();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Za();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[6256]|0)>>>0)Za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=25048+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[6256]|0)>>>0)Za();if((c[b+12>>2]|0)!=(m|0))Za()}if((d|0)==(b|0)){c[6252]=c[6252]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[6256]|0)>>>0)Za();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else Za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[6257]|0)){c[6254]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=25048+(a<<1<<2)|0;b=c[6252]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[6256]|0)>>>0)Za();else{o=a;p=b}}else{c[6252]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=25312+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6253]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[6256]|0)>>>0)Za();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[6256]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else Za()}}else{c[6253]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6260]|0)+-1|0;c[6260]=q;if(!q)a=25464;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6260]=-1;return}function Rb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+272|0;I=K+224|0;E=K+200|0;r=K+192|0;t=K+152|0;k=K+144|0;e=K+136|0;J=K+56|0;w=K+48|0;x=K+264|0;D=K+260|0;B=K+256|0;y=K+252|0;A=K+40|0;z=K+248|0;F=K+268|0;H=K+244|0;h=K+240|0;n=K+236|0;g=K+232|0;o=K+228|0;q=K;m=(d|0)==0?19329:d;c[J>>2]=b;c[J+4>>2]=m;Rh(4,20569,J);if(0){c[e>>2]=b;Eh(0,20590,e)|0}c[h>>2]=0;c[n>>2]=0;rd(b,h,n,g,0);d=c[h>>2]|0;if(!(c[g>>2]|0)){Pj(d);v=qi(20339)|0;c[h>>2]=v;Pj(c[n>>2]|0);c[n>>2]=qi(b)|0;j=1}else{v=d;j=0}h=v;g=le(16)|0;do if(!(yf(v,20599)|0)){c[g+4>>2]=1;c[g+8>>2]=6;c[g+12>>2]=20599}else{if(!(yf(v,20834)|0)){c[g+4>>2]=2;c[g+8>>2]=7;c[g+12>>2]=20834;break}if(yf(v,19728)|0?yf(v,20995)|0:0){if(!(yf(v,21001)|0)){c[g+4>>2]=3;c[g+8>>2]=9;c[g+12>>2]=21001;break}if(!(yf(v,20339)|0)){c[g+4>>2]=4;c[g+8>>2]=10;c[g+12>>2]=20339;break}else{c[k>>2]=v;Di(21037,k)}}c[g+4>>2]=3;c[g+8>>2]=8;c[g+12>>2]=19728}while(0);c[o>>2]=g;d=q;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(!j){if(19329?(l=(Je(b,m)|0)>>>0<0,l):0){g=l&1;u=22;break}if(!(Ib[c[g+8>>2]&15](b,q)|0)){Qi(o);Pj(v);Pj(c[n>>2]|0);d=0}else{g=0;u=22}}else{g=0;u=22}while(0);do if((u|0)==22){d=le(312)|0;c[d+4>>2]=qi(b)|0;c[d+8>>2]=h;c[d+12>>2]=c[o>>2];if(!j){e=c[n>>2]|0;ad(d,m,v,e);s=(g|0)==0;if((s?(c[d+16>>2]=c[q>>2],n=q+8|0,o=c[n+4>>2]|0,b=d+24|0,c[b>>2]=c[n>>2],c[b+4>>2]=o,b=d+112|0,q=q+16|0,c[b>>2]=c[q>>2],c[b+4>>2]=c[q+4>>2],c[b+8>>2]=c[q+8>>2],c[b+12>>2]=c[q+12>>2],c[b+16>>2]=c[q+16>>2],c[b+20>>2]=c[q+20>>2],!(0<1|19329==0)):0)?(p=d+44|0,(gi(c[p>>2]|0)|0)!=0):0){me(c[p>>2]|0)|0;g=19329}else g=19329;if(g){Id(c[d+40>>2]|0);p=d+44|0;n=Dc(c[p>>2]|0)|0;c[H>>2]=n;do if(n){if(s){k=n+8|0;g=k;j=d+16|0;m=j;o=n+16|0;j=c[j>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}else{o=n+16|0;h=o;g=c[h+4>>2]|0;k=d+24|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;k=n+8|0;g=k;h=c[g>>2]|0;g=c[g+4>>2]|0;m=d+16|0;c[m>>2]=h;j=h}b=c[n+24>>2]|0;if((h|0)==(j|0)&(g|0)==(((j|0)<0)<<31>>31|0)){q=o;l=d+24|0;r=l;if((c[q>>2]|0)==(c[r>>2]|0)?(c[q+4>>2]|0)==(c[r+4>>2]|0):0){if(gi(c[d+48>>2]|0)|0){f=n;G=l;break}g=k;j=c[m>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0}}else l=d+24|0;m=o;k=c[m>>2]|0;m=c[m+4>>2]|0;o=l;n=c[o>>2]|0;o=c[o+4>>2]|0;r=d+48|0;q=c[r>>2]|0;l=t;c[l>>2]=h;c[l+4>>2]=g;g=t+8|0;c[g>>2]=j;c[g+4>>2]=((j|0)<0)<<31>>31;g=t+16|0;c[g>>2]=k;c[g+4>>2]=m;g=t+24|0;c[g>>2]=n;c[g+4>>2]=o;c[t+32>>2]=q;c[t+36>>2]=b;Rh(4,21126,t);Ki(H);Nf(c[p>>2]|0)|0;Nf(c[r>>2]|0)|0;g=d+52|0;if(gi(c[g>>2]|0)|0)Nf(c[g>>2]|0)|0;g=c[H>>2]|0;if(!g){g=b+1|0;u=44}else{f=g;G=d+24|0}}else{c[r>>2]=c[p>>2];Rh(4,21217,r);g=0;u=44}while(0);if((u|0)==44){u=c[d+16>>2]|0;l=d+24|0;k=l;h=c[k>>2]|0;k=c[k+4>>2]|0;j=J;c[j>>2]=u;c[j+4>>2]=((u|0)<0)<<31>>31;j=w;c[j>>2]=h;c[j+4>>2]=k;c[x>>2]=g;j=Nd(c[p>>2]|0,577)|0;c[D>>2]=j;c[B>>2]=1099424502;c[y>>2]=8192;g=A;c[g>>2]=0;c[g+4>>2]=0;c[z>>2]=0;k=ji(h|0,k|0,8191,0)|0;k=Ph(k|0,C|0,13)|0;nf(j,B,4);nf(j,y,4);nf(j,J,8);nf(j,w,8);nf(j,x,4);nf(j,z,4);nf(j,A,8);nf(j,A,8);nf(j,A,8);nf(j,A,8);g=d+136|0;h=eh(g,j,0,1)|0;if((h|0)!=64){B=c[p>>2]|0;c[E>>2]=j;c[E+4>>2]=B;B=E+8|0;c[B>>2]=h;c[B+4>>2]=((h|0)<0)<<31>>31;c[E+16>>2]=64;Di(21267,E)}a[F>>0]=0;eh(g,j,((k+7|0)/8|0)+-1|0,1)|0;wf(g,j,F,1);tg(D);c[D>>2]=Nd(c[d+48>>2]|0,577)|0;tg(D);g=Dc(c[p>>2]|0)|0;c[H>>2]=g;if(!g){c[I>>2]=c[p>>2];Di(21334,I)}else{f=g;G=l}}c[d+104>>2]=c[f+24>>2];I=G;if(!((c[I>>2]|0)==0&(c[I+4>>2]|0)==0)){f=Rf(c[f+52>>2]|0,0,1)|0;Od(c[(c[H>>2]|0)+52>>2]|0,J,1);G=ji(c[G>>2]|0,c[G+4>>2]|0,8191,0)|0;G=Ph(G|0,C|0,13)|0;G=(oj(J,0,(G|0)>8?8:G)|0)<<13;I=d+96|0;c[I>>2]=G;c[I+4>>2]=((G|0)<0)<<31>>31;eh(d+136|0,c[(c[H>>2]|0)+52>>2]|0,f,0)|0;f=c[H>>2]|0}c[d+80>>2]=f;c[d+56>>2]=Nd(c[d+48>>2]|0,2)|0;if(Mg(19728,v)|0){c[J>>2]=0;j=d+52|0;if(gi(c[j>>2]|0)|0)Dg(c[j>>2]|0,J,0);do if(s){f=d+132|0;g=c[f>>2]|0;h=c[J>>2]|0;if(!g){if(!h)break;Nf(c[j>>2]|0)|0;break}else{if(!(gh(g,h)|0))break;I=vg(c[j>>2]|0,21364)|0;H=c[f>>2]|0;ih(I,H,Yd(H)|0);mh(I,c[j>>2]|0)|0;Pj(I);break}}else c[d+132>>2]=qi(c[J>>2]|0)|0;while(0);Pj(c[J>>2]|0)}}}else{if(!(gi(b)|0)){d=0;break}I=Nd(b,0)|0;c[d+56>>2]=I;Fe(I,J)|0;I=d+88|0;c[I>>2]=0;c[I+4>>2]=0;I=c[J+36>>2]|0;J=((I|0)<0)<<31>>31;e=d+24|0;c[e>>2]=I;c[e+4>>2]=J;e=d+96|0;c[e>>2]=I;c[e+4>>2]=J;e=c[n>>2]|0}Pj(e)}while(0);i=K;return d|0}function Sb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;I=i;i=i+64|0;G=I+32|0;r=I;l=G;m=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));p=(g|0)==0;if(!p){l=0;do{H=G+(e[f+(l<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[G+30>>1]|0;l=c[j>>2]|0;if(!(m<<16>>16))H=5;else{o=15;H=7}}else{l=c[j>>2]|0;H=5}do if((H|0)==5)if(!(b[G+28>>1]|0))if(!(b[G+26>>1]|0))if(!(b[G+24>>1]|0))if(!(b[G+22>>1]|0))if(!(b[G+20>>1]|0))if(!(b[G+18>>1]|0))if(!(b[G+16>>1]|0))if(!(b[G+14>>1]|0))if(!(b[G+12>>1]|0))if(!(b[G+10>>1]|0))if(!(b[G+8>>1]|0))if(!(b[G+6>>1]|0))if(!(b[G+4>>1]|0)){if(b[G+2>>1]|0){m=0;l=l>>>0>1?1:l;E=1;q=1;break}H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;H=c[h>>2]|0;c[h>>2]=H+4;a[H>>0]=64;a[H+1>>0]=1;b[H+2>>1]=0;c[j>>2]=1;h=0;i=I;return h|0}else{m=0;o=2;H=7}else{m=0;o=3;H=7}else{m=0;o=4;H=7}else{m=0;o=5;H=7}else{m=0;o=6;H=7}else{m=0;o=7;H=7}else{m=0;o=8;H=7}else{m=0;o=9;H=7}else{m=0;o=10;H=7}else{m=0;o=11;H=7}else{m=0;o=12;H=7}else{m=0;o=13;H=7}else{m=0;o=14;H=7}while(0);a:do if((H|0)==7){l=l>>>0>o>>>0?o:l;n=1;while(1){if(b[G+(n<<1)>>1]|0){E=o;q=n;break a}n=n+1|0;if(n>>>0>=o>>>0){E=o;q=n;break}}}while(0);F=l>>>0<q>>>0?q:l;n=b[G+2>>1]|0;l=2-(n&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+4>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+6>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+8>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+10>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+12>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+14>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+16>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+18>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+20>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+22>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+24>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+26>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(e[G+28>>1]|0)|0;if((l|0)<0){h=-1;i=I;return h|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){h=-1;i=I;return h|0}if((l|0)>0?(d|0)==0|(E|0)!=1:0){h=-1;i=I;return h|0}b[r+2>>1]=0;b[r+4>>1]=n;C=(e[G+4>>1]|0)+(n&65535)|0;b[r+6>>1]=C;D=e[G+6>>1]|0;b[r+8>>1]=D+C;D=C+D|0;C=e[G+8>>1]|0;b[r+10>>1]=C+D;C=D+C|0;D=e[G+10>>1]|0;b[r+12>>1]=D+C;D=C+D|0;C=e[G+12>>1]|0;b[r+14>>1]=C+D;C=D+C|0;D=e[G+14>>1]|0;b[r+16>>1]=D+C;D=C+D|0;C=e[G+16>>1]|0;b[r+18>>1]=C+D;C=D+C|0;D=e[G+18>>1]|0;b[r+20>>1]=D+C;D=C+D|0;C=e[G+20>>1]|0;b[r+22>>1]=C+D;C=D+C|0;D=e[G+22>>1]|0;b[r+24>>1]=D+C;D=C+D|0;C=e[G+24>>1]|0;b[r+26>>1]=C+D;C=D+C|0;D=e[G+26>>1]|0;b[r+28>>1]=D+C;b[r+30>>1]=(e[G+28>>1]|0)+(C+D);if(!p){m=0;do{l=b[f+(m<<1)>>1]|0;if(l<<16>>16){C=r+((l&65535)<<1)|0;D=b[C>>1]|0;b[C>>1]=D+1<<16>>16;b[k+((D&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{x=0;z=0;B=k;C=19;D=k;break}case 1:{if(F>>>0>9){h=1;i=I;return h|0}else{x=0;z=1;B=10740;C=256;D=10866}break}default:{l=(d|0)==2;if(l&F>>>0>9){h=1;i=I;return h|0}else{x=l;z=0;B=11190;C=-1;D=11316}}}l=1<<F;y=l+-1|0;A=F&255;o=F;w=0;n=0;u=-1;m=c[h>>2]|0;p=0;b:while(1){v=1<<o;t=q;s=p;while(1){g=t-w|0;o=g&255;p=b[k+(s<<1)>>1]|0;q=p&65535;do if((q|0)<(C|0))d=0;else{if((q|0)<=(C|0)){d=96;p=0;break}d=b[D+(q<<1)>>1]&255;p=b[B+(q<<1)>>1]|0}while(0);q=1<<g;g=n>>>w;r=v;do{J=r;r=r-q|0;K=r+g|0;a[m+(K<<2)>>0]=d;a[m+(K<<2)+1>>0]=o;b[m+(K<<2)+2>>1]=p}while((J|0)!=(q|0));p=1<<t+-1;while(1)if(!(p&n))break;else p=p>>>1;if(!p)n=0;else n=(p+-1&n)+p|0;p=s+1|0;J=G+(t<<1)|0;K=(b[J>>1]|0)+-1<<16>>16;b[J>>1]=K;if(!(K<<16>>16)){if((t|0)==(E|0))break b;q=e[f+(e[k+(p<<1)>>1]<<1)>>1]|0}else q=t;if(q>>>0<=F>>>0){t=q;s=p;continue}o=n&y;if((o|0)==(u|0)){t=q;s=p}else{t=p;s=o;d=q;break}}r=(w|0)==0?F:w;m=m+(v<<2)|0;o=d-r|0;c:do if(d>>>0<E>>>0){g=d;q=o;o=1<<o;while(1){p=o-(e[G+(g<<1)>>1]|0)|0;if((p|0)<1){o=q;break c}o=q+1|0;g=o+r|0;if(g>>>0>=E>>>0)break;else{q=o;o=p<<1}}}while(0);l=(1<<o)+l|0;if(z&l>>>0>852|x&l>>>0>592){l=1;H=45;break}w=c[h>>2]|0;a[w+(s<<2)>>0]=o;a[w+(s<<2)+1>>0]=A;b[w+(s<<2)+2>>1]=(m-w|0)>>>2;w=r;q=d;u=s;p=t}if((H|0)==45){i=I;return l|0}if(n|0){a[m+(n<<2)>>0]=64;a[m+(n<<2)+1>>0]=o;b[m+(n<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(l<<2);c[j>>2]=F;K=0;i=I;return K|0}function Tb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[6256]|0;if(l>>>0<i>>>0)Za();if((l|0)==(c[6257]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[6254]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=25048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)Za();if((c[a+12>>2]|0)!=(l|0))Za()}if((b|0)==(a|0)){c[6252]=c[6252]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else Za()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)Za();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(l|0))Za();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else Za()}while(0);if(f){d=c[l+28>>2]|0;a=25312+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[6253]=c[6253]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[6256]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[6256]|0;if(j>>>0<b>>>0)Za();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[6256]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[6256]|0;if(o>>>0<h>>>0)Za();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[6258]|0)){q=(c[6255]|0)+g|0;c[6255]=q;c[6258]=r;c[r+4>>2]=q|1;if((r|0)!=(c[6257]|0))return;c[6257]=0;c[6254]=0;return}if((o|0)==(c[6257]|0)){q=(c[6254]|0)+g|0;c[6254]=q;c[6257]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)Za();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Za();d=e+12|0;if((c[d>>2]|0)!=(o|0))Za();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else Za()}while(0);if(f|0){d=c[o+28>>2]|0;a=25312+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[6253]=c[6253]&~(1<<d);break}}else{if(f>>>0<(c[6256]|0)>>>0)Za();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[6256]|0;if(n>>>0<b>>>0)Za();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)Za();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6256]|0)>>>0)Za();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=25048+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)Za();if((c[a+12>>2]|0)!=(o|0))Za()}if((b|0)==(a|0)){c[6252]=c[6252]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)Za();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else Za()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[6257]|0)){c[6254]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=25048+(d<<1<<2)|0;a=c[6252]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[6256]|0)>>>0)Za();else{p=d;q=a}}else{c[6252]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=25312+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[6253]|0;a=1<<b;if(!(d&a)){c[6253]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[6256]|0)>>>0)Za();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[6256]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))Za();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Ub(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=Hi(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(af(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Mc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Vb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(yi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0}while((Fj(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=dd(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=dd(b)|0;if((d[24570+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){sg(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[24570+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;sg(b,0);c[(yi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=dd(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=fh(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=ji(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[24826+((e*23|0)>>>5&7)>>0]|0;j=a[24570+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Ph(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Lh(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[24570+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Ui(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=fh(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=ji(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0;j=a[24570+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[24570+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dd(b)|0}while((d[24570+i>>0]|0)>>>0<e>>>0);c[(yi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(yi()|0)>>2]=34;g=ji(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(yi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Vh(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Wb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;K=e+12|0;p=(c[K>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=p+(q+-257)|0;w=c[D+40>>2]|0;x=c[D+44>>2]|0;y=c[D+48>>2]|0;G=D+56|0;H=D+60|0;z=c[D+76>>2]|0;A=c[D+80>>2]|0;B=(1<<c[D+84>>2])+-1|0;C=(1<<c[D+88>>2])+-1|0;q=p+(q-f)|0;r=D+7104|0;s=(c[D+52>>2]|0)+-1|0;t=(y|0)==0;u=y+w|0;v=q-y|0;g=c[H>>2]|0;h=c[G>>2]|0;f=p;a:do{if(g>>>0<15){p=i+2|0;j=g+16|0;h=((d[i+1>>0]|0)<<g)+h+((d[p>>0]|0)<<g+8)|0;i=p}else j=g;g=h&B;l=a[z+(g<<2)>>0]|0;k=b[z+(g<<2)+2>>1]|0;g=d[z+(g<<2)+1>>0]|0;h=h>>>g;g=j-g|0;do if(l<<24>>24){j=l&255;while(1){if(j&16|0)break;if(j&64|0){L=55;break a}p=(h&(1<<j)+-1)+(k&65535)|0;j=a[z+(p<<2)>>0]|0;k=b[z+(p<<2)+2>>1]|0;p=d[z+(p<<2)+1>>0]|0;h=h>>>p;g=g-p|0;if(!(j<<24>>24)){L=6;break}else j=j&255}if((L|0)==6){j=k&255;L=7;break}k=k&65535;l=j&15;if(!l)j=h;else{if(g>>>0<l>>>0){i=i+1|0;j=g+8|0;h=((d[i>>0]|0)<<g)+h|0}else j=g;g=j-l|0;j=h>>>l;k=(h&(1<<l)+-1)+k|0}if(g>>>0<15){p=i+2|0;l=g+16|0;g=((d[i+1>>0]|0)<<g)+j+((d[p>>0]|0)<<g+8)|0;i=p}else{l=g;g=j}p=g&C;j=b[A+(p<<2)+2>>1]|0;o=d[A+(p<<2)+1>>0]|0;h=g>>>o;g=l-o|0;l=d[A+(p<<2)>>0]|0;if(!(l&16))do{if(l&64|0){L=52;break a}l=(h&(1<<l)+-1)+(j&65535)|0;j=b[A+(l<<2)+2>>1]|0;p=d[A+(l<<2)+1>>0]|0;h=h>>>p;g=g-p|0;l=d[A+(l<<2)>>0]|0}while((l&16|0)==0);m=j&65535;n=l&15;if(g>>>0<n>>>0){l=i+1|0;h=((d[l>>0]|0)<<g)+h|0;j=g+8|0;if(j>>>0<n>>>0){i=i+2|0;g=g+16|0;h=((d[i>>0]|0)<<j)+h|0}else{g=j;i=l}}p=(h&(1<<n)+-1)+m|0;h=h>>>n;g=g-n|0;m=f;j=m-q|0;if(p>>>0<=j>>>0){m=f+(0-p)|0;j=f;while(1){a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;l=m+3|0;f=j+3|0;a[f>>0]=a[l>>0]|0;k=k+-3|0;if(k>>>0>2){m=l;j=f}else{l=m;break}}if(!k)break;f=j+4|0;a[f>>0]=a[l+4>>0]|0;if(k>>>0<=1)break;f=j+5|0;a[f>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>x>>>0?c[r>>2]|0:0){L=22;break a}do if(t){j=s+(w-l)|0;if(k>>>0>l>>>0){k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0}}else{if(y>>>0>=l>>>0){j=s+(y-l)|0;if(k>>>0<=l>>>0)break;k=k-l|0;n=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);f=f+q+n|0;j=f+(0-p)|0;break}j=s+(u-l)|0;l=l-y|0;if(k>>>0>l>>>0){k=k-l|0;o=p-m|0;m=f;do{j=j+1|0;m=m+1|0;a[m>>0]=a[j>>0]|0;l=l+-1|0}while((l|0)!=0);n=f+v+o|0;if(k>>>0>y>>>0){k=k-y|0;l=s;m=y;j=n;do{l=l+1|0;j=j+1|0;a[j>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);f=f+q+o|0;j=f+(0-p)|0}else{j=s;f=n}}}while(0);if(k>>>0>2)do{a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;j=j+3|0;f=f+3|0;a[f>>0]=a[j>>0]|0;k=k+-3|0}while(k>>>0>2);if(k){l=f+1|0;a[l>>0]=a[j+1>>0]|0;if(k>>>0>1){f=f+2|0;a[f>>0]=a[j+2>>0]|0}else f=l}}else{j=k&255;L=7}while(0);if((L|0)==7){L=0;f=f+1|0;a[f>>0]=j}}while(f>>>0<F>>>0&i>>>0<J>>>0);do if((L|0)==22){c[e+24>>2]=22063;c[D>>2]=29}else if((L|0)==52){c[e+24>>2]=22093;c[D>>2]=29}else if((L|0)==55)if(!(j&32)){c[e+24>>2]=22115;c[D>>2]=29;break}else{c[D>>2]=11;break}while(0);L=g>>>3;D=i+(0-L)|0;L=g-(L<<3)|0;c[e>>2]=D+1;c[K>>2]=f+1;c[I>>2]=J+5-D;c[E>>2]=F+257-f;c[G>>2]=(1<<L)+-1&h;c[H>>2]=L;return}function Xb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ye(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(yf(r,16827)|0)){j=g;h=k;N=4;break}s=Hi(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(Fj(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Yd(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(zj(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)aj(Q,o,(m|0)==0?17249:m)|0;else{l=th(o,f)|0;if(!l){l=th(o,20)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Xi(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Wi(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Mj(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Mj(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17249:m;l=th(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=mi(Q,o)|0;l=Wh(m)|0;if(!n){aj(Q,o,l)|0;break}else{Mh(n,l);break}}aj(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;Di(16838,z);break}case 34:{c[A>>2]=o;Di(16864,A);break}case 36:{c[K>>2]=o;Di(16903,K);break}case 38:{c[L>>2]=o;Di(16939,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;Di(16972,B);break}case 43:{c[C>>2]=o;Di(16939,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;Di(17014,D);break}case 48:{c[E>>2]=o;Di(17058,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;Di(17093,F);break}case 53:{c[G>>2]=o;Di(17133,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;Di(17169,H);break}case 57:{c[I>>2]=c[l>>2];Di(17210,I);break}case 65:{Di(17252,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Ub(d,13402)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){$e(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Og(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(yi()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Mg(14214,f)|0))m=c[F>>2]|0;else{ag(F)|0;f=ag(F)|0;if(!f){O=20;break a}if((((Mg(14854,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(yf(f,14857)|0)if(yf(f,14861)|0){if(I?(g=yf(f,14865)|0,!((H|g|0)==0&G)):0)if(!(yf(f,14869)|0)){f=o;break}else{O=30;break a}if(!(yf(f,14956)|0)){O=34;break a}if(!(yf(f,14865)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=Hi(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Qh(f+1|0)|0}if(!(Df(m,15008)|0)){if(o|0)c[e>>2]=qi(f)|0;if(k)h=qi(f)|0}}while(!(I&(Df(m,15017)|0)==0));if((Mg(15031,f)|0)!=0?(q=(Hi(f,32)|0)+1|0,r=Hi(q,45)|0,(r|0)!=0):0){l=r+1|0;m=pd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=pd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=se(f)|0;c[z+4>>2]=d;ci(14665,z);f=0;break}case 10:{c[v>>2]=d;ci(14702,v);f=0;break}case 11:{c[x>>2]=d;ci(14758,x);f=0;break}case 15:{c[y>>2]=2e3;ci(14790,y);f=0;break}case 20:{c[u>>2]=d;ci(14828,u);f=0;break}case 30:{if(!g)ci(14873,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;ci(14916,E);f=0;break}case 34:{c[w>>2]=d;ci(14960,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;ci(14985,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;rh(N,256,13504,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;ci(15038,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?25632:15132;c[K+8>>2]=f?14857:14861;c[K+12>>2]=h|0?h:15148;ci(15158,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;rh(N,256,13504,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;ci(15199,M);f=0}break}}i=P;return f|0}function Zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=Bb[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=ej(h)|0;c[b+16>>2]=e;f=zd(c[f>>2]|0)|0;if(!f){s=0;break}s=Yd(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Pj(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}we(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)gg(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Ig(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;we(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;xg(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}_d(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;Di(19080,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}_d(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){_d(b,f);s=1}else s=1}while(0);i=y;return s|0}function _b(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=i;i=i+2144|0;G=H+2136|0;B=H+2128|0;z=H+2112|0;m=H+2096|0;w=H+2080|0;v=H+2072|0;n=H+2056|0;j=H+2048|0;y=H;A=H+2140|0;if(((Mg(19343,b)|0)==0?(Mg(19351,b)|0)==0:0)?(Mg(19360,b)|0)==0:0){c[j>>2]=b;Di(19423,j)}c[y>>2]=f;x=y+8|0;c[x>>2]=d;c[x+4>>2]=e;c[y+16>>2]=b;Rh(4,19367,y);x=h+112|0;j=c[x>>2]|0;do if((j|0)>0){s=h+120|0;l=s;k=c[l>>2]|0;l=c[l+4>>2]|0;if(!((k|0)==(d|0)&(l|0)==(e|0))){q=Vh(d|0,e|0,k|0,l|0)|0;r=C;if(!(r>>>0<0|(r|0)==0&q>>>0<131073)){j=m;c[j>>2]=k;c[j+4>>2]=l;j=m+8|0;c[j>>2]=d;c[j+4>>2]=e;Rh(4,19658,m);tg(x);j=h+128|0;if((c[j>>2]|0)>0)tg(j);j=x;k=j+24|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));D=20;break}j=n;c[j>>2]=q;c[j+4>>2]=r;j=n+8|0;c[j>>2]=k;c[j+4>>2]=l;Rh(4,19505,n);j=h+256|0;k=c[x>>2]|0;if(!(c[6238]|0)){c[6238]=le(8192)|0;l=q;m=r;o=0;p=0}else{l=q;m=r;o=0;p=0}while(1){if((l|0)==0&(m|0)==0){t=p;u=o;break}I=m>>>0<0|(m|0)==0&l>>>0<8192;n=I?l:8192;n=uf(j,k,c[6238]|0,n)|0;if((n|0)<0){D=12;break}I=((n|0)<0)<<31>>31;K=Vh(l|0,m|0,n|0,I|0)|0;J=C;I=ji(n|0,I|0,o|0,p|0)|0;l=K;m=J;o=I;p=C}if((D|0)==12){K=v;c[K>>2]=o;c[K+4>>2]=p;pg(19554,v)}if(!(t>>>0<r>>>0|(t|0)==(r|0)&u>>>0<q>>>0)){j=s;c[j>>2]=d;c[j+4>>2]=e;j=h+304|0;K=j;K=ji(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[x>>2]|0;if((j|0)<1){D=20;break}else{E=j;break}}else{K=w;c[K>>2]=u;c[K+4>>2]=t;K=w+8|0;c[K>>2]=q;c[K+4>>2]=r;Di(19607,w)}}else E=j}else D=20;while(0);a:do if((D|0)==20){j=h+296|0;K=j;K=ji(c[K>>2]|0,c[K+4>>2]|0,1,0)|0;c[j>>2]=K;c[j+4>>2]=C;j=c[h+132>>2]|0;if(!j)k=b;else k=te(b,j)|0;c[z>>2]=k;j=z+8|0;c[j>>2]=d;c[j+4>>2]=e;rh(y,2048,19709,z)|0;j=hc(y,h+128|0)|0;c[x>>2]=j;K=h+120|0;c[K>>2]=d;c[K+4>>2]=e;do if((j|0)>=0){if(!(Mg(19728,k)|0)){E=j;break a}c[z>>2]=0;c[A>>2]=0;if(!(Kc(j,y,A,z)|0)){D=29;break}k=c[z>>2]|0;if(k){Pj(k);j=c[A>>2]|0;c[x>>2]=j}if((j|0)>=0){E=j;break a}}else D=29;while(0);c[B>>2]=b;Di(19733,B)}while(0);l=h+256|0;j=0;while(1){if((f|0)<=0){F=j;break}k=uf(l,E,g,f)|0;if((k|0)<=0){D=36;break}g=g+k|0;f=f-k|0;j=k+j|0}if((D|0)==36)if((k|0)==-1)pg(19762,G);else F=j;K=h+120|0;J=K;J=ji(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;c[K>>2]=J;c[K+4>>2]=C;i=H;return F|0}function $b(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[6256]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Za();f=c[k+4>>2]|0;if(!(f&1))Za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6372]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Tb(m,d);return a|0}if((k|0)==(c[6258]|0)){d=(c[6255]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[6258]=l;c[6255]=m;return a|0}if((k|0)==(c[6257]|0)){e=(c[6254]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[6254]=d;c[6257]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)Za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Za();d=g+12|0;if((c[d>>2]|0)!=(k|0))Za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Za()}while(0);if(h|0){d=c[k+28>>2]|0;e=25312+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[6253]=c[6253]&~(1<<d);break}}else{if(h>>>0<(c[6256]|0)>>>0)Za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[6256]|0;if(j>>>0<f>>>0)Za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[6256]|0)>>>0)Za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=25048+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Za();if((c[e+12>>2]|0)!=(k|0))Za()}if((f|0)==(e|0)){c[6252]=c[6252]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Tb(l,m);return a|0}return 0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;Eh(0,21387,b)|0}b=d+112|0;if(c[b>>2]|0)tg(b);b=d+128|0;if(c[b>>2]|0)tg(b);Pj(c[d+4>>2]|0);Pj(c[d+8>>2]|0);Qi(d+12|0);Pj(c[d+40>>2]|0);Pj(c[d+44>>2]|0);Pj(c[d+48>>2]|0);Pj(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)tg(b);Ki(d+80|0)}Qi(a);i=e;return}function bc(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)Da(11863,11883,448,11899);h=ya()|0;c[s>>2]=h;if((h|0)<0)pg(11912,l);if(h|0)if(!(kh(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;pg(12450,k)}r=Ji()|0;c[s>>2]=r;if(kh(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;pg(11923,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=_g(m)|0;j=ya()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}jg(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))ng(t);if(c[k>>2]|0)ng(m);g=0;f=0;j=h;h=k}if((b|0)==14)pg(11912,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){od(k,l,h,e);x=k+8|0;w=c[x>>2]|0;va(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];pg(12157,o)}od(k,0,h,e);h=Ng(1,f,g)|0;if((h|0)<0)pg(12068,p);if((h|0)==(g|0)){sh(1)|0;_a(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;Di(12103,q)}}else if((b|0)==28){sh(0)|0;sh(1)|0;Oh();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=zb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;jg(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)pg(12230,u);else if((b|0)==35){c[v>>2]=h;Di(12245,v)}else if((b|0)==39){v=cf(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;Di(12275,w)}else if((b|0)==41)Da(12330,11883,242,12354);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2099]|0;v=cf(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;Eh(h,12373,x)|0;h=c[k>>2]|0}_a(h>>>8&255|0)}else if((b|0)==47)Da(12420,11883,396,12440);else if((b|0)==49)_a(0)}}function cc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+64|0;J=K+8|0;I=K+56|0;H=K+52|0;E=K+48|0;D=K+44|0;F=K+40|0;G=K+16|0;if((c[a+12>>2]|0)!=-2003829722)Di(18718,K);ug(a);c[I>>2]=0;g=Qe(a,c[a+96>>2]|0,b,d,e,0)|0;c[H>>2]=g;A=c[a+8>>2]|0;B=c[a+16>>2]|0;y=a+80|0;b=c[y>>2]|0;if(!b)z=0;else z=pe(b)|0;t=(z|0)==0;u=G+20|0;v=G+4|0;w=G+16|0;x=G+12|0;b=g;a:while(1){if(!b){b=32;break}Ee(b,E,D);s=b+8|0;p=c[s>>2]|0;s=c[s+4>>2]|0;q=c[E>>2]|0;o=q+8|0;q=q+16|0;r=c[q>>2]|0;q=c[q+4>>2]|0;o=Vh(c[o>>2]|0,c[o+4>>2]|0,p|0,s|0)|0;q=ji(o|0,C|0,r|0,q|0)|0;r=C;Vf(A,p,s);s=pe(q)|0;Re(A,s,q,r);r=s;while(1){if((b|0)==(c[D>>2]|0))break;q=b+16|0;a=c[q>>2]|0;if(t){c[F>>2]=r;p=r+a|0}else{c[F>>2]=z;p=kf(r,a,z,c[y>>2]|0)|0;p=(c[F>>2]|0)+p|0}Rd(F,G,B);n=c[u>>2]|0;o=n>>>16;b:do switch(n&255|0){case 1:{g=0;while(1){if((g|0)==(o|0))break b;k=Fg(F,B)|0;a=Fg(F,B)|0;j=+Ie(F,B);k=k>>>0<d>>>0?d:k;a=a>>>0>e>>>0?e:a;if(k>>>0<a>>>0){n=If(f,24)|0;c[n+4>>2]=k;c[n+8>>2]=a;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}g=g+1|0}}case 2:{a=c[w>>2]|0;k=0;while(1){if((k|0)==(o|0))break b;l=Fg(F,B)|0;g=a+l|0;j=+Ie(F,B);l=l>>>0<d>>>0?d:l;g=g>>>0>e>>>0?e:g;if(l>>>0<g>>>0){n=If(f,24)|0;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j;c[n>>2]=c[I>>2];c[I>>2]=n}k=k+1|0}}case 3:{m=c[v>>2]|0;a=c[x>>2]|0;k=(c[w>>2]|0)+m|0;l=0;while(1){if((l|0)==(o|0))break b;j=+Ie(F,B);n=m>>>0<d>>>0?d:m;g=k>>>0>e>>>0?e:k;if(n>>>0<g>>>0){L=If(f,24)|0;c[L+4>>2]=n;c[L+8>>2]=g;h[L+16>>3]=j;c[L>>2]=c[I>>2];c[I>>2]=L}k=a+k|0;l=l+1|0;m=a+m|0}}default:{b=27;break a}}while(0);if((c[F>>2]|0)!=(p|0)){b=29;break a}b=c[b>>2]|0;r=r+(c[q>>2]|0)|0}Pj(s)}if((b|0)==27){c[J>>2]=18774;c[J+4>>2]=269;Di(21005,J)}else if((b|0)==29)Da(18790,18774,272,18810);else if((b|0)==32){Pj(z);Nh(H);dh(I);i=K;return c[I>>2]|0}return 0}function dc(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=kg(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kg(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ji(m|0,l|0,-1,-1)|0;d=C;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;Vh(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Vh(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){ed(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)ed(a,d,e,f,o);else tc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}tc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;tc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;tc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(_e(a,b,d)|0){b=ai()|0;if((b|0)>=0){if((ae(b,1)|0)<0){sh(b)|0;b=-1;break}b:do if((tf(b,d,16)|0)<0){n=yi()|0;d=c[n>>2]|0;if((d|0)!=115){w=se(d)|0;c[e>>2]=d;c[e+4>>2]=w;ci(13338,e);sh(b)|0;b=-1;break a}tb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=Xf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}tb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=se(d)|0;c[t>>2]=d;c[t+4>>2]=C;ci(13114,t);sh(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;ci(13246,u);sh(b)|0;e=23;break}c[r>>2]=4;do if((df(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=se(d)|0;c[w>>2]=d;c[w+4>>2]=C;ci(13202,w);sh(b)|0;break}}else{B=c[n>>2]|0;C=se(B)|0;c[v>>2]=B;c[v+4>>2]=C;ci(13172,v);sh(b)|0}while(0)}while(0);b=-1;break a}while(0);if((ae(b,0)|0)<0){sh(b)|0;b=-1;break}if((Bf(b,120)|0)<0){sh(b)|0;b=-1}}}else b=-1;else{ci(12994,x+24|0);b=-1}while(0);i=x;return b|0}function gc(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,gg(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){Ze(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(gc(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(yi()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Ub(b,13398)|0))e=qf(b,0,r)|0;else{if((Mg(19343,b)|0)==0?(Mg(19351,b)|0)==0:0){if(!(Mg(19360,b)|0)){c[g>>2]=b;Di(14598,g)}lc(b,o);if(yf(o,21001)|0){c[f>>2]=b;Di(14261,f)}b=o+4112|0;g=qd(b,Vd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(wi(g,14308,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,rh(m,256,14315,j)|0,(wi(g,m,0,0)|0)==0):0){sh(g)|0;e=-1;break}j=o+6176|0;s=(a[(Yd(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14327:14332;c[k+4>>2]=j;rh(m,256,14337,k)|0;lj(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=Hi(j,40)|0;a[(Hi(j,41)|0)>>0]=0;if((Pe(s+1|0,14345,k,7)|0)!=6)Di(14347,h);f=(Vd(c[k+16>>2]|0)|0)<<8;f=fc(b,(Vd(c[k+20>>2]|0)|0)+f|0)|0;Fi(l);if((f|0)<0){sh(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((sd(f,1e6)|0)>0){b=26;break}if((sd(g,0)|0)>0?(zc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;ci(14383,n);sh(g)|0;sh(f)|0;e=-1;break}else if((b|0)==24){sh(g)|0;sh(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}vd(c[2128]|0)|0;vd(c[2069]|0)|0;vd(c[2099]|0)|0;b=le(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;re(b+20|0,o|0,10280)|0;f=b+4|0;if(Sh(f)|0){c[p>>2]=se(c[(yi()|0)>>2]|0)|0;Di(14448,p)}b=fb(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=se(b)|0;c[q>>2]=b;c[q+4>>2]=s;Di(14552,q)}}}else{sh(g)|0;e=-1}while(0)}break}e=Yi(b,14242,0)|0}while(0);i=r;return e|0}function ic(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Ph(d|0,m|0,52)|0;e=e&2047;j=Ph(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Lh(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Lh(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Lh(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Lh(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Lh(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Lh(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Lh(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Lh(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Vh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Vh(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Lh(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=ji(d|0,f|0,0,-1048576)|0;d=C;e=Lh(e|0,0,52)|0;d=d|C;e=o|e}else{e=Ph(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+10672|0;u=v+112|0;r=v+104|0;o=v+96|0;m=v+88|0;s=v+64|0;j=v+56|0;q=v+8|0;g=v;l=v+10400|0;h=v+120|0;k=v+10416|0;t=v+116|0;lc(b,h);if(yf(h,21001)|0){c[g>>2]=b;Di(13527,g)}b=h+6176|0;if(yf(b,20534)|0){p=qd(h+4112|0,Vd(h+6160|0)|0,h+16|0,h+2064|0)|0;if((p|0)<0)f=0;else{c[q>>2]=b;rh(k,256,13685,q)|0;c[t>>2]=0;do if(wi(p,k,t,0)|0){if((Pe(c[(c[t>>2]|0)+4>>2]|0,13414,l,3)|0)!=2)Di(13695,j);n=l+4|0;j=pd(c[n>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=C;Fi(t);c[s>>2]=b;rh(k,256,13731,s)|0;if(!(wi(p,k,t,0)|0)){sh(p)|0;f=0;break}b=Pe(c[(c[t>>2]|0)+4>>2]|0,13414,l,3)|0;if((b|0)!=2){c[m>>2]=b;Di(13741,m)}j=c[n>>2]|0;if((Yd(j)|0)>>>0<14){c[o>>2]=j;Di(13783,o)}b=s;g=13832;h=b+20|0;do{a[b>>0]=a[g>>0]|0;b=b+1|0;g=g+1|0}while((b|0)<(h|0));a[s>>0]=a[j>>0]|0;a[s+1>>0]=a[j+1>>0]|0;a[s+2>>0]=a[j+2>>0]|0;a[s+3>>0]=a[j+3>>0]|0;a[s+4>>0]=45;a[s+5>>0]=a[j+4>>0]|0;a[s+6>>0]=a[j+5>>0]|0;a[s+7>>0]=45;a[s+8>>0]=a[j+6>>0]|0;a[s+9>>0]=a[j+7>>0]|0;a[s+10>>0]=32;a[s+11>>0]=a[j+8>>0]|0;a[s+12>>0]=a[j+9>>0]|0;a[s+13>>0]=58;a[s+14>>0]=a[j+10>>0]|0;a[s+15>>0]=a[j+11>>0]|0;a[s+16>>0]=58;a[s+17>>0]=a[j+12>>0]|0;a[s+18>>0]=a[j+13>>0]|0;a[s+19>>0]=0;if(!(Ua(s|0,13852,q|0)|0)){c[r>>2]=s;Di(13870,r)}c[q+32>>2]=-1;b=Ta(q|0)|0;if((b|0)==-1){c[u>>2]=c[n>>2];Di(13903,u)}else{c[e>>2]=b;Fi(t);sh(p)|0;f=1;break}}else{sh(p)|0;f=0}while(0)}}else{f=d;c[f>>2]=0;c[f+4>>2]=0;c[e>>2]=rb(0)|0;f=1}i=v;return f|0}function lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Yd(b)|0)>>>0>4095){c[e>>2]=b;Di(13379,e)}Ij(f,b)|0;zi(f)|0;b=Ub(f,13398)|0;if(!b){a[d>>0]=a[19728]|0;a[d+1>>0]=a[19729]|0;a[d+2>>0]=a[19730]|0;a[d+3>>0]=a[19731]|0;a[d+4>>0]=a[19732]|0}else{a[b>>0]=0;Ch(f)|0;Of(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=Hi(f,47)|0;if(g){$e(g,b,e,1);if(!((Df(d,19728)|0)!=0?(Df(d,20995)|0)!=0:0)){e=Sd(g,13414,13416)|0;Of(d+6176|0,4096,e);Pj(e)}a[g>>0]=0;if(!(Df(d,21001)|0)){g=g+1|0;Xd(g,d+6176|0,Yd(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=Hi(f,64)|0;if(!g){if(!((Df(d,19728)|0)!=0?(Df(d,20995)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Df(d,21001)|0)){b=d+16|0;e=13420;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=13430;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=Hi(f,58)|0;if(!b){e=d+16|0;Of(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;Of(e,2048,f);f=d+2064|0;Of(f,2048,b+1|0);b=f}Dd(e,e,Yd(e)|0);Dd(b,b,Yd(b)|0);f=g+1|0}b=Hi(f,58)|0;do if(!b){if(!(Df(d,19728)|0)){h=d+6160|0;a[h>>0]=a[13448]|0;a[h+1>>0]=a[13449]|0;a[h+2>>0]=a[13450]|0}if(!(Df(d,20995)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Df(d,21001)|0)){h=d+6160|0;a[h>>0]=a[13451]|0;a[h+1>>0]=a[13452]|0;a[h+2>>0]=a[13453]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){Of(d+6160|0,16,e);break}else{c[h>>2]=e;Di(13454,h)}}while(0);Of(d+4112|0,2048,f);i=j;return}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var f=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+16|0;u=v;t=v+4|0;c[t>>2]=0;a:do switch(c[a+4>>2]|0){case 0:{q=0;j=0;k=0;r=mi(c[a+12>>2]|0,b)|0;b:while(1){if(!r){a=17;break}if(yf(c[r+4>>2]|0,b)|0){a=17;break}f=c[r+16>>2]|0;c:do switch(f|0){case 1:{f=q;a=r+20|0;while(1){a=c[a>>2]|0;if(!a){a=k;break c}k=If(d,24)|0;c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];h[k+16>>3]=+g[a+12>>2];c[k>>2]=f;c[t>>2]=k;f=k;j=k}}case 2:{l=c[r+20>>2]|0;m=c[r+28>>2]|0;n=e[r+32>>1]|0;f=q;a=k;k=0;while(1){if((k|0)==(n|0))break c;a=If(d,24)|0;f=c[l+(k<<3)>>2]|0;c[a+4>>2]=f;c[a+8>>2]=f+m;h[a+16>>3]=+g[l+(k<<3)+4>>2];c[a>>2]=j;c[t>>2]=a;j=a;f=a;k=k+1|0}}case 3:{m=c[r+20>>2]|0;n=c[r+28>>2]|0;o=c[r+24>>2]|0;p=e[r+32>>1]|0;a=k;f=q;k=0;l=c[r+8>>2]|0;while(1){if((k|0)==(p|0))break c;j=If(d,24)|0;c[j+4>>2]=l;c[j+8>>2]=l+n;h[j+16>>3]=+g[m+(k<<2)>>2];c[j>>2]=a;c[t>>2]=j;a=j;f=j;k=k+1|0;l=l+o|0}}default:{a=15;break b}}while(0);q=f;k=a;r=c[r>>2]|0}if((a|0)==15){c[u>>2]=f;Di(12737,u)}else if((a|0)==17){dh(t);s=c[t>>2]|0;break a}break}case 1:{s=c[a+20>>2]|0;s=cc(s,b,0,hg(s,b)|0,d)|0;c[t>>2]=s;break}default:s=0}while(0);i=v;return s|0}function nc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[84+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+4>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+8>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+12>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+16>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+20>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+24>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2]^c[f+28>>2];a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[2132+((a>>>8&255)<<2)>>2]^c[3156+((a&255)<<2)>>2]^c[1108+((a>>>16&255)<<2)>>2]^c[84+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[84+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function oc(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;r=w;s=w+33|0;t=c[b+8>>2]|0;Vf(t,f,g);Re(t,s,1,0);Re(t,w+32|0,1,0);u=c[b+12>>2]|0;v=Tg(t,u)|0;m=v&65535;q=d[s>>0]|0;p=r;c[p>>2]=f;c[p+4>>2]=g;c[r+8>>2]=h;c[r+12>>2]=j;c[r+16>>2]=k;c[r+20>>2]=m;c[r+24>>2]=q;Rh(3,16276,r);a:do if(!(a[s>>0]|0)){n=$a()|0;o=i;i=i+((1*(m<<2)|0)+15&-16)|0;p=i;i=i+((1*(m<<2)|0)+15&-16)|0;q=i;i=i+((1*(m<<2)|0)+15&-16)|0;r=i;i=i+((1*(m<<2)|0)+15&-16)|0;s=i;i=i+((1*(m<<3)|0)+15&-16)|0;f=0;while(1){if((f&65535)<<16>>16==v<<16>>16)break;c[o+(f<<2)>>2]=Sg(t,u)|0;c[p+(f<<2)>>2]=Sg(t,u)|0;c[q+(f<<2)>>2]=Sg(t,u)|0;c[r+(f<<2)>>2]=Sg(t,u)|0;g=Uf(t,u)|0;m=s+(f<<3)|0;c[m>>2]=g;c[m+4>>2]=C;f=f+1|0}f=e+1|0;g=0;while(1){if((g&65535)<<16>>16==v<<16>>16)break;if(rf(h,j,k,c[o+(g<<2)>>2]|0,c[p+(g<<2)>>2]|0,c[q+(g<<2)>>2]|0,c[r+(g<<2)>>2]|0)|0){u=s+(g<<3)|0;oc(b,f,c[u>>2]|0,c[u+4>>2]|0,h,j,k,l)}g=g+1|0}Ga(n|0)}else{o=0;while(1){if((o&65535)>=(v&65535))break a;r=Sg(t,u)|0;s=Sg(t,u)|0;e=Sg(t,u)|0;b=Sg(t,u)|0;f=Uf(t,u)|0;g=C;m=Uf(t,u)|0;n=C;if(rf(h,j,k,r,s,e,b)|0){b=le(24)|0;e=b+8|0;c[e>>2]=f;c[e+4>>2]=g;e=b+16|0;c[e>>2]=m;c[e+4>>2]=n;c[b>>2]=c[l>>2];c[l>>2]=b}o=o+1<<16>>16}}while(0);i=w;return}function pc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Li(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Li(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Li(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Li(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Wa(6,p|0)|0}d=Li(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Li(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Li(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function qc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=$h(512)|0;lc(b,s);h=ab(14022)|0;p=(h|0)!=0;if(p){lc(h,q);re(r|0,q|0,10280)|0;h=ef(r,b)|0}else{re(r|0,s|0,10280)|0;h=ef(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=qi(b)|0;j=sj(b,59)|0;if((j|0)!=0?(Mg(13402,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;Fh(k,14033,l);Pj(b);c[m>>2]=f;Fh(k,14044,m);if((yf(s,19728)|0)==0?(yf(13448,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((yf(s,20995)|0)==0?(yf(13483,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;Fh(k,14072,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;Fh(k,14061,n)}b=c[t>>2]|0;re(r|0,s|0,10280)|0;Ae(r,14086,b);if(p){re(r|0,q|0,10280)|0;Ae(r,14100,b);k=c[t>>2]|0}else k=b;mj(k,14120);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;Fh(k,14159,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;Fh(k,14134,u);break}}while(0);if(g|0)mj(c[t>>2]|0,g);v=c[t>>2]|0;mj(v,14180);nf(h,c[v+4>>2]|0,c[v+12>>2]|0);Fi(t)}i=w;return h|0}function rc(a,d,f){a=a|0;d=d|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;o=i;i=i+16|0;j=o;h=o+12|0;k=o+8|0;l=le(120)|0;c[l+4>>2]=qi(a)|0;m=Xg(a,wk()|0)|0;c[l+8>>2]=m;Re(m,h,4,0);g=c[h>>2]|0;if((g|0)!=(d|0)){g=Vj(g)|0;c[h>>2]=g;if((g|0)==(d|0))n=1;else{c[j>>2]=a;c[j+4>>2]=f;Di(21596,j)}}else n=0;c[l+12>>2]=d;c[l+16>>2]=n;b[l+24>>1]=Tg(m,n)|0;g=l+26|0;b[g>>1]=Tg(m,n)|0;h=Uf(m,n)|0;f=l+32|0;j=f;c[j>>2]=h;c[j+4>>2]=C;j=Uf(m,n)|0;h=l+40|0;c[h>>2]=j;c[h+4>>2]=C;h=Uf(m,n)|0;j=l+48|0;c[j>>2]=h;c[j+4>>2]=C;b[l+56>>1]=Tg(m,n)|0;b[l+58>>1]=Tg(m,n)|0;j=Uf(m,n)|0;h=l+64|0;c[h>>2]=j;c[h+4>>2]=C;h=Uf(m,n)|0;j=l+72|0;c[j>>2]=h;c[j+4>>2]=C;c[l+80>>2]=Sg(m,n)|0;j=Uf(m,n)|0;h=l+88|0;d=h;c[d>>2]=j;c[d+4>>2]=C;c[k>>2]=0;d=0;while(1){if((d|0)>=(e[g>>1]|0|0))break;j=le(32)|0;c[j+4>>2]=Sg(m,n)|0;c[j+8>>2]=Sg(m,n)|0;p=Uf(m,n)|0;q=j+16|0;c[q>>2]=p;c[q+4>>2]=C;q=Uf(m,n)|0;p=j+24|0;c[p>>2]=q;c[p+4>>2]=C;c[j>>2]=c[k>>2];c[k>>2]=j;d=d+1|0}dh(k);c[l+100>>2]=c[k>>2];g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==0&(h|0)==0)){Vf(m,g,h);b[l+104>>1]=Tg(m,n)|0;b[l+106>>1]=Tg(m,n)|0;p=Uf(m,n)|0;q=l+112|0;c[q>>2]=p;c[q+4>>2]=C}q=f;Vf(m,c[q>>2]|0,c[q+4>>2]|0);c[l+20>>2]=hd(a,m)|0;i=o;return l|0}function sc(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 tc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((Ib[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((Ib[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((Ib[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){Ld(b,p,e);ed(a,b,d,g,h)}i=r;return}function uc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=fh(f|0,b|0,10,0)|0;f=C;e=ji(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ji(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=dd(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Vh(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+40|0;l=r+32|0;m=r+24|0;j=r+16|0;g=r+8|0;p=r;k=r+44|0;c[p>>2]=a;Rh(4,19804,p);f=b+36|0;e=0;while(1){d=ye(0,1)|0;c[p>>2]=d;d=Cj(a,d)|0;if((d|0)==200){h=7;break}if((d+-301|0)>>>0>1){n=0;break}if((e|0)>4){h=5;break}d=bi(c[p>>2]|0,19890)|0;c[f>>2]=qi(d)|0;d=te(a,d)|0;$d(p);a=d;e=e+1|0}do if((h|0)==5){c[g>>2]=d;c[g+4>>2]=a;ci(19837,g);n=0}else if((h|0)==7){d=bi(c[p>>2]|0,19900)|0;do if(!d){d=Ge(a)|0;e=C;if((e|0)<0){$d(p);c[j>>2]=a;Di(19916,j)}else{j=b+8|0;c[j>>2]=d;c[j+4>>2]=e;break}}else{h=pd(d)|0;j=b+8|0;c[j>>2]=h;c[j+4>>2]=C}while(0);d=bi(c[p>>2]|0,19983)|0;if(!d){d=bi(c[p>>2]|0,19998)|0;if(!d){$d(p);c[m>>2]=a;Di(20004,m)}else o=d}else o=d;if(!(Ua(o|0,20079,k|0)|0)){$d(p);c[l>>2]=o;Di(20104,l)}d=Lf(k)|0;if((d|0)==-1){$d(p);c[q>>2]=o;Di(20146,q)}else{n=b;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;$d(p);n=200;break}}while(0);i=r;return n|0}function wc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;o=u+1|0;t=b+8|0;Vf(c[t>>2]|0,d,e);Re(c[t>>2]|0,o,1,0);Re(c[t>>2]|0,u,1,0);p=c[b+32>>2]|0;s=Tg(c[t>>2]|0,p)|0;q=c[b+16>>2]|0;r=i;i=i+((1*q|0)+15&-16)|0;h=b+20|0;j=i;i=i+((1*(c[h>>2]|0)|0)+15&-16)|0;a:do if(!(a[o>>0]|0)){h=((q|0)<0)<<31>>31;Re(c[t>>2]|0,r,q,h);e=Uf(c[t>>2]|0,p)|0;d=C;k=e;l=d;n=1;o=af(f,r,q)|0;while(1){if((n&65535)>=(s&65535))break;Re(c[t>>2]|0,r,q,h);e=Uf(c[t>>2]|0,p)|0;d=C;j=af(f,r,q)|0;if((o|0)>-1&(j|0)<1){v=ej(c[t>>2]|0)|0;m=C;wc(b,k,l,f,g);Vf(c[t>>2]|0,v,m)}m=(j|0)<0;if((j|0)<=-1)break a;k=m?k:e;l=m?l:d;n=n+1<<16>>16;o=m?o:j}wc(b,e,d,f,g)}else{d=((q|0)<0)<<31>>31;e=0;while(1){if((e&65535)>=(s&65535))break a;Re(c[t>>2]|0,r,q,d);Re(c[t>>2]|0,j,c[h>>2]|0,0);if(!(af(f,r,q)|0))li(g,Mi(j,c[h>>2]|0)|0);e=e+1<<16>>16}}while(0);i=u;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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[6239]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Li(yb(146,n|0)|0)|0}else{xa(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Li(yb(146,m|0)|0)|0;la(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 yc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Mc(24565,f<<24>>24,4)|0){e=Kb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(Hi(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(Hi(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(db(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[6240]|0))c[e+76>>2]=-1;mb(24984);f=c[6245]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[6245]=e;eb(24984)}}else{c[(yi()|0)>>2]=22;e=0}i=o;return e|0}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=$h(4096)|0;while(1){if((sd(b,1e6)|0)<=0){j=3;break}g=Og(b,m,4096)|0;if(g){sf(c[o>>2]|0,m,g);if(!(Jh(c[(c[o>>2]|0)+4>>2]|0,13611)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Yd(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Yd(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;ci(13567,n);g=0}else if((j|0)==18){g=Vd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;ci(13613,p);g=0;break}if(!e)Fi(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function Ac(b,d,e,f,g){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,q=0;o=i;i=i+16|0;p=o+1|0;n=b+8|0;Vf(c[n>>2]|0,d,e);Re(c[n>>2]|0,p,1,0);Re(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Tg(c[n>>2]|0,j)|0;k=b+16|0;l=i;i=i+((1*(c[k>>2]|0)|0)+15&-16)|0;e=b+20|0;h=i;i=i+((1*(c[e>>2]|0)|0)+15&-16)|0;a:do if(!(a[p>>0]|0)){e=$a()|0;h=i;i=i+((1*((m&65535)<<3)|0)+15&-16)|0;d=0;while(1){if((d&65535)<<16>>16==m<<16>>16){d=0;break}Re(c[n>>2]|0,l,c[k>>2]|0,0);q=Uf(c[n>>2]|0,j)|0;p=h+(d<<3)|0;c[p>>2]=q;c[p+4>>2]=C;d=d+1|0}while(1){if((d&65535)<<16>>16==m<<16>>16)break;q=h+(d<<3)|0;Ac(b,c[q>>2]|0,c[q+4>>2]|0,f,g);d=d+1|0}Ga(e|0)}else{d=0;while(1){if((d&65535)>=(m&65535))break a;Re(c[n>>2]|0,l,c[k>>2]|0,0);Re(c[n>>2]|0,h,c[e>>2]|0,0);Cb[g&1](f,l,c[k>>2]|0,h,c[e>>2]|0);d=d+1<<16>>16}}while(0);i=o;return}function Bc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?25004:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[8628+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(yi()|0)>>2]=84;f=-1}i=l;return f|0}function Cc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;wb(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Og(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Vh(1,0,g|0,e|0)|0;b=ji(b|0,C|0,d|0,h|0)|0}r=(Ng(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=ji(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)eg(14496,l);if((b|0)==-1)eg(14527,o);sh(c[m>>2]|0)|0;sh(c[a+12>>2]|0)|0;sh(c[n>>2]|0)|0;i=q;return 0}function Dc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;j=k+88|0;d=k+80|0;h=k;g=k+92|0;e=qf(a,2,h)|0;if((e|0)<0)if((c[(yi()|0)>>2]|0)==2)b=0;else{c[d>>2]=a;pg(21076,d)}else{Fe(e,h)|0;if((c[h+36>>2]|0)<64){sh(e)|0;b=0}else{Od(e,g,4);b=c[g>>2]|0;if((b|0)!=1099424502){d=Vj(b)|0;c[g>>2]=d;if((d|0)==1099424502)f=1;else{c[j>>2]=a;Di(21099,j)}}else f=0;b=le(56)|0;c[b+4>>2]=Qg(e,f)|0;g=Sf(e,f)|0;j=b+8|0;c[j>>2]=g;c[j+4>>2]=C;j=Sf(e,f)|0;g=b+16|0;c[g>>2]=j;c[g+4>>2]=C;c[b+24>>2]=Qg(e,f)|0;Qg(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;Sf(e,f)|0;g=c[h+56>>2]|0;j=b+32|0;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;h=c[h+48>>2]|0;j=b+40|0;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;c[b+48>>2]=f;c[b+52>>2]=e}}i=k;return b|0}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){Kd(b);break}if((sh(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];Di(12608,k)}}else{if(!(c[a+20>>2]&2)){if(hh(d)|0){c[f>>2]=c[a+12>>2];Di(12577,f)}}else{vd(d)|0;if(hh(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];Di(12547,e)}}if((Be(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];Di(12608,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((zb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)pg(12230,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;Di(12638,l)}if(b|0)Da(12679,11883,435,12697);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;Di(12713,m)}i=n;return d>>>8&255|0}function Fc(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+120|0;r=s+80|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((Mb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=sk(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=Mb(b,d,o,q,r)|0;if(h){Bb[c[b+36>>2]&7](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=Mb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)rk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Gc(b,d,e,f,g){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;o=i;i=i+16|0;h=o+1|0;n=b+8|0;Vf(c[n>>2]|0,d,e);Re(c[n>>2]|0,h,1,0);Re(c[n>>2]|0,o,1,0);j=c[b+32>>2]|0;m=Tg(c[n>>2]|0,j)|0;k=b+16|0;d=c[k>>2]|0;l=i;i=i+((1*d|0)+15&-16)|0;a:do if(!(a[h>>0]|0)){Re(c[n>>2]|0,l,d,0);e=Uf(c[n>>2]|0,j)|0;d=C;h=1;while(1){if((h&65535)>=(m&65535))break;Re(c[n>>2]|0,l,c[k>>2]|0,0);if((af(f,l,c[k>>2]|0)|0)<0)break;e=Uf(c[n>>2]|0,j)|0;d=C;h=h+1<<16>>16}d=Gc(b,e,d,f,g)|0}else{h=b+20|0;e=0;while(1){if((e&65535)>=(m&65535)){d=0;break a}Re(c[n>>2]|0,l,d,0);Re(c[n>>2]|0,g,c[h>>2]|0,0);d=c[k>>2]|0;if(!(af(f,l,d)|0)){d=1;break}else e=e+1<<16>>16}}while(0);i=o;return d|0}function Hc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=qi(25632)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(zj(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=le(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(zj(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;rh(h,4,11677,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009|0)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Ze(b|0,0,e|0)|0;return b|0}function Jc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=$h(512)|0;c[h>>2]=f;mj(f,b);mj(f,13398);d=b+16|0;if(a[d>>0]|0){d=Hc(d)|0;mj(f,d);Pj(d);d=b+2064|0;if(a[d>>0]|0){mj(f,13479);d=Hc(d)|0;mj(f,d);Pj(d)}mj(f,13481)}mj(f,b+4112|0);if(!((yf(b,21001)|0)==0?!(yf(13451,b+6160|0)|0):0))e=7;do if((e|0)==7){if((yf(b,19728)|0)==0?(yf(13448,b+6160|0)|0)==0:0)break;d=b+6160|0;if((yf(b,20995)|0)==0?(yf(13483,d)|0)==0:0)break;mj(f,13479);mj(f,d)}while(0);mj(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,Fh(f,13487,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;Fh(f,13504,k)}k=Ah(h)|0;i=l;return k|0}function Kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Yb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}sh(a)|0;if((h|0)>0)Pj(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Mg(19343,f)|0)==0?(Mg(19351,f)|0)==0:0){g=11;break}f=te(g,f)|0;c[j>>2]=f;a=hc(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;ci(15247,k);g=14}else if((g|0)==11){c[l>>2]=f;ci(15301,l);g=14}else if((g|0)==13){c[m>>2]=f;ci(21370,m);g=14}if((g|0)==14)if((b|0)>0){Pj(f);b=0}else b=0;i=n;return b|0}function Lc(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;h=c[a+28>>2]|0;i=h+52|0;e=c[i>>2]|0;if(!e){e=Bb[c[a+32>>2]&7](c[a+40>>2]|0,1<<c[h+36>>2],1)|0;c[i>>2]=e;if(!e){d=1;return d|0}}g=h+40|0;a=c[g>>2]|0;if(!a){a=1<<c[h+36>>2];c[g>>2]=a;c[h+48>>2]=0;c[h+44>>2]=0}if(a>>>0<=d>>>0){re(e|0,b+(0-a)|0,a|0)|0;c[h+48>>2]=0;c[h+44>>2]=c[g>>2];d=0;return d|0}f=h+48|0;j=c[f>>2]|0;a=a-j|0;a=a>>>0>d>>>0?d:a;re(e+j|0,b+(0-d)|0,a|0)|0;e=d-a|0;if((a|0)!=(d|0)){re(c[i>>2]|0,b+(0-e)|0,e|0)|0;c[f>>2]=e;c[h+44>>2]=c[g>>2];j=0;return j|0}e=(c[f>>2]|0)+d|0;j=c[g>>2]|0;c[f>>2]=(e|0)==(j|0)?0:e;e=h+44|0;a=c[e>>2]|0;if(a>>>0>=j>>>0){j=0;return j|0}c[e>>2]=a+d;j=0;return j|0}function Mc(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|0)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?b:0)|0}function Nc(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;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Li(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(yi()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Li(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;pc(e,2,j)|0}if(b&2048){c[h>>2]=pc(e,3,k)|0|2048;pc(e,4,h)|0}}}}while(0);i=l;return e|0}function Oc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[6239]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Li(xb(145,h|0)|0)|0}else{xa(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Li(xb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!d){b=-6;return b|0}if((e|0)!=56|(a[d>>0]|0)!=49){b=-6;return b|0}if(!b){b=-2;return b|0}f=b+24|0;c[f>>2]=0;e=b+32|0;d=c[e>>2]|0;if(!d){c[e>>2]=6;c[b+40>>2]=0;d=6}e=b+36|0;if(!(c[e>>2]|0))c[e>>2]=2;e=Bb[d&7](c[b+40>>2]|0,1,7116)|0;if(!e){b=-4;return b|0}c[b+28>>2]=e;c[e+52>>2]=0;c[e+8>>2]=1;c[e+36>>2]=15;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[f>>2]=0;c[b+48>>2]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+12>>2]=0;c[e+20>>2]=32768;c[e+32>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=e+1328|0;c[e+108>>2]=b;c[e+80>>2]=b;c[e+76>>2]=b;c[e+7104>>2]=1;c[e+7108>>2]=-1;b=0;return b|0}function Rc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)Da(16114,16166,388,16178);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Ti(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)dh(b);d=d+1|0}Pj(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=le(72)|0;c[d+4>>2]=a;c[d+8>>2]=b;Re(b,g,4,0);e=c[g>>2]|0;if((e|0)!=610839776){c[g>>2]=Vj(e)|0;c[d+12>>2]=1;if((c[g>>2]|0)==610839776)f=1;else{c[j>>2]=a;Di(16232,j)}}else f=0;c[d+24>>2]=Sg(b,f)|0;j=Uf(b,f)|0;g=d+32|0;c[g>>2]=j;c[g+4>>2]=C;c[d+40>>2]=Sg(b,f)|0;c[d+44>>2]=Sg(b,f)|0;c[d+48>>2]=Sg(b,f)|0;c[d+52>>2]=Sg(b,f)|0;g=Uf(b,f)|0;j=d+56|0;c[j>>2]=g;c[j+4>>2]=C;c[d+64>>2]=Sg(b,f)|0;Re(b,h,4,0);b=ej(b)|0;j=d+16|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function Tc(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,q=0;q=i;i=i+64|0;n=q+48|0;o=q+32|0;m=q+24|0;p=q;c[p>>2]=e;l=p+8|0;c[l>>2]=b;c[l+4>>2]=d;c[p+16>>2]=a;Rh(4,20839,p);$g(500);l=a+5|0;k=id(l,20746)|0;c[p>>2]=k;Aj(k,b,0)|0;h=g+256|0;j=0;a=0;while(1){if((j|0)>=(e|0)){g=6;break}$g(250);g=e-j|0;g=Af(h,f,(g|0)>1024?1024:g,k)|0;c[m>>2]=g;Rh(4,20892,m);if(hh(k)|0){g=4;break}j=j+1024|0;f=f+1024|0;a=g+a|0}if((g|0)==4){c[o>>2]=e;q=o+8|0;c[q>>2]=b;c[q+4>>2]=d;ci(20914,o);c[n>>2]=l;pg(20798,n)}else if((g|0)==6){cj(p);i=q;return a|0}return 0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=le(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=$h(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){mj(e,11811);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){mj(e,13414);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}mj(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=Ah(j)|0;if(!(c[a>>2]|0))Di(11815,k);if(!(b&8))e=0;else{Mh(l,Ne(8,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Mh(l,Ne(d,l)|0);e=e+1|0}i=m;return l|0}function Vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=sk(f)|0;else k=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<j>>>0?h:j;re(b|0,i|0,h|0)|0;c[g>>2]=i+h;b=b+h|0;g=j-h|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(ne(f)|0){e=h;break}g=Bb[c[i>>2]&7](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k|0)rk(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)rk(f);return e|0}function Wc(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(!(vf(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Bb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Bb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);re(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 Xc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;j=a+16|0;k=c[j>>2]|0;if(k>>>0<d>>>0)j=0;else{n=$a()|0;l=i;i=i+((1*k|0)+15&-16)|0;j=c[j>>2]|0;if((j|0)==(d|0))l=b;else{re(l|0,b|0,d|0)|0;Ze(l+d|0,0,j-d|0)|0}j=c[a+20>>2]|0;if((j|0)!=(e|0)){d=c[a+4>>2]|0;c[m>>2]=e;c[m+4>>2]=d;c[m+8>>2]=j;Di(16754,m)}k=a+40|0;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!f)j=Gc(a,j,k,l,g)|0;else{wc(a,j,k,l,h);j=(c[h>>2]|0)!=0&1}Ga(n|0)}i=o;return j|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Zc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Yd(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function _c(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=le(16)|0;else l=If(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=nj(d,e)|0;else{k=If(h,e+1|0)|0;c[l+4>>2]=k;re(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Rc(b,pi(m)|0);return l|0}function $c(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=xk()|0;mk(24872)|0;if((c[6225]|0)!=0&(a|0)==(c[6226]|0)){Ng(2,12777,61)|0;_a(1)}kk(24872)|0;mk(24908)|0;mk(24872)|0;c[6226]=a;c[6225]=1;kk(24872)|0;if(!(c[6234]|0))c[6234]=ye(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;rh(d,64,13504,b)|0;a=ff(c[6234]|0,d)|0;if(!a){a=le(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=aj(c[6234]|0,d,a)|0}mk(24872)|0;c[6225]=0;kk(24872)|0;kk(24908)|0;i=e;return c[a+8>>2]|0}function ad(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;l=i;i=i+16|0;k=l;j=l+12|0;if(d|0){g=$h(Yd(f)|0)|0;c[j>>2]=g;h=f;f=Hi(f,47)|0;while(1){if(!f)break;a[f>>0]=0;g=c[j>>2]|0;mj(g,h);mj(g,20534);m=f+1|0;h=m;f=Hi(m,47)|0}mj(g,h);f=Ah(j)|0;j=Yd(d)|0;m=Yd(e)|0;m=j+3+m+(Yd(f)|0)|0;j=le(m)|0;c[b+40>>2]=j;c[k>>2]=d;c[k+4>>2]=e;c[k+8>>2]=f;rh(j,m,20536,k)|0;c[b+44>>2]=og(b,20545)|0;c[b+48>>2]=og(b,20552)|0;c[b+52>>2]=og(b,20563)|0}i=l;return}function bd(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;d=Yi(b,d,0)|0;if((d|0)>-1){b=Rg(b,1,d)|0;c[h>>2]=b;a:do if((((Zb(b,g,0)|0)!=0?(Mg(14214,c[g>>2]|0)|0)!=0:0)?(ag(g)|0,f=ag(g)|0,(f|0)!=0):0)?((a[f>>0]|0)+-48|0)>>>0<10:0){d=Vd(f)|0;if(e)while(1){if(!(Zb(c[h>>2]|0,g,0)|0))break a;f=ag(g)|0;if(!f)break a;b=Bh(f)|0;aj(e,b,qi(Qh(c[g>>2]|0)|0)|0)|0}}else d=5;while(0);Kd(h)}else d=c[(yi()|0)>>2]|0;i=j;return d|0}function dd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=ig(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ed(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((Ib[d&15](k,j)|0)>-1?(Ib[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Ib[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Ld(b,o,e);i=p;return}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=8832;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(yi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Fc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function gd(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b;while(1){b=g;d=0;while(1){if(((a[b>>0]|0)+-48|0)>>>0>=10)break;b=b+1|0;d=d+1|0}b=c;e=0;while(1){if(((a[b>>0]|0)+-48|0)>>>0>=10)break;b=b+1|0;e=e+1|0}if((e|d|0)>-1){f=Vd(g)|0;b=Vd(c)|0;if((f|0)!=(b|0)){c=f;h=11;break}c=c+e|0;d=g+d|0}else d=g;e=Zg(d)|0;if((e|0)!=(Zg(c)|0)){b=d;h=13;break}if(!e){b=0;break}b=af(d,c,e)|0;if(b|0)break;g=d+e|0;c=c+e|0}if((h|0)==11)b=c-b|0;else if((h|0)==13)b=yf(b,c)|0;return b|0}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+8|0;h=k+4|0;d=le(48)|0;c[d+4>>2]=a;c[d+8>>2]=b;Re(b,g,4,0);e=c[g>>2]|0;if((e|0)!=2026540177){c[g>>2]=Vj(e)|0;c[d+32>>2]=1;if((c[g>>2]|0)==2026540177)f=1;else{c[j>>2]=a;Di(16715,j)}}else f=0;c[d+12>>2]=Sg(b,f)|0;c[d+16>>2]=Sg(b,f)|0;c[d+20>>2]=Sg(b,f)|0;g=Uf(b,f)|0;j=d+24|0;c[j>>2]=g;c[j+4>>2]=C;Re(b,h,4,0);Re(b,h,4,0);b=ej(b)|0;j=d+40|0;c[j>>2]=b;c[j+4>>2]=C;i=k;return d|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(yf(b,19048)|0){if(!(yf(b,15508)|0)){f=c[2069]|0;break}e=de(b,d)|0;if(!e){a:do if(!d)e=25632;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15536;break a}case 119:{e=15526;break a}default:{e=e<<24>>24==97?15515:25632;break a}}}while(0);d=se(c[(yi()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;Di(15545,g)}else f=e}else f=c[2128]|0;while(0);i=h;return f|0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;d=g+8|0;h=g+4|0;e=g;rd(a,f,d,h,0);if(!(c[h>>2]|0))d=0;else{a=le(312)|0;h=c[f>>2]|0;d=c[d>>2]|0;ad(a,b,h,d);c[e>>2]=0;b=a+44|0;j=Wh(c[b>>2]|0)|0;c[j>>2]=0;c[e>>2]=j;f=a+48|0;k=Wh(c[f>>2]|0)|0;c[k>>2]=j;c[e>>2]=k;j=Wh(c[a+52>>2]|0)|0;c[j>>2]=k;c[e>>2]=j;dh(e);Pj(c[a+40>>2]|0);Pj(c[b>>2]|0);Pj(c[f>>2]|0);Pj(a);Pj(h);Pj(d);d=c[e>>2]|0}i=g;return d|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(jf(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=qb(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=ak(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;ik(f);break}else{b=gb(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;ci(15422,f);b=0;break}}else{xf(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function ld(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=le(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[21531+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[21531+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[21531+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[21531+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function md(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18634+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18634+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function nd(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0.0,g=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;o=i;i=i+32|0;n=o;f=0.0;g=0;l=0;j=0.0;while(1){k=(b|0)==0;if(!k?(m=+h[b+16>>3],!(m<d)):0){p=+(((c[b+8>>2]|0)-(c[b+4>>2]|0)|0)>>>0);f=f+p;g=b;l=(l|0)==0?b:l;j=j+m*p}else{if(l){l=c[l+4>>2]|0;g=c[g+8>>2]|0;c[n>>2]=a;c[n+4>>2]=l;c[n+8>>2]=g;h[n+16>>3]=j/f;Eh(e,11608,n)|0;f=0.0;g=0;j=0.0}if(k)break;else l=0}b=c[b>>2]|0}i=o;return}function od(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ja(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))pg(11956,k);l=Ji()|0;if(kh(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=Ji()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;pg(11979,f)}if(b|0?(yg(b,0)|0)<0:0)pg(12006,g);if((d|0)!=1?(yg(d,1)|0)<0:0)pg(12026,h);if((e|0)!=2?(yg(e,2)|0)<0:0)pg(12047,j);Oh();i=k;return}function pd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Fj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=fh(c|0,d|0,10,0)|0;b=b+1|0;c=Vh(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Vh(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function qd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=fc(a,b)|0;if((a|0)<0)a=-1;else{if((sd(a,1e6)|0)>0)wi(a,25632,0,0)|0;c[g>>2]=0;c[h>>2]=d;rh(f,256,13656,h)|0;do if(wi(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,rh(f,256,13666,j)|0,(wi(a,f,0,0)|0)==0):0){sh(a)|0;a=-1;break}if(!(wi(a,13676,0,0)|0)){sh(a)|0;a=-1}}else{sh(a)|0;a=-1}while(0)}i=k;return a|0}function rd(b,d,e,f,g){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;n=i;i=i+1024|0;l=n;h=Hi(b,58)|0;if(!h)h=0;else{m=nj(b,h-b|0)|0;b=h;do b=b+1|0;while((a[b>>0]|0)==47);k=Hi(b,64)|0;j=(g|0)!=0;if(!k){if(j)c[g>>2]=0}else{if(j){De(l,1024,b,k+1-b|0);c[g>>2]=Td(l)|0}j=Hi(b,47)|0;if(!j)j=b+(Yd(b)|0)|0;b=k>>>0<j>>>0?k+1|0:b}g=Td(b)|0;c[d>>2]=m;c[e>>2]=g}c[f>>2]=h;i=n;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=Xf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(yi()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=se(a)|0;ci(13509,m)}i=n;return a|0}function td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=qf(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=le(5)|0;c[g>>2]=f;if((Og(e,f,4)|0)<4)Qi(g);else a[f+4>>0]=0;sh(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=ge(e)|0,Qi(h),(g|0)!=0):0){h=Yg(Xe(b)|0,33,b,0)|0;e=Rg(b,d,_j(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function ud(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;j=i;i=i+64|0;g=j;c[g>>2]=d;f=g+4|0;c[f>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;d=Qc(g,21676,56)|0;if(d|0){h=d;i=j;return h|0}d=Jb(g,4)|0;if((d|0)==1){c[b>>2]=c[g+20>>2];h=ve(g)|0;i=j;return h|0}ve(g)|0;switch(d|0){case -5:{h=4;break}case 2:{h=-3;i=j;return h|0}default:{}}if((h|0)==4?(c[f>>2]|0)==0:0){h=-3;i=j;return h|0}h=d;i=j;return h|0}function vd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=fe(a)|0;break}d=(sk(a)|0)==0;b=fe(a)|0;if(!d)rk(a)}else{if(!(c[2098]|0))b=0;else b=vd(c[2098]|0)|0;mb(24984);a=c[6245]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=sk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=fe(a)|0|b;if(d|0)rk(a);a=c[a+56>>2]|0}while((a|0)!=0);eb(24984)}while(0);return b|0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;d=0;e=f;while(1){if(!e){g=d;break}d=d+1|0;e=c[e>>2]|0}if((g|0)>1){h=pe(g<<2)|0;d=f;e=0;while(1){if(!d)break;c[h+(e<<2)>>2]=d;d=c[d>>2]|0;e=e+1|0}ec(h,g,4,b);d=0;e=0;while(1){if((d|0)==(g|0))break;b=h+(d<<2)|0;c[c[b>>2]>>2]=e;d=d+1|0;e=c[b>>2]|0}Pj(h);d=0;while(1){if(!e)break;g=c[e>>2]|0;c[e>>2]=d;h=e;e=g;d=h}c[a>>2]=d}return}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=lg(e,0)|0;c[n>>2]=g;Jg(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=lg(d,e)|0;else if(!f){e=qf(d,0,h)|0;if((e|0)<0){c[k>>2]=d;pg(12516,k)}else j=e}else j=0;c[m>>2]=j;e=Ff(a,b,j,g)|0;ng(m);if(!l)ng(n);i=o;return e|0}function yd(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[(yi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function zd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=pe(k)|0;re(j|0,d|0,e|0)|0;Pj(c);d=j;e=k;c=j}k=Pb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=qi(d)|0;Pj(c);c=l}i=h;return c|0}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;g=k;f=k+20|0;e=+qg(b);c[g>>2]=a;c[g+4>>2]=d;h[g+8>>3]=e;Ih(11621,g)|0;b=ie(a)|0;c[g>>2]=b;c[f>>2]=id(d,18918)|0;b=Ed(b)|0;while(1){if(!b)break;a=b+4|0;c[j>>2]=a;Rh(2,11658,j);d=uh(0)|0;c[j>>2]=d;d=mc(c[g>>2]|0,a,d)|0;nd(a,d,e,c[f>>2]|0);Ai(j);b=c[b>>2]|0}oi(g);cj(f);i=k;return}function Bd(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+48|0;l=m+40|0;k=m+24|0;j=m;c[j>>2]=e;h=j+8|0;c[h>>2]=b;c[h+4>>2]=d;c[j+16>>2]=a;Rh(4,20605,j);h=We(a)|0;n=id(h,20746)|0;c[j>>2]=n;Aj(n,b,0)|0;a=Af(g+256|0,f,e,n)|0;if(!(hh(n)|0)){cj(j);i=m;return a|0}else{c[k>>2]=e;n=k+8|0;c[n>>2]=b;c[n+4>>2]=d;ci(20749,k);c[l>>2]=h;pg(20798,l)}return 0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h;e=h+12|0;c[f>>2]=a;Rh(4,20224,f);j=f;c[j>>2]=0;c[j+4>>2]=0;do if(kc(a,f,e)|0){a=Lf(vb(e|0)|0)|0;if((a|0)==-1){c[g>>2]=c[e>>2];Di(20256,g)}else{g=f;j=c[g+4>>2]|0;d=b+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=j;d=b;c[d>>2]=a;c[d+4>>2]=((a|0)<0)<<31>>31;d=1;break}}else d=0;while(0);i=h;return d|0}function Dd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((Hh(f,11673,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ed(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[d>>2]=0;switch(c[a+4>>2]|0){case 0:{a=Hf(c[a+12>>2]|0)|0;c[b>>2]=a;while(1){if(!a)break;Ci(d,c[a+4>>2]|0)|0;a=c[a>>2]|0}dk(b);break}case 1:{a=Wg(c[a+20>>2]|0)|0;c[b>>2]=a;while(1){if(!a)break;Ci(d,c[a+4>>2]|0)|0;a=c[a>>2]|0}rg(b);break}default:{}}wd(d,1);i=e;return c[d>>2]|0}function Fd(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;Ze(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){Wc(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;Wc(h,f,a)|0}while(0);i=j;return}function Gd(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(!(vf(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Bb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Hd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){Gh(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=fd((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;Gh(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function Id(b){b=b|0;var c=0,d=0,e=0,f=0;f=i;if(!(gi(b)|0)){c=(Yd(b)|0)+1|0;d=$a()|0;e=i;i=i+((1*c|0)+15&-16)|0;Ij(e,b)|0;c=e;while(1){b=c+1|0;if((a[c>>0]|0)==47)c=b;else break}while(1){if(!b)break;if(!(a[b>>0]|0))break;b=Hi(b,47)|0;if(!b){mg(e)|0;b=0;continue}else{a[b>>0]=0;mg(e)|0;a[b>>0]=47;b=b+1|0;continue}}Ga(d|0)}i=f;return}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(sk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Gd(d,b)|0;rk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Gd(d,b)|0}while(0);return e|0}function Kd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(Gi(c[2128]|0)|0):0){sh(c[d>>2]|0)|0;Pj(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)ac(d)}else di(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)Db[d&3](f);Pj(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)$d(g);Qi(b)}return}function Ld(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;re(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;re(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;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=Vh(h^a|0,g^b|0,h|0,g|0)|0;b=C;dc(a,b,Vh(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Vh(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g;if(yf(a,19048)|0)if(yf(a,15508)|0){c[d>>2]=436;d=qf(a,b,d)|0;if((d|0)<0){if((b&577|0)!=577)if((b&65|0)!=65)if(!(b&1))d=(b&2|0)==0?15536:15515;else d=15526;else d=15689;else d=15665;c[f>>2]=a;c[f+4>>2]=d;pg(15700,f)}else e=d}else e=1;else e=0;i=g;return e|0}function Od(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Og(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;pg(15728,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;Di(15753,g)}else if((d|0)==8){i=h;return}}function Pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function Qd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(Fj(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(Fj(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function Rd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;c[h>>2]=c[d>>2];c[e>>2]=Fg(h,f)|0;c[e+4>>2]=Fg(h,f)|0;c[e+8>>2]=Fg(h,f)|0;c[e+12>>2]=Fg(h,f)|0;c[e+16>>2]=Fg(h,f)|0;k=c[h>>2]|0;j=k+1|0;c[h>>2]=j;a[e+20>>0]=a[k>>0]|0;c[h>>2]=k+2;a[e+21>>0]=a[j>>0]|0;b[e+22>>1]=oh(h,f)|0;c[d>>2]=c[h>>2];i=g;return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Yd(b)|0;h=Yd(c)|0;d=0;e=Ub(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Ub(e+g|0,b)|0}f=Yd(a)|0;e=f+(_(d,h-g|0)|0)|0;f=le((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Ub(a,b)|0;d=f;while(1){if(!a)break;Ij(d,e)|0;j=a+g|0;i=d+(a-e)|0;Ij(i,c)|0;e=j;a=Ub(j,b)|0;d=i+h|0}Ij(d,e)|0;return f|0}function Td(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=b;d=0;while(1){e=a[f>>0]|0;if(!(e<<24>>24))break;g=(Eg(e)|0)==0;f=f+1|0;d=d+(g?1:3)|0}f=le(d+1|0)|0;g=f;d=b;while(1){e=d+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break;if(!(Eg(d)|0)){a[g>>0]=d;g=g+1|0;d=e;continue}else{c[h>>2]=d<<24>>24;Dh(g,20528,h)|0;g=g+3|0;d=e;continue}}i=j;return f|0}function Ud(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Lh(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Vd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(Fj(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Bb[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Xd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((Hh(f,11673,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Yd(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 Zd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ph(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Zd(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 _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(ff(c[e>>2]|0,d)|0)){aj(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;Eh(g,19076,h)|0}}}while(0);i=j;return}function $d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;Dj(d);d=g}e=e+1|0}}else{Ai(b);b=d+8|0}while(0);Pj(c[b>>2]|0);Qi(a)}return}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=pc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((pc(a,4,f)|0)<0){c[g>>2]=se(c[(yi()|0)>>2]|0)|0;ci(13083,g);d=-1}else d=0}else{c[e>>2]=se(c[(yi()|0)>>2]|0)|0;ci(13052,e);d=-1}i=h;return d|0}function be(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=24848;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function ce(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18642+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18650+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18650+f>>0]}while(0);return}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Mc(24565,a[d>>0]|0,4)|0){h=Pf(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Li(jb(5,e|0)|0)|0;if((e|0)>=0){b=yc(e,d)|0;if(!b){c[f>>2]=e;Wa(6,f|0)|0;b=0}}else b=0}else{c[(yi()|0)>>2]=22;b=0}i=g;return b|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;Di(16465,d)}d=Lj(a,b)|0;if(!d){g=c[(yi()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;Di(16529,e)}else{i=f;return d|0}return 0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Bb[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Bb[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ge(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Mg(18920,a)|0))if(!(Mg(18923,a)|0))if(!(Mg(18927,a)|0))if(!(Mg(18930,a)|0))a=0;else{a=18935;e=5}else{a=18939;e=5}else{a=18943;e=5}else{a=18945;e=5}if((e|0)==5){c[d>>2]=a;rh(b,20,18948,d)|0;a=qi(b)|0}i=f;return a|0}function he(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=Vh(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Vh((dc(h,g,Vh(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function ie(a){a=a|0;var b=0,d=0,e=0;e=le(24)|0;if(!(cg(a)|0)){d=uh(0)|0;c[e+16>>2]=d;d=Ob(a,0,0,512,d)|0;c[e+8>>2]=d;a=ye(0,1)|0;while(1){if(!d)break;b=d+4|0;if(!(ff(a,c[b>>2]|0)|0))aj(a,c[b>>2]|0,d)|0;d=c[d>>2]|0}c[e+12>>2]=a;c[e+4>>2]=0}else{c[e+4>>2]=1;c[e+20>>2]=Jj(a)|0}return e|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;sg(h,0);e=+Lb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function ke(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=Ug(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ui(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 le(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;Di(16601,b)}b=gk(a)|0;if(!b){f=c[(yi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Di(16654,d)}else{Ze(b|0,0,a|0)|0;i=e;return b|0}return 0}function me(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;b=e+8|0;do if(!(gi(a)|0)){d=de(a,18918)|0;c[b>>2]=d;if(!d){a=0;break}else{cj(b);a=1;break}}else{f=xi()|0;c[b+4>>2]=f;c[b>>2]=f;if(!(Ra(a|0,b|0)|0)){a=1;break}else{c[d>>2]=a;ci(18888,d);a=0;break}}while(0);i=e;return a|0}function ne(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Bb[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=18582;break}case 2:{a=18561;break}case -1:{a=18550;break}case -2:{a=18534;break}case -3:{a=18534;break}case -4:{a=18519;break}case -5:{a=18504;break}case -6:{a=18485;break}case 0:{a=0;break}default:{c[b>>2]=a;rh(25504,128,18466,b)|0;a=25504}}i=d;return a|0}function pe(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;Di(16341,b)}b=gk(a)|0;if(!b){f=c[(yi()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;Di(16399,d)}else{i=e;return b|0}return 0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Kb(b)|0;return a|0}if(b>>>0>4294967231){c[(yi()|0)>>2]=12;a=0;return a|0}d=$b(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Kb(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;re(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qb(a);a=d;return a|0}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(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 se(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22633+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22721;e=5;break}}if((e|0)==2)if(!c)b=22721;else{b=22721;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 te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;lc(b,g);lc(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){Of(e,2048,d);Of(f+2064|0,2048,g+2064|0)}g=Jc(f)|0;i=h;return g|0}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Cg(b,d)|0))break;if((Mg(19265,c[d>>2]|0)|0)==0?(Mg(19273,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Rh(2,19316,f)}if((g|0)==5){c[e>>2]=c[d>>2];Rh(2,19279,e);a[b+48>>0]=1}i=h;return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){Eb[d&3](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}Eb[d&3](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function xe(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;Di(15331,k)}else{c[j>>2]=e;Si(d,j)}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)Da(16114,16166,357,16221);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=uh((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Ti(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function ze(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;sg(j,0);e=Vb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Ae(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;rh(h,256,14001,j)|0;j=ld(h,Yd(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;Fh(e,14007,k);Qi(g)}i=l;return}function Be(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){mb(24984);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[6245]|0)==(a|0))c[6245]=b;eb(24984)}b=vd(a)|0;b=Gb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)Qb(d);if(!e)Qb(a);return b|0}function Ce(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=Rf(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=15930;else e=(d|0)==2?15889:15898;else e=15921;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;pg(15939,g);return 0}function De(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;j=i;i=i+16|0;h=j;if((d+-1|0)>>>0<f>>>0){k=h;c[k>>2]=d;c[k+4>>2]=0;d=h+8|0;c[d>>2]=f;c[d+4>>2]=0;Di(16054,h)}else g=0;while(1)if(g>>>0<f>>>0&(a[e+g>>0]|0)!=0)g=g+1|0;else break;hj(b,e,f)|0;a[b+g>>0]=0;i=j;return}function Ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;while(1){e=c[a>>2]|0;if(!e){e=0;break}f=e+8|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=a+8|0;i=a+16|0;g=ji(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((h|0)==(g|0)&(f|0)==(C|0))a=e;else break}c[b>>2]=a;c[d>>2]=e;return}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ma(221,e|0)|0)>=0):0){be(e,a);c[f>>2]=e;c[f+4>>2]=b;d=Li(Pa(195,f|0)|0)|0}else d=Li(d)|0;i=g;return d|0}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+4112|0;e=f;g=f+8|0;c[e>>2]=a;rh(g,4096,14225,e)|0;a=ye(0,1)|0;c[e>>2]=a;if(((cd(g,14242,a)|0)==206?(b=bi(a,14246)|0,(b|0)!=0):0)?(d=Hi(b,47)|0,(d|0)!=0):0){b=pd(d+1|0)|0;a=C}else{a=-1;b=-1}$d(e);C=a;i=f;return b|0}function He(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2069]|0;if((c[f+76>>2]|0)>-1)g=sk(f)|0;else g=0;do if((wj(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=(Gd(f,10)|0)<0}while(0);if(g|0)rk(f);return d<<31>>31|0}function Ie(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b>>2]|0;a[k>>0]=a[f>>0];a[k+1>>0]=a[f+1>>0];a[k+2>>0]=a[f+2>>0];a[k+3>>0]=a[f+3>>0];e=+g[k>>2];if(d){d=Zi((g[k>>2]=e,c[k>>2]|0)|0)|0;e=(c[k>>2]=d,+g[k>>2])}c[b>>2]=f+4;return +e}function Je(a,b){a=a|0;b=b|0;var d=0,e=0;d=xi()|0;a=jd(a,(b|0)==0?19329:b)|0;a:do if(a){b=d;while(1){if(!a)break;e=a+4|0;if(Jh(e,20545)|0){if(!(gi(e)|0))break a;if((Vg(e)|0)>>>0<b>>>0)b=Vg(e)|0}a=c[a>>2]|0}d=d-b|0}while(0);return d|0}function Ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Pj(e);f=f+1|0}Pj(b);Pj(i);i=h}Qi(g+12|0);Qi(g+28|0);Qi(a)}return}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Mj(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;Di(19217,g);return +(0.0)}function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;Di(19169,f)}j=Vd(d)|0;i=g;return j|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=le(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=le((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=qi(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Rh(4,20962,d);$g(500);if((lh(a+5|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Pc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Yc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function Qe(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;j=i;i=i+16|0;h=j;k=c[a+20>>2]|0;if(!(vi(k,d,Yd(d)|0,h,8)|0))a=0;else{Kh(c[a+16>>2]|0,h);a=c[h>>2]|0;if(g|0)c[g>>2]=a;a=$f(b,a,e,f)|0}i=j;return a|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;b=Pb(a,b,d,e)|0;f=C;if(f>>>0<e>>>0|(f|0)==(e|0)&b>>>0<d>>>0){h=c[a+4>>2]|0;a=g;c[a>>2]=d;c[a+4>>2]=e;c[g+8>>2]=h;h=g+16|0;c[h>>2]=b;c[h+4>>2]=f;Di(20476,g)}else{i=h;return}}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+80|0;d=e;c[d>>2]=a;Rh(4,20806,d);if((lh(We(a)|0,d)|0)<0)b=0;else{f=c[d+56>>2]|0;a=b;c[a>>2]=f;c[a+4>>2]=((f|0)<0)<<31>>31;d=c[d+36>>2]|0;b=b+8|0;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=1}i=e;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2069]|0);if((b|0)==(c[2128]|0)|d)if(d){vd(b)|0;b=1}else b=1;else if(!(Be(b)|0))b=1;else{eg(15989,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g+16|0;e=g;if(d|0?(Vc(b,d,1,a)|0)!=1:0){b=hh(a)|0;if(!b){e=f;c[e>>2]=d;c[e+4>>2]=0;Di(15634,f)}else{f=se(b)|0;a=e;c[a>>2]=d;c[a+4>>2]=0;c[e+8>>2]=f;Di(15605,e)}}i=g;return}function Ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=ph(b)|0;do if((f|0)!=0?(yf(f,17249)|0)!=0:0){d=Xi(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;Di(16972,h)}else e=d;while(0);i=j;return e|0}function We(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=(Mg(20653,b)|0)==0;b=f?b:b+6|0;if((a[b>>0]|0)!=47)Di(20660,e);if(((((Ub(b,20687)|0)==0?(Hi(b,126)|0)==0:0)?(Ub(b,20690)|0)==0:0)?(Ub(b,20693)|0)==0:0)?(Jh(20697,b)|0)==0:0){i=e;return b|0}c[d>>2]=b;Di(20700,d);return 0}function Xe(a){a=a|0;var b=0;b=qi(a)|0;if(!(((Mg(19343,a)|0)==0?(Mg(19351,a)|0)==0:0)?!(Mg(19360,a)|0):0))Dd(a,b,Yd(a)|0);if(!(Jh(b,18960)|0))if(!(Jh(b,18964)|0))if(!(Jh(b,18967)|0)){a=(Jh(b,18972)|0)==0;a=a?0:36}else a=72;else a=60;else a=48;Pj(b);return a|0}function Ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Ti(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;Di(17370,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function Ze(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 _e(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=Hj(e&65535)|0;if(d){h=bk(kd(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=sj(b,59)|0;if((g|0?Mg(13402,g)|0:0)?(i=(Hi(g,61)|0)+1|0,h=Hi(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=pd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=pd(b)|0;c[e>>2]=f}}return}function af(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 bf(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Li(pa(102,h|0)|0)|0;i=g;return e|0}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=$h(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){mj(e,13414);b=c[d>>2]|0}mj(e,b);f=f+1|0}g=Ah(g)|0;i=h;return g|0}function df(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Li(pa(102,h|0)|0)|0;i=g;return e|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(yf(a,19728)|0)if(!(yf(a,20995)|0)){d=Yh(a+4112|0,Vd(a+6160|0)|0)|0;break}else{c[e>>2]=b;Di(13959,e)}else d=fc(a+4112|0,Vd(a+6160|0)|0)|0;while(0);i=f;return d|0}function ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((yf(c[e+4>>2]|0,d)|0)!=0);return e|0}function gf(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((Li(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;if(((a[e>>0]|0)+-48|0)>>>0<10){f=ti(e)|0;i=g;return f|0}else{h=c[b+28>>2]|0;g=c[b+4>>2]|0;c[f>>2]=d;c[f+4>>2]=e;c[f+8>>2]=h;c[f+12>>2]=g;Di(17507,f)}return 0}function jf(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=Hi(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;a=ud(d,f,a,b)|0;if(!a){i=h;return c[f>>2]|0}else{h=oe(a)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;Di(18598,g)}return 0}function lf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Yd(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(Fj(d<<24>>24)|0)!=0;d=d&1}return d|0}function mf(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(yf(a,19048)|0){if(Xe(a)|0){c=td(a,b)|0;break}c=qf(a,0,c)|0;if((c|0)==-1)c=0;else c=Rg(a,b,c)|0}else c=tj(b)|0;while(0);i=d;return c|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Ng(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)pg(15795,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;Di(15821,e)}}function of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)==8){Kh(c[a+4>>2]|0,e);f=le(16)|0;c[f+4>>2]=nj(b,d)|0;c[f+8>>2]=c[e>>2];c[f+12>>2]=c[e+4>>2];c[f>>2]=c[a>>2];c[a>>2]=f;return}else Da(21616,21643,206,21658)}function pf(b){b=b|0;var d=0,e=0,f=0;d=c[2099]|0;f=se(c[(yi()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)e=sk(d)|0;else e=0;if(b|0?a[b>>0]|0:0){Tf(b,Yd(b)|0,1,d)|0;Jd(58,d)|0;Jd(32,d)|0}Tf(f,Yd(f)|0,1,d)|0;Jd(10,d)|0;if(e|0)rk(d);return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Li(jb(5,f|0)|0)|0;i=e;return d|0}function rf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(a>>>0<f>>>0)if(a>>>0<d>>>0)a=0;else h=4;else if(a>>>0<d>>>0|(b>>>0>=g>>>0|a>>>0>f>>>0))a=0;else h=4;if((h|0)==4)a=a>>>0>d>>>0|c>>>0>e>>>0;return a&1|0}function sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);Gh(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;re(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Li(pa(102,f|0)|0)|0;i=e;return d|0}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;e=Og(b,d,e)|0;a=a+16|0;b=a;b=ji(c[b>>2]|0,c[b+4>>2]|0,e|0,0)|0;c[a>>2]=b;c[a+4>>2]=C;return e|0}function vf(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 wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;nf(b,d,e);return}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((gc(2,a,d)|0)<0){b=se(c[(yi()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;ci(15381,e);a=0}else{c[b>>2]=ak(c[d>>2]|0)|0;a=1}i=f;return a|0}function yf(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 zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Od(b,d,e);return}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=ji(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,d|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Vc(b,1,d,e)|0}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((bf(a,1,20,d,8)|0)>=0)if((bf(a,1,21,d,8)|0)<0){ci(12947,e);a=-1}else a=0;else{ci(12897,f);a=-1}i=f;return a|0}function Cf(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,db(54,f|0)|0):0)a[b+75>>0]=-1;f=xc(b,d,e)|0;i=g;return f|0}function Df(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=qj(a[e>>0]|0)|0;c=c<<24>>24;b=(qj(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function Ef(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 Ff(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;Jg(b);a=Uc(a,b)|0;if(!(b&1)){b=_g(a+16|0)|0;c[f>>2]=b;bc(a,b,d,e,0,0);ng(f)}else Ag(a,d,e,0,0);i=g;return a|0}function Gf(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Nb(e,b,d)|0;i=g;return h|0}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+16|0;d=a+8|0;e=0;a=0;while(1){if((e|0)>=(c[f>>2]|0))break;b=(c[d>>2]|0)+(e<<2)|0;while(1){b=c[b>>2]|0;if(!b)break;g=Mi(b,16)|0;c[g>>2]=a;a=g}e=e+1|0}return a|0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=Ye(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=fd(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;Di(16003,g)}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[b>>2]|0;a=yf(c[e+4>>2]|0,c[d+4>>2]|0)|0;if(!a){b=c[e+8>>2]|0;a=c[d+8>>2]|0;if((b|0)==(a|0))a=(c[e+12>>2]|0)-(c[d+12>>2]|0)|0;else a=b-a|0}return a|0}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+112|0;e=f;b=ab(16103)|0;d=(b|0)!=0;if(d)Of(e,100,b);qa(16103,16106,1)|0;Oa();c[a+32>>2]=0;b=Ta(a|0)|0;if(d)qa(16103,e|0,1)|0;else ob(16103)|0;Oa();i=f;return b|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Mc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;re(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Nf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+8|0;b=e;c[b>>2]=a;b=Li(ib(10,b|0)|0)|0;if(b){if((c[(yi()|0)>>2]|0)==21){c[d>>2]=a;b=Li(ua(40,d|0)|0)|0}}else b=0;i=e;return b|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Yd(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;Di(15462,f)}else{Ij(a,d)|0;i=g;return}}function Pf(b){b=b|0;var c=0,d=0,e=0;d=(Hi(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Hi(b,120)|0)==0;d=e?d:d|128;b=(Hi(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;Di(19129,e)}}function Rf(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Li(ub(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Od(a,e,8);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=za(a|0,d|0)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Tf(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=(sk(e)|0)==0;a=Wc(a,f,e)|0;if(!g)rk(e)}else a=Wc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;Re(a,e,8,0);d=e;a=c[d>>2]|0;d=c[d+4>>2]|0;if(b){a=kj(a,d)|0;d=C;c[e>>2]=a;c[e+4>>2]=d}C=d;i=f;return a|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+216|0;f=e;f=ji(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=C;e=a+32|0;c[e>>2]=b;c[e+4>>2]=d;if(19329)eh(a+176|0,c[a+56>>2]|0,b,0)|0;return}function Wf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2069]|0;else{He(12839)|0;He(12864)|0;d=c[2069]|0;Fc(d,a,b)|0;Jd(10,d)|0;vd(d)|0}vd(d)|0;d=c[2099]|0;Fc(d,a,b)|0;Jd(10,d)|0;vd(d)|0}return}function Xf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Li(kb(142,h|0)|0)|0;i=g;return d|0}function Yf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Zf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=pe(h)|0;a=a+136|0;eh(a,b,d+64|0,0)|0;zf(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=mf(a,b)|0;if(!b){e=se(c[(yi()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;Di(19054,d)}else{i=e;return b|0}return 0}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;g=i;i=i+16|0;f=g;c[f>>2]=0;h=a+16|0;oc(a,0,c[h>>2]|0,c[h+4>>2]|0,b,d,e,f);dh(f);i=g;return c[f>>2]|0}function ag(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Qh(e)|0,(a[d>>0]|0)!=0):0){e=zg(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;ei(e,b,24864);if((c[e>>2]|0)==4){Ad(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);i=d;return 0}else Di(11442,d);return 0}function cg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;a=id(a,20746)|0;Ue(a,b,4);Be(a)|0;a=c[b>>2]|0;if((a|0)==-2003829722)a=1;else{a=Vj(a)|0;c[b>>2]=a;a=(a|0)==-2003829722&1}i=d;return a|0}function dg(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=se(c[(yi()|0)>>2]|0)|0;c[g+4>>2]=a;Dh(f,12891,g)|0;ii(f,e);i=d;return}function fg(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?(Tf(b,d,1,a)|0)!=1:0){a=se(hh(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;Di(15575,e)}i=f;return}function gg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else re(b,c,d)|0;return b|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=c[a+20>>2]|0;if(!(vi(f,b,Yd(b)|0,d,8)|0))a=0;else{Kh(c[a+16>>2]|0,d);a=c[d+4>>2]|0}i=e;return a|0}function ig(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(ne(a)|0)!=0:0)b=-1;else if((Bb[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;Di(12173,e)}}function kg(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 lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=qf(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;pg(12484,d)}else{i=e;return b|0}return 0}function mg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;if((nh(a,511)|0)<0)if((c[(yi()|0)>>2]|0)==17)b=0;else{pf(25632);c[d>>2]=a;Di(18830,d)}else b=1;i=e;return b|0}function ng(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((sh(b)|0)<0){c[d>>2]=b;pg(12208,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+40|0;f=Yd(c[g>>2]|0)|0;e=Yd(d)|0;b=le(f+2+e|0)|0;re(b|0,c[g>>2]|0,f|0)|0;f=b+f|0;a[f>>0]=47;re(f+1|0,d|0,e|0)|0;return b|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=se(c[(yi()|0)>>2]|0)|0;c[f+4>>2]=a;Dh(e,12891,f)|0;Si(e,d)}function qg(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;d=+Mj(b,g);g=c[g>>2]|0;if((g|0)!=(b|0)?(a[g>>0]|0)==0:0){i=f;return +d}c[e>>2]=b;Di(15362,e);return +(0.0)}function rg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=c[a>>2]|0;while(1){c[b>>2]=d;if(!d)break;f=c[d>>2]|0;Bi(b);d=f}c[a>>2]=0;i=e;return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((sh(b)|0)<0)pg(15971,d);else{c[a>>2]=-1;break}while(0);i=e;return}function ug(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;if(!(c[b>>2]|0)){d=a+8|0;e=a+48|0;Vf(c[d>>2]|0,c[e>>2]|0,c[e+4>>2]|0);c[b>>2]=Sc(c[a+4>>2]|0,c[d>>2]|0)|0}return}function vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Yd(a)|0;g=g+1+(Yd(b)|0)|0;d=le(g)|0;c[f>>2]=a;c[f+4>>2]=b;qh(d,g,15984,f)|0;i=e;return d|0}function wg(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;b=c[e+4>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0))a=(c[e+8>>2]|0)-(c[a+8>>2]|0)|0;else a=b-d|0;return a|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=$i(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else Da(18992,19014,352,19030)}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=sa(63,e|0)|0}while((d|0)==-16);e=Li(d)|0;i=f;return e|0}function zg(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(Fj(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}
+function Ag(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;g=i;i=i+16|0;h=g;c[a+16>>2]=_g(h)|0;bc(a,b,c[h>>2]|0,d,e,f);ng(h);i=g;return}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=b;f=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=(lh(a,b)|0)==-1;i=e;return (f?-1:c[b+36>>2]|0)|0}function Cg(b,d){b=b|0;d=d|0;a:while(1){if(!(Zb(b,d,0)|0)){b=0;break}switch(a[(Qh(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Bg(b)|0;b=id(b,20746)|0;g=pe(f+1|0)|0;c[d>>2]=g;Ue(b,g,f);a[g+f>>0]=0;Be(b)|0;if(e|0)c[e>>2]=f;return}function Eg(a){a=a|0;a:do if(!(zj(a<<24>>24)|0)){switch(a<<24>>24){case 46:case 47:case 45:case 95:{a=0;break a}default:{}}a=1}else a=a<<24>>24==81;while(0);return a&1|0}function Fg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;e=Zi(f|0)|0;c[a>>2]=g+4;return ((b|0)==0?f:e)|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;re(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Hg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){ek(b+96|0);d=b+100|0;Nh(d);Nh(d);hk(b+20|0);ac(b+8|0);Pj(c[b+4>>2]|0);Qi(a)}return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Og(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Jg(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{Di(11682,c);break}default:{}}if((a&18|0)==16)Di(11748,b);else{i=c;return}}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;a=ff(a,b)|0;if(!a){c[d>>2]=b;Di(16189,d)}else{i=e;return c[a+8>>2]|0}return 0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(sk(a)|0)==0;b=Wd(a,b,d)|0;if(!e)rk(a)}else b=Wd(a,b,d)|0;return b|0}function Mg(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Li(pb(4,f|0)|0)|0;i=e;return a|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Li(sb(3,f|0)|0)|0;i=e;return a|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+272|0;f=d;e=d+8|0;c[f>>2]=b;rh(e,256,16111,f)|0;Bh(e)|0;b=ff(a,e)|0;i=d;return b|0}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Od(a,d,4);a=c[d>>2]|0;if(b){a=Zi(a|0)|0;c[d>>2]=a}i=e;return a|0}function Rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=le(104)|0;c[f+4>>2]=qi(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=le(65537)|0;return f|0}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;Re(a,d,4,0);a=c[d>>2]|0;if(b){a=Vj(a)|0;c[d>>2]=a}i=e;return a|0}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;d=e;Re(a,d,2,0);a=b[d>>1]|0;if(c){a=Wj(a)|0;b[d>>1]=a}i=e;return a|0}function Ug(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;dc(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;d=e;b=e+4|0;if((lh(a,b)|0)<0){c[d>>2]=a;Di(18857,d)}else{i=e;return c[b+56>>2]|0}return 0}function Wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=0;c[b+4>>2]=c[a+16>>2];fi(c[a+20>>2]|0,b,1);dh(b);i=d;return c[b>>2]|0}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=Rb(a,b)|0;if(!b){c[d>>2]=a;Di(21370,d)}else{i=e;return b|0}return 0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=xd(g,b,d,e)|0;i=f;return e|0}function Zg(b){b=b|0;var c=0,d=0;c=b;b=0;while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;if(((d<<24>>24)+-48|0)>>>0<10)break;c=c+1|0;b=b+1|0}return b|0}function _g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Sh(b)|0)<0)pg(11845,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function $g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((a|0)>0){c[b>>2]=(a|0)/1e3|0;c[b+4>>2]=((a|0)%1e3|0)*1e3;Xf(0,0,0,0,b)|0}i=d;return}function ah(b){b=b|0;var c=0,d=0;c=Yd(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(Fj(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;if((c[4]|0)>=(a|0)){a=c[6235]|0;if(!a){a=c[2099]|0;c[6235]=a}Fc(a,b,d)|0;vd(c[6235]|0)|0}return}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=ji(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return Ce(b,d,e)|0}function fh(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=Yf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function gh(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))if(a)if(!b)a=1;else a=(yf(a,b)|0)!=0&1;else a=-1;else a=0;return a|0}function hh(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(sk(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)rk(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function ih(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;a=id(a,18918)|0;c[f>>2]=a;fg(a,b,d);cj(f);i=e;return}function jh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=i;i=i+16|0;c[a>>2]=21026;c[a+4>>2]=352;Di(21005,a);return 0}function kh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(cb(57,e|0)|0)|0;i=d;return a|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(Pa(195,e|0)|0)|0;i=d;return a|0}function mh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(hb(38,e|0)|0)|0;i=d;return a|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Li(Ia(39,e|0)|0)|0;i=d;return a|0}function oh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=c[a>>2]|0;f=d[g>>0]|d[g+1>>0]<<8;e=Oj(f|0)|0;c[a>>2]=g+2;return ((b|0)==0?f:e)|0}function ph(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[6236]|0;if(!b)Di(17338,d);else{a=mi(b,a)|0;i=d;return a|0}return 0}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=fd(a,b,d,g)|0;i=f;return e|0}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Jf(a,b,d,g)|0;i=f;return e|0}function sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wa(6,d|0)|0;a=Li((a|0)==-4?-115:a)|0;i=b;return a|0}function th(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(yf(d,a)|0))break;b=b+8|0}return b|0}function uh(a){a=a|0;var b=0;b=le(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;Ye(b,a)|0;return b|0}function vh(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=Li(Wa(6,d|0)|0)|0;i=b;return a|0}function wh(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]}function xh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function zh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=le(d+1|0)|0;c=(c|0)<(d|0)?c:d;re(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function Ah(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)Da(18419,18430,40,18446);else{b=c[b+4>>2]|0;Qi(a);return b|0}return 0}function Bh(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=qj(c<<24>>24)|0;d=d+1|0}return b|0}function Ch(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=rj(c<<24>>24)|0;d=d+1|0}return b|0}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=dj(a,b,f)|0;i=e;return d|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Fc(a,b,f)|0;i=e;return d|0}function Fh(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;Hd(a,b,f);i=e;return}function Gh(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=$i(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Gf(a,b,f)|0;i=e;return d|0}function Ih(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=Fc(c[2069]|0,a,e)|0;i=d;return b|0}function Jh(a,b){a=a|0;b=b|0;var c=0;c=Yd(a)|0;c=c-(Yd(b)|0)|0;if((c|0)<0)c=0;else c=(yf(a+c|0,b)|0)==0&1;return c|0}function Kh(a,b){a=a|0;b=b|0;if(a|0){c[b>>2]=Vj(c[b>>2]|0)|0;a=b+4|0;c[a>>2]=Vj(c[a>>2]|0)|0}return}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Mh(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Nh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Pj(b);b=d}c[a>>2]=0;return}function Oh(){var a=0,b=0;a=lb(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;sh(b)|0;b=b+1|0}return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Qh(b){b=b|0;if(!b)b=0;else while(1)if(!(Fj(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Rh(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;ch(a,b,f);i=e;return}function Sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Li(wa(42,d|0)|0)|0;i=b;return a|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;a=ee(a,c)|0;if(c>>>0>b>>>0)Ze(a+b|0,0,c-b|0)|0;return a|0}function Uh(){}function Vh(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 (C=d,a-c>>>0|0)|0}function Wh(a){a=a|0;var b=0;if(!a)a=le(8)|0;else{b=le((Yd(a)|0)+8|0)|0;Ij(b+4|0,a)|0;a=b}return a|0}function Xh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[4]=a;c[d>>2]=0;i=b;return}function Yh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;Di(18658,d);return 0}function Zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&1](b|0,c|0,d|0,e|0,f|0)}function _h(a,b){a=a|0;b=b|0;a=i;i=i+16|0;c[a>>2]=21026;c[a+4>>2]=360;Di(21005,a);return 0}function $h(a){a=a|0;var b=0;b=le(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=le(a+1|0)|0;c[b+8>>2]=a;return b|0}function ai(){var a=0,b=0;b=i;i=i+16|0;a=Nc(2,1,0)|0;if((a|0)<0)ci(13022,b);i=b;return a|0}function bi(a,b){a=a|0;b=b|0;a=Pg(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ci(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;ii(a,e);i=d;return}function di(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=Ec(b)|0;Ke(a)}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[6236]|0)){Pi(Xb(a,b,0,d,0)|0);c[6237]=d}return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+40|0;Ac(a,c[e>>2]|0,c[e+4>>2]|0,b,d);return}function gi(a){a=a|0;if((yf(a,19048)|0)!=0?(yf(a,15508)|0)!=0:0)a=(Bg(a)|0)!=-1&1;else a=1;return a|0}function hi(a,b){a=a|0;b=b|0;return gd((c[a>>2]|0)+4|0,(c[b>>2]|0)+4|0)|0}function ii(a,b){a=a|0;b=b|0;var d=0;d=$c()|0;Eb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=aj(a,b,d)|0;c[e>>2]=c[d+4>>2];return d|0}function li(a,b){a=a|0;b=b|0;var d=0;d=le(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function mi(a,b){a=a|0;b=b|0;a=ff(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function ni(a,b){a=a|0;b=b|0;if((Qd(a,0,5)|0)>(b|0))a=1;else a=ri(a)|0;return a|0}function oi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Hg(b+20|0);Ai(b+16|0);Qi(a)}return}function pi(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function qi(a){a=a|0;var b=0;if(!a)a=0;else{b=Yd(a)|0;a=zh(a,b,b)|0}return a|0}function ri(a){a=a|0;if(!(lf(17421,a)|0))a=(lf(17434,a)|0)!=0;else a=1;return a&1|0}function si(a,b){a=a|0;b=b|0;return yf(c[(c[a>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0}function ti(a){a=a|0;var b=0;b=i;i=i+16|0;a=xe(a,0,b)|0;i=b;return a|0}function ui(a,b){a=a|0;b=b|0;return (c[(c[a>>2]|0)+4>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function vi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Xc(a,b,c,e,0,d,0)|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lj(a,b);return zc(a,b,c,d)|0}function xi(){var a=0,b=0;b=i;i=i+16|0;a=b;tb(a|0,0)|0;i=b;return c[a>>2]|0}function yi(){var a=0;if(!(c[6239]|0))a=25e3;else a=c[(xk()|0)+64>>2]|0;return a|0}function zi(a){a=a|0;if(!a)a=0;else{a=Qh(a)|0;ah(a)}return a|0}function Ai(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Nh(b);Pj(b);c[a>>2]=0}return}function Bi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pj(c[b+4>>2]|0);Qi(a)}return}function Ci(a,b){a=a|0;b=b|0;b=Wh(b)|0;c[b>>2]=c[a>>2];c[a>>2]=b;return b|0}function Di(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Si(a,d)}function Ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&7](b|0,c|0,d|0)|0}function Fi(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pj(c[b+4>>2]|0);Qi(a)}return}function Gi(a){a=a|0;if((c[a+76>>2]|0)>-1?sk(a)|0:0)rk(a);return c[a+60>>2]|0}function Hi(b,c){b=b|0;c=c|0;b=Zc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ii(){var a=0;a=$c()|0;Hb[c[a+92+(c[a+140>>2]<<2)>>2]&1]();_a(-1)}function Ji(){var a=0,b=0;b=i;i=i+16|0;a=Ba(20,b|0)|0;i=b;return a|0}function Ki(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){tg(b+52|0);Qi(a)}return}function Li(a){a=a|0;if(a>>>0>4294963200){c[(yi()|0)>>2]=0-a;a=-1}return a|0}function Mi(a,b){a=a|0;b=b|0;var c=0;c=pe(b)|0;re(c|0,a|0,b|0)|0;return c|0}function Ni(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Oi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=yd(a,b,0)|0;return a|0}function Pi(a){a=a|0;c[6236]=a;if(ph(16830)|0)Xh(Ve(16830,0)|0);return}function Qi(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)jk(b);return}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function Si(a,b){a=a|0;b=b|0;c[($c()|0)+4>>2]=1;ii(a,b);Ii()}function Ti(a){a=a|0;var b=0;b=pe(a)|0;Ze(b|0,0,a|0)|0;return b|0}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc(a,b,c,d,0)|0}function Vi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,0,-2147483648)|0;return a|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;a=ze(a,b,c,-2147483648,0)|0;return a|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;return qc(a,b,14183,14192,c)|0}function Zi(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&15](b|0,c|0)|0}function $i(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,Yd(b)|0,c)|0}function bj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function cj(a){a=a|0;if(!(Te(a)|0))Ii();else return}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,2147483647,b,c)|0}function ej(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Eb[a&3](b|0,c|0)}function gj(){if((ab(12872)|0)==0?(ab(12882)|0)==0:0)_a(-1);Za()}function hj(a,b,c){a=a|0;b=b|0;c=c|0;Ic(a,b,c)|0;return a|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(_(c,b)|0)|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;return Mf(a,b,c)|0}function kj(a,b){a=a|0;b=b|0;b=za(a|0,b|0)|0;return b|0}function lj(a,b){a=a|0;b=b|0;nf(a,b,Yd(b)|0);return}function mj(a,b){a=a|0;b=b|0;sf(a,b,Yd(b)|0);return}function nj(a,b){a=a|0;b=b|0;return zh(a,Yd(a)|0,b)|0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,0,c)|0}function pj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function qj(a){a=a|0;var b=0;b=(Yj(a)|0)==0;return (b?a:a&95)|0}function rj(a){a=a|0;var b=0;b=(Xj(a)|0)==0;return (b?a:a|32)|0}function sj(a,b){a=a|0;b=b|0;return bh(a,b,(Yd(a)|0)+1|0)|0}function tj(a){a=a|0;return Rg(19048,a,Gi(c[2128]|0)|0)|0}function uj(a){a=a|0;if(!(c[a+68>>2]|0))rk(a);return}function vj(a){a=a|0;if(!(c[a+68>>2]|0))rk(a);return}function wj(a,b){a=a|0;b=b|0;return (Tf(a,Yd(a)|0,1,b)|0)+-1|0}function xj(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,1,c)|0}function yj(a,b){a=a|0;b=b|0;return qk(Kg(a,b)|0)|0}function zj(a){a=a|0;return ((a+-48|0)>>>0<10|(Qj(a)|0)!=0)&1|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Bj(a,b){a=a|0;b=b|0;return Gb[a&3](b|0)|0}function Cj(a,b){a=a|0;b=b|0;return cd(a,14220,b)|0}function Dj(a){a=a|0;Pj(c[a+4>>2]|0);Pj(a);return}function Ej(a,b){a=a|0;b=b|0;i=a;j=b}function Fj(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Gj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Hj(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function Ij(a,b){a=a|0;b=b|0;bd(a,b)|0;return a|0}function Jj(a){a=a|0;return rc(a,-2003829722,18710)|0}function Kj(a,b){a=a|0;b=b|0;Db[a&3](b|0)}function Lj(a,b){a=a|0;b=b|0;return qe(a,b)|0}function Mj(a,b){a=a|0;b=b|0;return +(+je(a,b,1))}function Nj(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Oj(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Pj(a){a=a|0;if(a|0)jk(a);return}function Qj(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Rj(a,b){a=+a;b=+b;return +(+dg(a,b))}function Sj(a,b){a=+a;b=b|0;return +(+Ud(a,b))}function Tj(a,b){a=+a;b=b|0;return +(+Zd(a,b))}function Uj(b){b=b|0;a[b+48>>0]=1;return}function Vj(a){a=a|0;return Zi(a|0)|0}function Wj(a){a=a|0;return Oj(a|0)|0}function Xj(a){a=a|0;return (a+-65|0)>>>0<26|0}function Yj(a){a=a|0;return (a+-97|0)>>>0<26|0}function Zj(a,b){a=a|0;b=b|0;Qb(b);return}function _j(a){a=a|0;return c[a+16>>2]|0}function $j(a,b){a=+a;b=+b;return +(+ic(a,b))}function ak(a){a=a|0;return Zi(a|0)|0}function bk(a){a=a|0;return Zi(a|0)|0}function ck(a,b){a=a|0;b=b|0;ba(7);return 0}function dk(a){a=a|0;Nh(a);return}function ek(a){a=a|0;Qi(a);return}function fk(a){a=a|0;Hb[a&1]()}function gk(a){a=a|0;return Kb(a)|0}function hk(a){a=a|0;Qi(a);return}function ik(a){a=a|0;Qb(a);return}function jk(a){a=a|0;Qb(a);return}function kk(a){a=a|0;return 0}function lk(a,b){a=a|0;b=b|0;ba(3)}function mk(a){a=a|0;return 0}function nk(a){a=a|0;i=a}function ok(a){a=a|0;C=a}function pk(a){a=a|0;ba(5);return 0}function qk(a){a=a|0;return a|0}function rk(a){a=a|0;return}function sk(a){a=a|0;return 0}function tk(){return C|0}function uk(){return i|0}function vk(a){a=a|0;ba(2)}function wk(){return 19329}function xk(){return 0}function yk(){ba(6)}
 
 // EMSCRIPTEN_END_FUNCS
-var Bb=[Nj,Cf,gf,xc,Oc,Gg,ij,jj];var Cb=[pj,of];var Db=[vk,vj,uj,vk];var Eb=[lk,Wf,Zj,lk];var Fb=[Ri,Bd,Tc,_b,jh,Ri,Ri,Ri];var Gb=[pk,vh,Cc,pk];var Hb=[yk,gj];var Ib=[ck,Se,Oe,vc,Cd,_h,hi,ui,si,wg,Kf,ck,ck,ck,ck,ck];return{_llvm_bswap_i16:Oj,_i64Subtract:Vh,_free:Qb,_main:bg,_htonl:bk,_realloc:qe,_i64Add:ji,_memmove:gg,_pthread_self:xk,_pthread_mutex_unlock:kk,_memset:Ze,_malloc:Kb,_pthread_mutex_lock:mk,_memcpy:re,_llvm_bswap_i32:Zi,_bitshift64Lshr:Ph,_htons:Hj,_bitshift64Shl:Lh,___errno_location:yi,_ntohs:Gj,runPostSets:Uh,stackAlloc:Ni,stackSave:uk,stackRestore:nk,establishStackSpace:Ej,setThrew:bj,setTempRet0:ok,getTempRet0:tk,dynCall_iiii:Ei,dynCall_viiiii:Zh,dynCall_vi:Kj,dynCall_vii:fj,dynCall_iiiiiii:xh,dynCall_ii:Bj,dynCall_v:fk,dynCall_iii:_i}})
+var Bb=[Nj,Cf,gf,xc,Oc,Gg,ij,jj];var Cb=[pj,of];var Db=[vk,vj,uj,vk];var Eb=[lk,Wf,Zj,lk];var Fb=[Ri,Bd,Tc,_b,jh,Ri,Ri,Ri];var Gb=[pk,vh,Cc,pk];var Hb=[yk,gj];var Ib=[ck,hi,ui,si,wg,Kf,Se,Oe,vc,Cd,_h,ck,ck,ck,ck,ck];return{_llvm_bswap_i16:Oj,_i64Subtract:Vh,_free:Qb,_main:bg,_htonl:bk,_realloc:qe,_i64Add:ji,_memmove:gg,_pthread_self:xk,_pthread_mutex_unlock:kk,_memset:Ze,_malloc:Kb,_pthread_mutex_lock:mk,_memcpy:re,_llvm_bswap_i32:Zi,_bitshift64Lshr:Ph,_htons:Hj,_bitshift64Shl:Lh,___errno_location:yi,_ntohs:Gj,runPostSets:Uh,stackAlloc:Ni,stackSave:uk,stackRestore:nk,establishStackSpace:Ej,setThrew:bj,setTempRet0:ok,getTempRet0:tk,dynCall_iiii:Ei,dynCall_viiiii:Zh,dynCall_vi:Kj,dynCall_vii:fj,dynCall_iiiiiii:xh,dynCall_ii:Bj,dynCall_v:fk,dynCall_iii:_i}})
 
 
 // EMSCRIPTEN_END_ASM
diff --git a/bedTools/wigToBed_static.js.mem b/bedTools/wigToBed_static.js.mem
index 3157f0ef4cf0e181996009797490e34dd05a7d39..3b012ce41f79a543718c861181baab0134d946b6 100644
Binary files a/bedTools/wigToBed_static.js.mem and b/bedTools/wigToBed_static.js.mem differ
diff --git a/bedTools/wigToBigWig_static.js b/bedTools/wigToBigWig_static.js
index 23967f204856f22091552983affa42667e5ed36c..0284793caebeb0f790e0b67b5e07ca72152cbd3a 100644
--- a/bedTools/wigToBigWig_static.js
+++ b/bedTools/wigToBigWig_static.js
@@ -1,9 +1,9 @@
-var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26544;__ATINIT__.push();memoryInitializer="wigToBigWig_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}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;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__read_sockaddr":__read_sockaddr,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var Module={"preRun":(function(){if(ENVIRONMENT_IS_NODE){console.log("preRun");FS.mkdir("/PWD");FS.mount(NODEFS,{root:"."},"/PWD");console.log("PREFIX YOUR FILE NAMES WITH /PWD")}})};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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26544;__ATINIT__.push();memoryInitializer="wigToBigWig_static.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;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 _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__read_sockaddr":__read_sockaddr,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_sysconf":_sysconf,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"__exit":__exit,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_viii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env.___syscall63;var ra=env.__inet_ntop4_raw;var sa=env._execvp;var ta=env.___syscall42;var ua=env._pthread_cleanup_push;var va=env._fork;var wa=env.__inet_pton6_raw;var xa=env.___syscall20;var ya=env._llvm_stackrestore;var za=env.___assert_fail;var Aa=env.___buildEnvironment;var Ba=env.__read_sockaddr;var Ca=env._signal;var Da=env._wait;var Ea=env.___setErrNo;var Fa=env._sbrk;var Ga=env._emscripten_memcpy_big;var Ha=env.__exit;var Ia=env._execl;var Ja=env.__write_sockaddr;var Ka=env.___syscall6;var La=env._abort;var Ma=env._exit;var Na=env._llvm_stacksave;var Oa=env._getenv;var Pa=env.___syscall51;var Qa=env.___syscall57;var Ra=env.___syscall54;var Sa=env.___unlock;var Ta=env._pthread_create;var Ua=env._gai_strerror;var Va=env._pthread_detach;var Wa=env.___syscall3;var Xa=env._sysconf;var Ya=env.___lock;var Za=env._llvm_fabs_f64;var _a=env.___syscall5;var $a=env.___syscall4;var ab=env._getaddrinfo;var bb=env._gettimeofday;var cb=env.___syscall140;var db=env.___syscall142;var eb=env.___syscall145;var fb=env.___syscall146;var gb=env._waitpid;var hb=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_viii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env.___syscall63;var ra=env.__inet_ntop4_raw;var sa=env._execvp;var ta=env.___syscall42;var ua=env._pthread_cleanup_push;var va=env._fork;var wa=env.__inet_pton6_raw;var xa=env.___syscall20;var ya=env._llvm_stackrestore;var za=env.___assert_fail;var Aa=env.___buildEnvironment;var Ba=env.__read_sockaddr;var Ca=env._signal;var Da=env._wait;var Ea=env.___setErrNo;var Fa=env._sbrk;var Ga=env._emscripten_memcpy_big;var Ha=env._sysconf;var Ia=env._execl;var Ja=env.__write_sockaddr;var Ka=env.___syscall6;var La=env._abort;var Ma=env._exit;var Na=env._llvm_stacksave;var Oa=env._getenv;var Pa=env.___syscall51;var Qa=env.___syscall57;var Ra=env.___syscall54;var Sa=env.___unlock;var Ta=env._pthread_create;var Ua=env._gai_strerror;var Va=env._pthread_detach;var Wa=env.___syscall3;var Xa=env.__exit;var Ya=env.___lock;var Za=env._llvm_fabs_f64;var _a=env.___syscall5;var $a=env.___syscall4;var ab=env._getaddrinfo;var bb=env._gettimeofday;var cb=env.___syscall140;var db=env.___syscall142;var eb=env.___syscall145;var fb=env.___syscall146;var gb=env._waitpid;var hb=0.0;
 // EMSCRIPTEN_START_FUNCS
-function qb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5958]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=23872+(b<<1<<2)|0;e=d+8|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[5962]|0)>>>0)La();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else La()}else c[5958]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5960]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=23872+(b<<1<<2)|0;e=d+8|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[5962]|0)>>>0)La();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5960]|0;break}else La()}else{c[5958]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5963]|0;b=l>>>3;d=23872+(b<<1<<2)|0;a=c[5958]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{m=a;n=b}}else{c[5958]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5960]=h;c[5963]=e;N=j;i=O;return N|0}a=c[5959]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24136+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5962]|0;if(k>>>0<g>>>0)La();j=k+q|0;if(k>>>0>=j>>>0)La();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)La();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)La();a=f+12|0;if((c[a>>2]|0)!=(k|0))La();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else La()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5959]=c[5959]&~(1<<a);break}}else{if(h>>>0<(c[5962]|0)>>>0)La();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5962]|0;if(o>>>0<b>>>0)La();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5960]|0;if(a|0){f=c[5963]|0;b=a>>>3;e=23872+(b<<1<<2)|0;a=c[5958]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{r=a;s=b}}else{c[5958]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5960]=d;c[5963]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5959]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24136+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24136+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5960]|0)-q|0)>>>0:0){f=c[5962]|0;if(k>>>0<f>>>0)La();h=k+q|0;if(k>>>0>=h>>>0)La();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)La();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)La();a=e+12|0;if((c[a>>2]|0)!=(k|0))La();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else La()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5959]=c[5959]&~(1<<a);break}}else{if(g>>>0<(c[5962]|0)>>>0)La();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5962]|0;if(u>>>0<b>>>0)La();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{w=a;x=b}}else{c[5958]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24136+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else La()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5960]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5963]|0;if(a>>>0>15){N=b+q|0;c[5963]=N;c[5960]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5960]=0;c[5963]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5961]|0;if(a>>>0>q>>>0){L=a-q|0;c[5961]=L;N=c[5964]|0;M=N+q|0;c[5964]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6076]|0)){c[6078]=4096;c[6077]=4096;c[6079]=-1;c[6080]=-1;c[6081]=0;c[6069]=0;x=p&-16^1431655768;c[p>>2]=x;c[6076]=x}h=q+48|0;g=c[6078]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6068]|0;if(a|0?(w=c[6066]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6069]&4)){a=c[5964]|0;c:do if(a){d=24280;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5961]|0)&g;if(a>>>0<2147483647){b=Fa(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Fa(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6077]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6066]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6068]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Fa(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6078]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Fa(y|0)|0)==(-1|0)){Fa(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6069]=c[6069]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Fa(k|0)|0,A=Fa(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6066]|0)+f|0;c[6066]=a;if(a>>>0>(c[6067]|0)>>>0)c[6067]=a;j=c[5964]|0;do if(j){e=24280;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5961]|0)|0;c[5964]=M;c[5961]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5965]=c[6080];break}a=c[5962]|0;if(h>>>0<a>>>0){c[5962]=h;k=h}else k=a;d=h+f|0;a=24280;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24280;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5963]|0)){N=(c[5960]|0)+g|0;c[5960]=N;c[5963]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)La();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)La();b=f+12|0;if((c[b>>2]|0)!=(a|0))La();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else La()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24136+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5962]|0)>>>0)La();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5959]=c[5959]&~(1<<b);break e}while(0);e=c[5962]|0;if(L>>>0<e>>>0)La();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)La();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5962]|0)>>>0)La();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=23872+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)La();if((c[d+12>>2]|0)==(a|0))break;La()}while(0);if((e|0)==(d|0)){c[5958]=c[5958]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)La();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}La()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;do if(!(b&a)){c[5958]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5962]|0)>>>0){M=a;N=b;break}La()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24136+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else La()}}else{N=(c[5961]|0)+g|0;c[5961]=N;c[5964]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24280;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5964]=N;c[5961]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5965]=c[6080];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6070];c[a+4>>2]=c[6071];c[a+8>>2]=c[6072];c[a+12>>2]=c[6073];c[6070]=h;c[6071]=f;c[6073]=0;c[6072]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{J=a;K=b}}else{c[5958]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24136+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else La()}}}else{N=c[5962]|0;if((N|0)==0|h>>>0<N>>>0)c[5962]=h;c[6070]=h;c[6071]=f;c[6073]=0;c[5967]=c[6076];c[5966]=-1;a=0;do{N=23872+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5964]=M;c[5961]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5965]=c[6080]}while(0);a=c[5961]|0;if(a>>>0>q>>>0){L=a-q|0;c[5961]=L;N=c[5964]|0;M=N+q|0;c[5964]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(nh()|0)>>2]=12;N=0;i=O;return N|0}function rb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[236];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=Yb(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=ac(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=ac(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=ac(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,Xd(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=ac(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=ac(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,Xd(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=ac(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=ac(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,Xd(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=ac(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,ld(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,Xd(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=ac(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[236];e=-5;return e|0}}else{j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;Xd(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[236];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?(Ub(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Ab(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,Xd(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,Xd(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,Xd(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){Ub(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[20585+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[20073]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Ab(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,Xd(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,Xd(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,Xd(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=pb[c[188+((c[O+132>>2]|0)*12|0)+8>>2]&15](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{vc(O);break}case 5:break;default:{lc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,se(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;Xd(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;ld(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,Xd(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[233];e=-2;return e|0}function sb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0}while((ui(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Vc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23668+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Vc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23677+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Vc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Vc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(nh()|0)>>2]=22;zf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Vc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Vc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;k=Zg(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Zg(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Vc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else zf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Zg(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=ic(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){zf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Bg(o|0,n|0,2)|0;H=Zg(H|0,C|0,-32,-1)|0;e=Zg(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Zg(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Ng(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Zg(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Fi(+Ad(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(nh()|0)>>2]=34;g=+Gi(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Vc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Zg(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Zg(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=ic(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){zf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Zg(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(nh()|0)>>2]=22;zf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9816+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9816+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9816+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Bg(c[p>>2]|0,0,29)|0;o=Zg(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Kh(o|0,n|0,1e9,0)|0;o=Rf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Fi(+Ad(1.0,105-o|0),j);m=+Pi(j,+Ad(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Pi(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(nh()|0)>>2]=34}while(0);g=+Gi(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(nh()|0)>>2]=22;zf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function tb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(nh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Oc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[20976+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}ec(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Fg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21456;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21456;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Ng(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21456;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21456:21458;L=76}else{p=1;r=21457;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21456;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21456;o=N;break}case 109:{o=Yd(c[(nh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23358;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){od(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23366:23371}else{G=1;H=23368}else{q=-q;G=1;H=23365}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Hi(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Rd(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21440+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;od(e,32,K,r,I);if(!(c[e>>2]&32))Oc(y,w,e)|0;od(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Oc(ea,o,e)|0;f=ba-p|0;od(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Oc(t,f,e)|0;od(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Bg(c[r>>2]|0,0,t|0)|0;B=Zg(B|0,C|0,o|0,0)|0;o=C;A=Rf(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Kh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Rd(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;od(e,32,K,w,I);if(!(c[e>>2]&32))Oc(H,G,e)|0;od(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Rd(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;se(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Oc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Oc(23396,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Rd(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){se(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Oc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}od(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Rd(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Oc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Oc(23396,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;se(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Oc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}od(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Oc(u,ba-u|0,e)|0}while(0);od(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;od(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Oc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Oc(s?(t?23677:23392):t?23384:23388,3,e)|0;od(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21456;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21440+(o&15)>>0]|r;o=Fg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21456;L=77}else{o=t;t=2;r=21456+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21456;L=77}}else if((L|0)==76){f=Rd(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Fc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21456;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Eh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}od(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Eh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Oc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;od(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;od(e,32,o,s,p);if(!(c[e>>2]&32))Oc(v,w,e)|0;od(e,48,o,s,p^65536);od(e,48,r,t,0);if(!(c[e>>2]&32))Oc(f,t,e)|0;od(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;ec(j+(m<<3)|0,n,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=ia;return m|0}function ub(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=fj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(ui(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{zf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Vc(e)|0}while((ui(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}zf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Vc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){se(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;se(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=qb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Vc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(uc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Wd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Lh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=qb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Wd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+sb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;zf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Vc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ui(d[m>>0]|0)|0))break;else n=m}zf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Vc(e)|0}while((ui(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){yb(l);yb(f)}}else k=0;while(0);if(O|0)ej(e);i=P;return k|0}function vb(a,d,e,f,j){a=a|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0.0;aa=i;i=i+368|0;$=aa+280|0;W=aa+256|0;V=aa+232|0;T=aa+216|0;S=aa+192|0;R=aa+176|0;Q=aa+160|0;P=aa+136|0;O=aa+128|0;N=aa+120|0;M=aa+112|0;K=aa+88|0;J=aa+80|0;I=aa+72|0;H=aa+48|0;G=aa+40|0;U=aa+24|0;L=aa+16|0;F=aa+8|0;E=aa;A=aa+352|0;B=aa+344|0;D=aa+336|0;X=aa+316|0;z=aa+296|0;C=aa+292|0;Z=aa+288|0;v=nf(a,1)|0;c[Z>>2]=0;_d(v);w=(e|0)==0;x=v+28|0;y=v+4|0;t=(d|0)==0;u=A+4|0;a:while(1){if(!(Gf(v,C)|0)){Y=106;break}c[E>>2]=c[C>>2];Ig(2,17710,E);a=c[C>>2]|0;if(!(Db(a,17725)|0)){if((xd(eh(a)|0,z,5)|0)!=4){Y=77;break}q=c[z>>2]|0;r=le(v,z,1)|0;s=le(v,z,2)|0;ba=+ke(v,z,3);c[S>>2]=q;c[S+4>>2]=r;c[S+8>>2]=s;h[S+16>>3]=ba;Ig(2,18419,S);Ki(v);c[A>>2]=ce(0,1)|0;c[B>>2]=0;while(1){if(!(Gf(v,D)|0))break;if(fh(c[D>>2]|0)|0){Y=81;break}ef(v,4,xd(c[D>>2]|0,X,5)|0);d=c[X>>2]|0;a=ah(c[A>>2]|0,d)|0;if(!a){a=Ze(c[(c[A>>2]|0)+20>>2]|0,16)|0;_g(c[A>>2]|0,d,a,a+4|0)|0;if(w)d=1073741823;else d=oi(e,d)|0;c[a+8>>2]=d;c[a>>2]=c[B>>2];c[B>>2]=a}k=Ze(j,16)|0;d=k+4|0;c[d>>2]=le(v,X,1)|0;l=k+8|0;c[l>>2]=le(v,X,2)|0;g[k+12>>2]=+ke(v,X,3);d=c[d>>2]|0;l=c[l>>2]|0;if(d>>>0>l>>>0){Y=87;break a}d=c[a+8>>2]|0;if(l>>>0>d>>>0){r=c[y>>2]|0;s=c[a+4>>2]|0;c[V>>2]=c[x>>2];c[V+4>>2]=r;c[V+8>>2]=s;c[V+12>>2]=d;c[V+16>>2]=l;Vg(18498,V);if(t){Y=90;break a}}else{s=a+12|0;c[k>>2]=c[s>>2];c[s>>2]=k}}if((Y|0)==81){Y=0;Ki(v)}gd(B,8);a=B;while(1){a=c[a>>2]|0;if(!a)break;d=a+12|0;gd(d,9);o=a+4|0;m=c[d>>2]|0;while(1){n=c[m>>2]|0;if(!n)break;k=c[m+8>>2]|0;l=c[n+4>>2]|0;if(k>>>0>l>>>0){Y=98;break a}else m=n}m=c[d>>2]|0;while(1){if(!m)break;else{d=m;l=m;k=0}while(1){if((l|0)==0|(k|0)>=(f|0))break;d=l;l=c[l>>2]|0;k=k+1|0}c[d>>2]=0;s=Ze(j,48)|0;c[s+4>>2]=eh(c[o>>2]|0)|0;c[s+8>>2]=c[m+4>>2];c[s+12>>2]=c[d+8>>2];c[s+16>>2]=1;c[s+20>>2]=m;b[s+32>>1]=k;c[s>>2]=c[Z>>2];c[Z>>2]=s;m=l}}Hd(A);continue}c[z>>2]=a;a=of(z)|0;if(Qe(a,17732)|0)if(!(Qe(a,17745)|0))o=3;else{Y=6;break}else o=2;m=0;d=0;k=0;n=0;while(1){a=of(z)|0;if(!a){s=m;r=n;break}if((wd(a,61,A,2)|0)!=2){Y=10;break a}a=c[A>>2]|0;l=c[u>>2]|0;do if(!(Qe(a,17807)|0)){m=eh(l)|0;a=n}else{if(!(Qe(a,17813)|0)){d=De(v,a,l)|0;a=n;break}if(!(Qe(a,17874)|0)){a=De(v,a,l)|0;break}if(Qe(a,17879)|0){Y=19;break a}k=De(v,a,l)|0;a=n}while(0);n=a}if(!s){Y=22;break}if(w)n=1073741823;else n=oi(e,s)|0;if(k>>>0>n>>>0?(q=c[y>>2]|0,c[H>>2]=c[x>>2],c[H+4>>2]=q,c[H+8>>2]=s,c[H+12>>2]=n,c[H+16>>2]=k,Vg(17959,H),t):0){Y=27;break}a=(k|0)==0;if((o|0)==3){if(a){Y=30;break}if(!r){Y=32;break}q=(d|0)==0?r:d;m=k+-1|0;c[A>>2]=lg(0)|0;c[X>>2]=0;a=0;l=m;while(1){if(!(Gf(v,D)|0))break;if(bh(c[D>>2]|0,1)|0){Y=36;break}xd(c[D>>2]|0,B,1)|0;d=Ze(c[A>>2]|0,8)|0;g[d+4>>2]=+ke(v,B,0);k=l+q|0;if(k>>>0>n>>>0){p=c[y>>2]|0;c[K>>2]=c[x>>2];c[K+4>>2]=p;c[K+8>>2]=s;c[K+12>>2]=n;c[K+16>>2]=k;Vg(18099,K);if(t){Y=39;break a}}else{c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}l=l+r|0}if((Y|0)==36){Y=0;Ki(v)}ag(X);p=q-r|0;k=m;d=c[X>>2]|0;while(1){if(!d)break;o=(a|0)>(f|0)?f:a;n=Ze(j,48)|0;c[n+4>>2]=s;c[n+8>>2]=k;k=(_(o,r)|0)+k|0;c[n+12>>2]=p+k;c[n+16>>2]=3;c[n+24>>2]=r;c[n+28>>2]=q;b[n+32>>1]=o;l=Ze(j,o<<2)|0;c[n+20>>2]=l;m=0;while(1){if((m|0)>=(o|0))break;c[l>>2]=c[d+4>>2];m=m+1|0;d=c[d>>2]|0;l=l+4|0}c[n>>2]=c[Z>>2];c[Z>>2]=n;a=a-o|0}ph(A)}else{if(!a){Y=50;break}if(r|0){Y=52;break}o=(d|0)==0?1:d;c[A>>2]=lg(0)|0;c[X>>2]=0;a=0;b:while(1){while(1){if(!(Gf(v,D)|0))break b;if(bh(c[D>>2]|0,2)|0){Y=57;break b}xd(c[D>>2]|0,B,2)|0;d=Ze(c[A>>2]|0,12)|0;k=le(v,B,0)|0;if((k|0)<1){Y=59;break a}r=d+4|0;c[r>>2]=k+-1;g[d+8>>2]=+ke(v,B,1);k=(c[r>>2]|0)+o|0;if(k>>>0<=n>>>0)break;r=c[y>>2]|0;c[P>>2]=c[x>>2];c[P+4>>2]=r;c[P+8>>2]=s;c[P+12>>2]=n;c[P+16>>2]=k;Vg(18099,P);if(t){Y=62;break a}}c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}if((Y|0)==57){Y=0;Ki(v)}gd(X,7);d=c[X>>2]|0;if(!d)d=0;else{while(1){k=d;d=c[d>>2]|0;if(!d)break;k=c[k+4>>2]|0;l=c[d+4>>2]|0;if((k+o|0)>>>0>l>>>0){Y=67;break a}}d=c[X>>2]|0}while(1){if(!d)break;n=(a|0)>(f|0)?f:a;m=Ze(j,n<<3)|0;l=0;k=m;while(1){if((l|0)>=(n|0))break;c[k>>2]=c[d+4>>2];c[k+4>>2]=c[d+8>>2];l=l+1|0;d=c[d>>2]|0;k=k+8|0}r=Ze(j,48)|0;c[r+4>>2]=s;c[r+8>>2]=c[m>>2];c[r+12>>2]=(c[m+(n+-1<<3)>>2]|0)+o;c[r+16>>2]=2;c[r+20>>2]=m;c[r+28>>2]=o;b[r+32>>1]=n;c[r>>2]=c[Z>>2];c[Z>>2]=r;a=a-n|0}ph(A)}}switch(Y|0){case 6:{c[F>>2]=a;rh(17755,F);break}case 10:{aa=c[y>>2]|0;c[L>>2]=c[x>>2];c[L+4>>2]=aa;rh(17772,L);break}case 19:{$=c[x>>2]|0;aa=c[y>>2]|0;c[U>>2]=a;c[U+4>>2]=l;c[U+8>>2]=$;c[U+12>>2]=aa;rh(17885,U);break}case 22:{aa=c[y>>2]|0;c[G>>2]=c[x>>2];c[G+4>>2]=aa;rh(17921,G);break}case 27:{xh();break}case 30:{aa=c[y>>2]|0;c[I>>2]=c[x>>2];c[I+4>>2]=aa;rh(18024,I);break}case 32:{aa=c[y>>2]|0;c[J>>2]=c[x>>2];c[J+4>>2]=aa;rh(18062,J);break}case 39:{xh();break}case 50:{aa=c[y>>2]|0;c[M>>2]=c[x>>2];c[M+4>>2]=aa;rh(18162,M);break}case 52:{aa=c[y>>2]|0;c[N>>2]=c[x>>2];c[N+4>>2]=aa;rh(18198,N);break}case 59:{aa=c[y>>2]|0;c[O>>2]=c[x>>2];c[O+4>>2]=aa;rh(18233,O);break}case 62:{xh();break}case 67:{c[Q>>2]=s;c[Q+4>>2]=k;c[Q+8>>2]=l;rh(18299,Q);break}case 77:{$=c[y>>2]|0;aa=c[C>>2]|0;c[R>>2]=c[x>>2];c[R+4>>2]=$;c[R+8>>2]=aa;rh(18387,R);break}case 87:{$=c[x>>2]|0;aa=c[y>>2]|0;c[T>>2]=d;c[T+4>>2]=l;c[T+8>>2]=$;c[T+12>>2]=aa;rh(18441,T);break}case 90:{xh();break}case 98:{$=c[o>>2]|0;Z=c[m+4>>2]|0;aa=c[n+8>>2]|0;c[W>>2]=$;c[W+4>>2]=Z;c[W+8>>2]=k;c[W+12>>2]=$;c[W+16>>2]=l;c[W+20>>2]=aa;rh(18574,W);break}case 106:{gd(Z,10);a=c[Z>>2]|0;while(1){if(!a){Y=112;break}d=a;a=c[a>>2]|0;if(!a){a=0;continue}k=c[d+4>>2]|0;if(Qe(k,c[a+4>>2]|0)|0)continue;l=c[a+8>>2]|0;if((c[d+12>>2]|0)>>>0>l>>>0){Y=111;break}}if((Y|0)==111){c[$>>2]=k;c[$+4>>2]=l+1;rh(18650,$)}else if((Y|0)==112){i=aa;return c[Z>>2]|0}break}}return 0}function wb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Zg(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(13816==0?(Qe(c[a+8>>2]|0,13830)|0)!=0:0){ba=a+32|0;T=ba;T=lb[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Zg(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Zg(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Zg(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Zg(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Ng(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Zg(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Ng((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Ng(k|0,j|0,f|0,d|0)|0;Xd(b|0,B+f|0,o|0)|0;e=Zg(o|0,E|0,e|0,n|0)|0;f=C;d=Ng(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Zg(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;bg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Sd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Zg(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Ng(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(13816){y=Zg(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Zg(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Kh(k|0,j|0,w|0,0)|0;t=Zg(A|0,B|0,-1,-1)|0;t=Zg(t|0,C|0,w|0,0)|0;w=Kh(t|0,C|0,w|0,0)|0;t=m+52|0;mf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((ei(u,d,s)|0)<(s|0))f=0;else{Di(u);j=B;k=A;continue}while(1){o=ei(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=ni(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=cg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=cg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Zg(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Ng(f|0,j|0,p|0,q|0)|0;k=C;f=Vd(j)|0;c[W>>2]=f;m=lb[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}bg(Z,c[K>>2]|0,p,0)|0;Oe(Z,c[K>>2]|0,f,j);Gh(W)}Kd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;bg(P,c[t>>2]|0,da+64|0,0)|0;Oe(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Di(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);bg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Re(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;rh(13842,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Ig(4,13898,$);Ig(4,13944,aa);S=0;T=0;break}else if((n|0)==36){Re(Z,j,f,h);S=ba;S=Zg(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Zg(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function yb(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;if(!a)return;d=a+-8|0;h=c[5962]|0;if(d>>>0<h>>>0)La();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)La();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)La();if((k|0)==(c[5963]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5960]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=23872+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)La();if((c[b+12>>2]|0)!=(k|0))La()}if((d|0)==(b|0)){c[5958]=c[5958]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)La();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else La()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)La();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)La();a=e+12|0;if((c[a>>2]|0)!=(k|0))La();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else La()}while(0);if(f){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5959]=c[5959]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5962]|0)>>>0)La();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5962]|0;if(i>>>0<d>>>0)La();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)La();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5962]|0)>>>0)La();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)La();a=m+4|0;b=c[a>>2]|0;if(!(b&1))La();if(!(b&2)){if((m|0)==(c[5964]|0)){p=(c[5961]|0)+g|0;c[5961]=p;c[5964]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5963]|0))return;c[5963]=0;c[5960]=0;return}if((m|0)==(c[5963]|0)){p=(c[5960]|0)+g|0;c[5960]=p;c[5963]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();d=b+12|0;if((c[d>>2]|0)!=(m|0))La();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else La()}while(0);if(f|0){a=c[m+28>>2]|0;b=24136+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5959]=c[5959]&~(1<<a);break}}else{if(f>>>0<(c[5962]|0)>>>0)La();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5962]|0;if(n>>>0<d>>>0)La();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)La();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=23872+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5962]|0)>>>0)La();if((c[b+12>>2]|0)!=(m|0))La()}if((d|0)==(b|0)){c[5958]=c[5958]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5962]|0)>>>0)La();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else La()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5963]|0)){c[5960]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{o=a;p=b}}else{c[5958]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24136+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5959]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5962]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else La()}}else{c[5959]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[5966]|0)+-1|0;c[5966]=q;if(!q)a=24288;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[5966]=-1;return}function zb(a,d,f,j,k,l,m,n){a=a|0;d=d|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0.0;ba=i;i=i+480|0;O=ba+344|0;M=ba+336|0;v=ba+328|0;S=ba+288|0;L=ba+280|0;$=ba+468|0;aa=ba+464|0;B=ba+476|0;Y=ba+474|0;D=ba+472|0;G=ba+460|0;H=ba+272|0;Q=ba+264|0;R=ba+256|0;P=ba+248|0;T=ba+240|0;U=ba+456|0;N=ba+416|0;F=ba+376|0;V=ba+160|0;W=ba+80|0;X=ba;Z=ba+368|0;I=ba+364|0;J=ba+360|0;K=ba+356|0;z=ih(a)|0;A=L;c[A>>2]=z;c[A+4>>2]=((z|0)<0)<<31>>31;c[$>>2]=Yc(n,17566)|0;c[aa>>2]=-2003829722;b[B>>1]=4;b[Y>>1]=0;b[D>>1]=0;c[G>>2]=0;A=H;c[A>>2]=0;c[A+4>>2]=0;A=Q;c[A>>2]=0;c[A+4>>2]=0;A=R;c[A>>2]=0;c[A+4>>2]=0;A=P;c[A>>2]=0;c[A+4>>2]=0;A=T;c[A>>2]=0;c[A+4>>2]=0;c[U>>2]=0;if(!l)Tc(a,d,I,Z,J);else rc(a,d,I,Z,J);A=c[Z>>2]|0;if(!m){z=c[I>>2]|0;y=qc(a)|0;n=0;l=0;m=a;a:while(1){if(!m){t=n;u=l;break}switch(c[m+16>>2]|0){case 1:{d=12;break}case 2:{d=8;break}case 3:{d=4;break}default:{x=14;break a}}d=Zg((_(e[m+32>>1]|0,d)|0)+24|0,0,n|0,l|0)|0;n=d;l=C;m=c[m>>2]|0}if((x|0)==14){c[v>>2]=17549;c[v+4>>2]=780;rh(17528,v)}m=Fg(t|0,u|0,1)|0;v=C;c[S>>2]=0;x=(k|0)!=0&1;o=+(m>>>0)+4294967296.0*+(v>>>0);u=0;t=0;d=y*10|0;while(1){n=oc(a,A,d)|0;c[S>>2]=n;n=eg(n)|0;n=Bg(n|0,C|0,x|0)|0;l=C;if(l>>>0<v>>>0|(l|0)==(v|0)&n>>>0<m>>>0|(n|0)==(u|0)&(l|0)==(t|0))break;y=~~(+(d|0)*1.1*(+(n>>>0)+4294967296.0*+(l>>>0))/o);ca=d<<1;Dg(S);u=n;t=l;d=(y|0)<(ca|0)?ca:y}b[Y>>1]=1;c[N>>2]=c[S>>2];c[F>>2]=d;m=d;n=((d|0)<0)<<31>>31;l=0;while(1){if((l|0)>=9)break;m=Bg(m|0,n|0,2)|0;n=C;if(n>>>0>0|(n|0)==0&m>>>0>1e9)break;ca=ee(c[N+((e[Y>>1]|0)+-1<<2)>>2]|0,A,m)|0;c[S>>2]=ca;ca=eg(ca)|0;if((ca|0)==(u|0)&(C|0)==(t|0))d=c[S>>2]|0;else{d=c[S>>2]|0;ca=b[Y>>1]|0;y=ca&65535;c[N+(y<<2)>>2]=d;c[F+(y<<2)>>2]=m;b[Y>>1]=ca+1<<16>>16}if((ih(d)|0)<=(z|0))break;else l=l+1|0}}else{c[F>>2]=30;d=oc(a,A,30)|0;c[N>>2]=d;n=1;while(1){if((n|0)==10)break;ca=c[140+(n<<2)>>2]|0;c[F+(n<<2)>>2]=ca;ca=ee(d,A,ca)|0;c[N+(n<<2)>>2]=ca;d=ca;n=n+1|0}b[Y>>1]=10}rf(c[$>>2]|0,aa,4);rf(c[$>>2]|0,B,2);rf(c[$>>2]|0,Y,2);y=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,P,8);z=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,Q,8);A=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,R,8);rf(c[$>>2]|0,D,2);rf(c[$>>2]|0,D,2);rf(c[$>>2]|0,H,8);x=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,T,8);B=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,U,4);rf(c[$>>2]|0,H,8);if((Xi(c[$>>2]|0)|0)==64)E=0;else za(17569,17549,1014,17584);while(1){if((E|0)>=(e[Y>>1]|0|0))break;rf(c[$>>2]|0,F+(E<<2)|0,4);rf(c[$>>2]|0,G,4);D=Xi(c[$>>2]|0)|0;ca=V+(E<<3)|0;c[ca>>2]=D;c[ca+4>>2]=((D|0)<0)<<31>>31;rf(c[$>>2]|0,H,8);rf(c[$>>2]|0,H,8);E=E+1|0}d=S;n=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(n|0));ca=Xi(c[$>>2]|0)|0;n=T;c[n>>2]=ca;c[n+4>>2]=((ca|0)<0)<<31>>31;Ag(c[$>>2]|0,S);n=Xi(c[$>>2]|0)|0;ca=P;c[ca>>2]=n;c[ca+4>>2]=((n|0)<0)<<31>>31;ca=c[I>>2]|0;sc(c[Z>>2]|0,16,ca,((ca|0)<0)<<31>>31,(ca|0)>(f|0)?f:ca,2,c[J>>2]|0,3,8,c[$>>2]|0);ca=Xi(c[$>>2]|0)|0;n=Q;c[n>>2]=ca;c[n+4>>2]=((ca|0)<0)<<31>>31;rf(c[$>>2]|0,L,8);n=a;while(1){d=c[$>>2]|0;if(!n)break;d=Qb(n,k,d)|0;if(d>>>0>(c[U>>2]|0)>>>0)c[U>>2]=d;n=c[n>>2]|0}d=Xi(d)|0;n=R;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;n=L;n=Bg(c[n>>2]|0,c[n+4>>2]|0,2)|0;c[K>>2]=Jh(n)|0;n=0;d=a;while(1){if(!d)break;c[(c[K>>2]|0)+(n<<2)>>2]=d;n=n+1|0;d=c[d>>2]|0}ca=L;d=R;Ib(c[K>>2]|0,4,c[ca>>2]|0,c[ca+4>>2]|0,f,1,0,2,6,c[d>>2]|0,c[d+4>>2]|0,c[$>>2]|0);Gh(K);c[M>>2]=e[Y>>1];Ig(2,17635,M);d=0;while(1){if((d|0)>=(e[Y>>1]|0|0))break;L=Xi(c[$>>2]|0)|0;M=W+(d<<3)|0;K=M;c[K>>2]=L;c[K+4>>2]=((L|0)<0)<<31>>31;K=Jc(c[N+(d<<2)>>2]|0,f,j,k,c[$>>2]|0)|0;L=C;ca=X+(d<<3)|0;a=ca;c[a>>2]=K;c[a+4>>2]=L;M=Ng(K|0,L|0,c[M>>2]|0,c[M+4>>2]|0)|0;L=Xi(c[$>>2]|0)|0;ca=Ng(L|0,0,c[ca>>2]|0,c[ca+4>>2]|0)|0;c[O>>2]=M;c[O+4>>2]=ca;c[O+8>>2]=d;Ig(3,17667,O);d=d+1|0}d=c[N>>2]|0;if(!d){ca=T;c[ca>>2]=0;c[ca+4>>2]=0}else{l=c[d+16>>2]|0;t=S;c[t>>2]=l;c[t+4>>2]=0;r=+g[d+20>>2];t=S+8|0;h[t>>3]=r;s=+g[d+24>>2];u=S+16|0;h[u>>3]=s;w=+g[d+28>>2];v=S+24|0;h[v>>3]=w;m=d;n=0;o=+g[d+32>>2];while(1){d=c[m>>2]|0;if(!d)break;l=Zg(l|0,n|0,c[d+16>>2]|0,0)|0;n=C;ca=S;c[ca>>2]=l;c[ca+4>>2]=n;p=+g[d+20>>2];if(p<r)h[t>>3]=p;else p=r;q=+g[d+24>>2];if(q>s)h[u>>3]=q;else q=s;da=w+ +g[d+28>>2];h[v>>3]=da;m=d;r=p;s=q;w=da;o=o+ +g[d+32>>2]}h[S+32>>3]=o;qi(c[$>>2]|0,c[T>>2]|0,0)|0;Ag(c[$>>2]|0,S)}qi(c[$>>2]|0,z,0)|0;rf(c[$>>2]|0,Q,8);qi(c[$>>2]|0,A,0)|0;rf(c[$>>2]|0,R,8);qi(c[$>>2]|0,y,0)|0;rf(c[$>>2]|0,P,8);qi(c[$>>2]|0,x,0)|0;rf(c[$>>2]|0,T,8);if(!k)n=0;else{d=j<<5;if(d>>>0>(c[U>>2]|0)>>>0)c[U>>2]=d;qi(c[$>>2]|0,B,0)|0;rf(c[$>>2]|0,U,4);n=0}while(1){d=c[$>>2]|0;if((n|0)>=(e[Y>>1]|0|0))break;qi(d,c[V+(n<<3)>>2]|0,0)|0;rf(c[$>>2]|0,W+(n<<3)|0,8);rf(c[$>>2]|0,X+(n<<3)|0,8);n=n+1|0}qi(d,0,2)|0;rf(c[$>>2]|0,aa,4);Gh(Z);Uh($);i=ba;return}function Ab(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}wb(f,f+2840|0);wb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}wb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)lc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Mb(f,9848,11e3);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[20841+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Hb(f,g,q);h=f+2440|0;Hb(f,h,r);Mb(f,g,h)}while(0);xc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Bb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5962]|0;if(l>>>0<i>>>0)La();if((l|0)==(c[5963]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5960]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=23872+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)La();if((c[a+12>>2]|0)!=(l|0))La()}if((b|0)==(a|0)){c[5958]=c[5958]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)La();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else La()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)La();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)La();d=e+12|0;if((c[d>>2]|0)!=(l|0))La();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else La()}while(0);if(f){d=c[l+28>>2]|0;a=24136+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5959]=c[5959]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5962]|0)>>>0)La();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5962]|0;if(j>>>0<b>>>0)La();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5962]|0)>>>0)La();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5962]|0;if(o>>>0<h>>>0)La();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5964]|0)){q=(c[5961]|0)+g|0;c[5961]=q;c[5964]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5963]|0))return;c[5963]=0;c[5960]=0;return}if((o|0)==(c[5963]|0)){q=(c[5960]|0)+g|0;c[5960]=q;c[5963]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)La();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)La();d=e+12|0;if((c[d>>2]|0)!=(o|0))La();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else La()}while(0);if(f|0){d=c[o+28>>2]|0;a=24136+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5959]=c[5959]&~(1<<d);break}}else{if(f>>>0<(c[5962]|0)>>>0)La();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5962]|0;if(n>>>0<b>>>0)La();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5962]|0)>>>0)La();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=23872+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)La();if((c[a+12>>2]|0)!=(o|0))La()}if((b|0)==(a|0)){c[5958]=c[5958]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)La();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else La()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5963]|0)){c[5960]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=23872+(d<<1<<2)|0;a=c[5958]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5962]|0)>>>0)La();else{p=d;q=a}}else{c[5958]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24136+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5959]|0;a=1<<b;if(!(d&a)){c[5959]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5962]|0)>>>0)La();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5962]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))La();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){Ub(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=dc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,Xd(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[20585+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[20073+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,Xd(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,Xd(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,Xd(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Db(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(we(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Fc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(nh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0}while((ui(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Vc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Vc(b)|0;if((d[23403+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){zf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23403+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;zf(b,0);c[(nh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Vc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=cg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Zg(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23659+((e*23|0)>>>5&7)>>0]|0;j=a[23403+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Fg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Bg(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23403+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Kh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=cg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Zg(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23403+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0}while((d[23403+i>>0]|0)>>>0<e>>>0);c[(nh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(nh()|0)>>2]=34;g=Zg(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(nh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Ng(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Fb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){Ub(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=dc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[20585+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[20073+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,Xd(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,Xd(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,Xd(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Gb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ce(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Qe(r,14647)|0)){j=g;h=k;N=4;break}s=wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(ui(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Ed(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Sh(Q,o,(m|0)==0?15069:m)|0;else{l=jg(o,f)|0;if(!l){l=jg(o,124)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Nh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Mh(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Bi(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Bi(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?15069:m;l=jg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=ah(Q,o)|0;l=Og(m)|0;if(!n){Sh(Q,o,l)|0;break}else{Cg(n,l);break}}Sh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;rh(14658,z);break}case 34:{c[A>>2]=o;rh(14684,A);break}case 36:{c[K>>2]=o;rh(14723,K);break}case 38:{c[L>>2]=o;rh(14759,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;rh(14792,B);break}case 43:{c[C>>2]=o;rh(14759,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;rh(14834,D);break}case 48:{c[E>>2]=o;rh(14878,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;rh(14913,F);break}case 53:{c[G>>2]=o;rh(14953,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;rh(14989,H);break}case 57:{c[I>>2]=c[l>>2];rh(15030,I);break}case 65:{rh(15072,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Ib(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=lg(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=pb[k&15](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=Ze(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=cg(z|0,y|0,b|0,v|0)|0;p=a+p|0;nb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=Zg(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=pb[k&15](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=Zg(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=cg(q|0,C|0,b|0,v|0)|0;nb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=Zg(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}ag(Q);c[H>>2]=ih(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Ig(2,12880,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}Ze(I,48)|0;y=vh(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}ag(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;ag(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;rf(n,P,4);rf(n,M,4);rf(n,L,8);rf(n,g+12|0,4);rf(n,g+16|0,4);rf(n,g+20|0,4);rf(n,g+24|0,4);rf(n,O,8);rf(n,N,4);rf(n,K,4);if((g|0)!=(Q|0))hc(g,c[M>>2]|0,o,n);ph(R);i=S;return}function Jb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Db(d,15847)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){ue(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Pf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(nh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Nf(16353,f)|0))m=c[F>>2]|0;else{of(F)|0;f=of(F)|0;if(!f){O=20;break a}if((((Nf(16980,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Qe(f,16983)|0)if(Qe(f,16987)|0){if(I?(g=Qe(f,16991)|0,!((H|g|0)==0&G)):0)if(!(Qe(f,16995)|0)){f=o;break}else{O=30;break a}if(!(Qe(f,17082)|0)){O=34;break a}if(!(Qe(f,16991)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Gg(f+1|0)|0}if(!(Ve(m,17134)|0)){if(o|0)c[e>>2]=eh(f)|0;if(k)h=eh(f)|0}}while(!(I&(Ve(m,17143)|0)==0));if((Nf(17157,f)|0)!=0?(q=(wh(f,32)|0)+1|0,r=wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=bd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=bd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=Yd(f)|0;c[z+4>>2]=d;Vg(16791,z);f=0;break}case 10:{c[v>>2]=d;Vg(16828,v);f=0;break}case 11:{c[x>>2]=d;Vg(16884,x);f=0;break}case 15:{c[y>>2]=2e3;Vg(16916,y);f=0;break}case 20:{c[u>>2]=d;Vg(16954,u);f=0;break}case 30:{if(!g)Vg(16999,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Vg(17042,E);f=0;break}case 34:{c[w>>2]=d;Vg(17086,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Vg(17111,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;hg(N,256,15957,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Vg(17164,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24456:17258;c[K+8>>2]=f?16983:16987;c[K+12>>2]=h|0?h:17274;Vg(17284,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;hg(N,256,15957,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Vg(17325,M);f=0}break}}i=P;return f|0}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=ib[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Wh(h)|0;c[b+16>>2]=e;f=kd(c[f>>2]|0)|0;if(!f){s=0;break}s=Ed(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Di(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}$d(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)sf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Jf(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;$d(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Cf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Gd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;rh(12631,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Gd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Gd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Lb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5962]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))La();f=c[k+4>>2]|0;if(!(f&1))La();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6078]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Bb(m,d);return a|0}if((k|0)==(c[5964]|0)){d=(c[5961]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5964]=l;c[5961]=m;return a|0}if((k|0)==(c[5963]|0)){e=(c[5960]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5960]=d;c[5963]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)La();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)La();d=g+12|0;if((c[d>>2]|0)!=(k|0))La();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else La()}while(0);if(h|0){d=c[k+28>>2]|0;e=24136+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5959]=c[5959]&~(1<<d);break}}else{if(h>>>0<(c[5962]|0)>>>0)La();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5962]|0;if(j>>>0<f>>>0)La();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)La();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5962]|0)>>>0)La();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=23872+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)La();if((c[e+12>>2]|0)!=(k|0))La()}if((f|0)==(e|0)){c[5958]=c[5958]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)La();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else La()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Bb(l,m);return a|0}return 0}function Mb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[20585+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[328+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[680+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[20073+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[464+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[796+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Nb(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){Ub(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,Xd(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,Xd(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,Xd(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Ab(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,Xd(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Ob(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;ug(0,13967,b)|0}b=d+112|0;if(c[b>>2]|0)Af(b);b=d+128|0;if(c[b>>2]|0)Af(b);Di(c[d+4>>2]|0);Di(c[d+8>>2]|0);Gh(d+12|0);Di(c[d+40>>2]|0);Di(c[d+44>>2]|0);Di(c[d+48>>2]|0);Di(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Af(b);zh(d+80|0)}Gh(a);i=e;return}function Pb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)za(19193,19213,448,19229);h=va()|0;c[s>>2]=h;if((h|0)<0)yf(19242,l);if(h|0)if(!(fg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;yf(19780,k)}r=yh()|0;c[s>>2]=r;if(fg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;yf(19253,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Vf(m)|0;j=va()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}uf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))xf(t);if(c[k>>2]|0)xf(m);g=0;f=0;j=h;h=k}if((b|0)==14)yf(19242,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){ad(k,l,h,e);x=k+8|0;w=c[x>>2]|0;sa(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];yf(19487,o)}ad(k,0,h,e);h=Of(1,f,g)|0;if((h|0)<0)yf(19398,p);if((h|0)==(g|0)){ig(1)|0;Ma(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;rh(19433,q)}}else if((b|0)==28){ig(0)|0;ig(1)|0;Eg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=gb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;uf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)yf(19560,u);else if((b|0)==35){c[v>>2]=h;rh(19575,v)}else if((b|0)==39){v=ye(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;rh(19605,w)}else if((b|0)==41)za(19660,19213,242,19684);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2317]|0;v=ye(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;ug(h,19703,x)|0;h=c[k>>2]|0}Ma(h>>>8&255|0)}else if((b|0)==47)za(19750,19213,396,19770);else if((b|0)==49)Ma(0)}}function Qb(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;o=t+8|0;j=t;m=f+16|0;s=c[m>>2]|0;l=s&255;switch(s|0){case 1:{k=12;break}case 2:{k=8;break}case 3:{k=4;break}default:{c[j>>2]=17549;c[j+4>>2]=67;rh(17528,j)}}p=f+32|0;q=(_(e[p>>1]|0,k)|0)+24|0;r=i;i=i+((1*q|0)+15&-16)|0;s=r;k=Xi(h)|0;j=f+40|0;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;j=f+36|0;c[r>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+8|0;c[r+4>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+12|0;c[r+8>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+24|0;c[r+12>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+28|0;c[r+16>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[r+20>>0]=l;a[r+21>>0]=0;j=d[p>>0]|d[p+1>>0]<<8;b[r+22>>1]=j;k=r+24|0;a:do switch(c[m>>2]|0){case 1:{j=f+20|0;while(1){j=c[j>>2]|0;if(!j){n=k;break a}o=j+4|0;f=k;p=k;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;p=f+4|0;o=j+8|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;p=f+8|0;o=j+12|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;k=f+12|0}}case 2:{m=j;l=0;j=c[f+20>>2]|0;while(1){if((l|0)>=(m&65535|0)){n=k;break a}f=k;m=k;o=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[m>>0]=o;a[m+1>>0]=o>>8;a[m+2>>0]=o>>16;a[m+3>>0]=o>>24;m=f+4|0;o=j+4|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[m>>0]=o;a[m+1>>0]=o>>8;a[m+2>>0]=o>>16;a[m+3>>0]=o>>24;m=b[p>>1]|0;k=f+8|0;l=l+1|0;j=j+8|0}}case 3:{m=j;l=0;j=c[f+20>>2]|0;while(1){if((l|0)>=(m&65535|0)){n=k;break a}m=k;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;m=b[p>>1]|0;k=k+4|0;l=l+1|0;j=j+4|0}}default:{c[o>>2]=17549;c[o+4>>2]=123;rh(17528,o)}}while(0);if((q|0)!=(n-s|0))za(17594,17549,126,17619);if(!g)rf(h,r,q);else{s=zi(q)|0;g=Na()|0;f=i;i=i+((1*s|0)+15&-16)|0;rf(h,f,Ge(r,q,f,s)|0);ya(g|0)}i=t;return q|0}function Rb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=vf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((vf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Zg(m|0,l|0,-1,-1)|0;d=C;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;Ng(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Ng(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){Wc(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Wc(a,d,e,f,o);else fc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}fc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;fc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;fc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function Tb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(te(a,b,d)|0){b=Ug()|0;if((b|0)>=0){if((Id(b,1)|0)<0){ig(b)|0;b=-1;break}b:do if((Me(b,d,16)|0)<0){n=nh()|0;d=c[n>>2]|0;if((d|0)!=115){w=Yd(d)|0;c[e>>2]=d;c[e+4>>2]=w;Vg(15778,e);ig(b)|0;b=-1;break a}bb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=jf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}bb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=Yd(d)|0;c[t>>2]=d;c[t+4>>2]=C;Vg(15554,t);ig(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Vg(15686,u);ig(b)|0;e=23;break}c[r>>2]=4;do if((ze(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=Yd(d)|0;c[w>>2]=d;c[w+4>>2]=C;Vg(15642,w);ig(b)|0;break}}else{B=c[n>>2]|0;C=Yd(B)|0;c[v>>2]=B;c[v+4>>2]=C;Vg(15612,v);ig(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Id(b,0)|0)<0){ig(b)|0;b=-1;break}if((Se(b,120)|0)<0){ig(b)|0;b=-1}}}else b=-1;else{Vg(15434,x+24|0);b=-1}while(0);i=x;return b|0}function Ub(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;Xd(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;Xd(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=Yb(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=ac(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;se((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;se((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function Vb(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,sf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){se(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(Vb(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(nh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function Wb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Db(b,15838)|0))e=Ke(b,0,r)|0;else{if((Nf(16363,b)|0)==0?(Nf(16371,b)|0)==0:0){if(!(Nf(16380,b)|0)){c[g>>2]=b;rh(16724,g)}$b(b,o);if(Qe(o,15869)|0){c[f>>2]=b;rh(16387,f)}b=o+4112|0;g=cd(b,Bd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(kh(g,16434,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,hg(m,256,16441,j)|0,(kh(g,m,0,0)|0)==0):0){ig(g)|0;e=-1;break}j=o+6176|0;s=(a[(Ed(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?16453:16458;c[k+4>>2]=j;hg(m,256,16463,k)|0;bi(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=wh(j,40)|0;a[(wh(j,41)|0)>>0]=0;if((ne(s+1|0,16471,k,7)|0)!=6)rh(16473,h);f=(Bd(c[k+16>>2]|0)|0)<<8;f=Tb(b,(Bd(c[k+20>>2]|0)|0)+f|0)|0;th(l);if((f|0)<0){ig(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((dd(f,1e6)|0)>0){b=26;break}if((dd(g,0)|0)>0?(pc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Vg(16509,n);ig(g)|0;ig(f)|0;e=-1;break}else if((b|0)==24){ig(g)|0;ig(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}fd(c[2346]|0)|0;fd(c[2287]|0)|0;fd(c[2317]|0)|0;b=Sd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;Xd(b+20|0,o|0,10280)|0;f=b+4|0;if(Jg(f)|0){c[p>>2]=Yd(c[(nh()|0)>>2]|0)|0;rh(16574,p)}b=Ta(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=Yd(b)|0;c[q>>2]=b;c[q+4>>2]=s;rh(16678,q)}}}else{ig(g)|0;e=-1}while(0)}break}e=Oh(b,16359,0)|0}while(0);i=r;return e|0}function Xb(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Fg(d|0,m|0,52)|0;e=e&2047;j=Fg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Bg(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Bg(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Bg(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Bg(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Bg(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Bg(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Bg(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Bg(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Ng(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Bg(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Ng(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Bg(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Zg(d|0,f|0,0,-1048576)|0;d=C;e=Bg(e|0,0,52)|0;d=d|C;e=o|e}else{e=Fg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function Zb(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=3;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=ib[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=ib[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=ib[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=ib[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=ib[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Ac(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[235];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}kb[c[o>>2]&3](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function _b(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=ih(b)|0;c[t>>2]=q;c[v>>2]=Jh(q<<2)|0;rf(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=zi(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=Xi(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}rf(g,r,Ge(p,h-s|0,r,q)|0);u=u-o|0}x=Xi(g)|0;u=((x|0)<0)<<31>>31;Ib(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,1,4,x,u,g);Gh(v);C=u;i=w;return x|0}function $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Ed(b)|0)>>>0>4095){c[e>>2]=b;rh(15819,e)}xi(f,b)|0;oh(f)|0;b=Db(f,15838)|0;if(!b){a[d>>0]=a[15842]|0;a[d+1>>0]=a[15843]|0;a[d+2>>0]=a[15844]|0;a[d+3>>0]=a[15845]|0;a[d+4>>0]=a[15846]|0}else{a[b>>0]=0;sg(f)|0;cf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=wh(f,47)|0;if(g){ue(g,b,e,1);if(!((Ve(d,15842)|0)!=0?(Ve(d,15859)|0)!=0:0)){e=yd(g,19143,15865)|0;cf(d+6176|0,4096,e);Di(e)}a[g>>0]=0;if(!(Ve(d,15869)|0)){g=g+1|0;Dd(g,d+6176|0,Ed(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=wh(f,64)|0;if(!g){if(!((Ve(d,15842)|0)!=0?(Ve(d,15859)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Ve(d,15869)|0)){b=d+16|0;e=15873;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=15883;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=wh(f,58)|0;if(!b){e=d+16|0;cf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;cf(e,2048,f);f=d+2064|0;cf(f,2048,b+1|0);b=f}nd(e,e,Ed(e)|0);nd(b,b,Ed(b)|0);f=g+1|0}b=wh(f,58)|0;do if(!b){if(!(Ve(d,15842)|0)){h=d+6160|0;a[h>>0]=a[15901]|0;a[h+1>>0]=a[15902]|0;a[h+2>>0]=a[15903]|0}if(!(Ve(d,15859)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Ve(d,15869)|0)){h=d+6160|0;a[h>>0]=a[15904]|0;a[h+1>>0]=a[15905]|0;a[h+2>>0]=a[15906]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){cf(d+6160|0,16,e);break}else{c[h>>2]=e;rh(15907,h)}}while(0);cf(d+4112|0,2048,f);i=j;return}function ac(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[956+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+4>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+8>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+12>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+16>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+20>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+24>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+28>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[956+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function bc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ah(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ah(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Ah(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Ah(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Ka(6,p|0)|0}d=Ah(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ah(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ah(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function cc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Tg(512)|0;$b(b,s);h=Oa(16161)|0;p=(h|0)!=0;if(p){$b(h,q);Xd(r|0,q|0,10280)|0;h=Ae(r,b)|0}else{Xd(r|0,s|0,10280)|0;h=Ae(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=eh(b)|0;j=ii(b,59)|0;if((j|0)!=0?(Nf(15847,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;vg(k,16172,l);Di(b);c[m>>2]=f;vg(k,16183,m);if((Qe(s,15842)|0)==0?(Qe(15901,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Qe(s,15859)|0)==0?(Qe(15936,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;vg(k,16211,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;vg(k,16200,n)}b=c[t>>2]|0;Xd(r|0,s|0,10280)|0;fe(r,16225,b);if(p){Xd(r|0,q|0,10280)|0;fe(r,16239,b);k=c[t>>2]|0}else k=b;ci(k,16259);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;vg(k,16298,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;vg(k,16273,u);break}}while(0);if(g|0)ci(c[t>>2]|0,g);v=c[t>>2]|0;ci(v,16319);Je(h,c[v+4>>2]|0,c[v+12>>2]|0);th(t)}i=w;return h|0}function dc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function ec(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 fc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(pb[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((pb[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((pb[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((pb[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){td(b,p,e);Wc(a,b,d,g,h)}i=r;return}function gc(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=+k;l=+l;m=m|0;n=n|0;var o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+32|0;z=A+24|0;y=A;u=e>>>0>b>>>0?b:e;s=h;t=j;r=+(f>>>0);f=c[n>>2]|0;while(1){if(u>>>0<=d>>>0){v=19;break}do if(f){e=f+4|0;if((c[e>>2]|0)==(a|0)?(w=c[f+12>>2]|0,w>>>0>d>>>0):0){o=w;break}o=Sd(48)|0;c[o+4>>2]=a;if((c[e>>2]|0)==(a|0)?(x=c[f+12>>2]|0,(x+m|0)>>>0>d>>>0):0){c[o+8>>2]=x;q=x;e=o;f=o;v=11}else{e=o;f=o;v=9}}else{f=Sd(48)|0;c[f+4>>2]=a;e=f;v=9}while(0);if((v|0)==9){c[e+8>>2]=d;q=d;v=11}if((v|0)==11){v=0;o=q+m|0;c[e+12>>2]=o>>>0>b>>>0?b:o;g[e+20>>2]=s;g[e+24>>2]=t;c[e>>2]=c[n>>2];c[n>>2]=e;o=c[f+12>>2]|0}e=f+8|0;o=ch(d,u,c[e>>2]|0,o)|0;if((o|0)<1){v=13;break}p=+(o|0)/+(u-d|0);e=f+16|0;c[e>>2]=~~(r*p+ +((c[e>>2]|0)>>>0))>>>0;e=f+20|0;if(+g[e>>2]>h)g[e>>2]=s;e=f+24|0;if(+g[e>>2]<j)g[e>>2]=t;q=f+28|0;g[q>>2]=p*k+ +g[q>>2];q=f+32|0;g[q>>2]=p*l+ +g[q>>2];d=o+d|0}if((v|0)==13){m=c[e>>2]|0;A=c[f+12>>2]|0;c[y>>2]=d;c[y+4>>2]=u;c[y+8>>2]=m;c[y+12>>2]=A;c[y+16>>2]=a;c[y+20>>2]=b;Vg(14127,y);c[z>>2]=14111;c[z+4>>2]=419;rh(17528,z)}else if((v|0)==19){i=A;return}}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}lf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=Xi(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=cg(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=Zg(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Ig(2,12927,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Ig(2,12959,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Ig(2,12987,o);f=f+1|0}Ig(2,16024,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;tc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=Xi(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=Xi(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=13053;rh(12991,s)}else if((f|0)==14){Ec(b,a,0,d+-2|0,e);i=t;return}}function ic(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=cg(f|0,b|0,10,0)|0;f=C;e=Zg(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Zg(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Ng(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function jc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=Zg(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;rf(o,z,1);rf(o,B,1);rf(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;se(r|0,0,m|0)|0;kb[l&3](G,r);rf(o,r,m);rf(o,A,8);G=A;G=Zg(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;Sg(o,0,x);p=p+1|0}k=t}if((d|0)==9)za(14573,14556,491,14600);else if((d|0)==13){i=E;return w|0}return 0}function kc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;rf(n,B,1);rf(n,D,1);rf(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=Zg(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=cg(o|0,p|0,f|0,x|0)|0;p=d+p|0;se(v|0,0,k|0)|0;kb[j&3](p,v);rf(n,v,k);rf(n,mb[l&3](p)|0,m);p=Zg(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;Sg(n,0,y);r=Zg(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=Ng(u|0,t|0,p|0,0)|0;q=C;p=Zg(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)za(14616,14556,529,14632);else if((o|0)==11){i=E;return}}function lc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function mc(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[5945]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ah(fb(146,n|0)|0)|0}else{ua(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ah(fb(146,m|0)|0)|0;la(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 nc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Fc(23398,f<<24>>24,4)|0){e=qb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Ra(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5946]|0))c[e+76>>2]=-1;Ya(23808);f=c[5951]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5951]=e;Sa(23808)}}else{c[(nh()|0)>>2]=22;e=0}i=o;return e|0}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;q=r;p=r+8|0;c[p>>2]=0;a:while(1){if(!a){a=15;break}n=a+36|0;o=c[b+(c[n>>2]<<4)+12>>2]|0;b:do switch(c[a+16>>2]|0){case 1:{f=a+20|0;while(1){f=c[f>>2]|0;if(!f)break b;Uf(c[n>>2]|0,o,c[f+4>>2]|0,c[f+8>>2]|0,+g[f+12>>2],d,p)}}case 2:{f=a+32|0;h=a+28|0;j=0;k=c[a+20>>2]|0;while(1){if((j|0)>=(e[f>>1]|0|0))break b;m=c[k>>2]|0;Uf(c[n>>2]|0,o,m,(c[h>>2]|0)+m|0,+g[k+4>>2],d,p);j=j+1|0;k=k+8|0}}case 3:{f=a+32|0;h=a+28|0;j=a+24|0;k=0;l=c[a+20>>2]|0;m=c[a+8>>2]|0;while(1){if((k|0)>=(e[f>>1]|0|0))break b;Uf(c[n>>2]|0,o,m,(c[h>>2]|0)+m|0,+g[l>>2],d,p);k=k+1|0;l=l+4|0;m=(c[j>>2]|0)+m|0}}default:{a=13;break a}}while(0);a=c[a>>2]|0}if((a|0)==13){c[q>>2]=17549;c[q+4>>2]=866;rh(17528,q)}else if((a|0)==15){ag(p);i=r;return c[p>>2]|0}return 0}function pc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Tg(4096)|0;while(1){if((dd(b,1e6)|0)<=0){j=3;break}g=Pf(b,m,4096)|0;if(g){Le(c[o>>2]|0,m,g);if(!(zg(c[(c[o>>2]|0)+4>>2]|0,16024)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Ed(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Ed(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Vg(15980,n);g=0}else if((j|0)==18){g=Bd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Vg(16026,p);g=0;break}if(!e)th(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function qc(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+16|0;m=n;do if(a){d=0;b=0;k=a;a=0;a:while(1){if(!k){f=15;break}b:do switch(c[k+16>>2]|0){case 1:{g=k+20|0;f=1073741823;while(1){g=c[g>>2]|0;if(!g)break b;j=(c[g+8>>2]|0)-(c[g+4>>2]|0)|0;f=(f|0)>(j|0)?j:f}}case 2:{g=e[k+32>>1]|0;h=1;j=c[k+20>>2]|0;f=1073741823;while(1){if((h|0)>=(g|0))break;p=j+8|0;o=(c[p>>2]|0)-(c[j>>2]|0)|0;h=h+1|0;j=p;f=f>>>0>o>>>0?o:f}if((f|0)==1073741823)f=c[k+28>>2]|0;break}case 3:{f=c[k+24>>2]|0;break}default:{f=13;break a}}while(0);p=Zg(f|0,((f|0)<0)<<31>>31|0,d|0,b|0)|0;d=p;b=C;k=c[k>>2]|0;a=a+1|0}if((f|0)==13){c[m>>2]=17549;c[m+4>>2]=754;rh(17528,m)}else if((f|0)==15){l=Zg(a>>>1|0,0,d|0,b|0)|0;l=Kh(l|0,C|0,a|0,0)|0;break}}else l=1;while(0);i=n;return l|0}function rc(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;q=i;i=i+16|0;o=q;h=q+4|0;n=c[b+24>>2]|0;l=Jh(n<<2)|0;Ie(h,b);g=l;j=md(h)|0;k=0;while(1){if(!j)break;m=j+4|0;c[g>>2]=c[m>>2];m=Ed(c[m>>2]|0)|0;g=g+4|0;j=md(h)|0;k=m>>>0>k>>>0?m:k}Sb(l,n,4,5);m=Jh(n<<4)|0;g=0;while(1){if((g|0)>=(n|0)){h=0;g=24456;l=a;break}j=l+(g<<2)|0;c[m+(g<<4)+4>>2]=c[j>>2];c[m+(g<<4)+8>>2]=g;c[m+(g<<4)+12>>2]=oi(b,c[j>>2]|0)|0;g=g+1|0}while(1){if(!l){p=18;break}j=c[l+4>>2]|0;if(!(Qe(j,g)|0))c[l+36>>2]=h;else{g=0;while(1){if((g|0)>=(n|0))break;if(!(Qe(j,c[m+(g<<4)+4>>2]|0)|0)){p=11;break}g=g+1|0}if((p|0)==11){p=0;c[l+36>>2]=g}if((g|0)==(n|0)){p=14;break}h=c[l+36>>2]|0;g=j}l=c[l>>2]|0}if((p|0)==14){c[o>>2]=j;rh(17486,o)}else if((p|0)==18){c[d>>2]=n;c[e>>2]=m;c[f>>2]=k;i=q;return}}function sc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;rf(l,n,4);rf(l,p,4);rf(l,r,4);rf(l,s,4);rf(l,o,8);rf(l,m,4);rf(l,m,4);f=Xi(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=jc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=Xi(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=14556;c[q+4>>2]=572;rh(17528,q)}else if((f|0)==8){kc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function tc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=ih(c[k>>2]|0)|0;rf(m,n,1);rf(m,o,1);rf(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;rf(m,k+12|0,4);rf(m,k+16|0,4);rf(m,k+20|0,4);rf(m,k+24|0,4);rf(m,q,8);j=q;j=Zg(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;Sg(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=tc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function uc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23828:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9500+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(nh()|0)>>2]=84;f=-1}i=l;return f|0}function vc(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Va(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Pf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Ng(1,0,g|0,e|0)|0;b=Zg(b|0,C|0,d|0,h|0)|0}r=(Of(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)qf(16622,l);if((b|0)==-1)qf(16653,o);ig(c[m>>2]|0)|0;ig(c[a+12>>2]|0)|0;ig(c[n>>2]|0)|0;i=q;return 0}function xc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){sd(b);break}if((ig(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];rh(19938,k)}}else{if(!(c[a+20>>2]&2)){if(dg(d)|0){c[f>>2]=c[a+12>>2];rh(19907,f)}}else{fd(d)|0;if(dg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];rh(19877,e)}}if((ge(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];rh(19938,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((gb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)yf(19560,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;rh(19968,l)}if(b|0)za(20009,19213,435,20027);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;rh(20043,m)}i=n;return d>>>8&255|0}function zc(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+120|0;r=s+80|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((tb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=fj(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=tb(b,d,o,q,r)|0;if(h){ib[c[b+36>>2]&7](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=tb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)ej(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Ac(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=ac(0,0,0)|0;else d=Yb(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Hf(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;se(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[188+(h*12|0)+2>>1];c[a+140>>2]=e[188+(h*12|0)>>1];c[a+144>>2]=e[188+(h*12|0)+4>>1];c[a+124>>2]=e[188+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=eh(24456)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Sd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;hg(h,4,12364,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Tg(512)|0;c[h>>2]=f;ci(f,b);ci(f,15838);d=b+16|0;if(a[d>>0]|0){d=Bc(d)|0;ci(f,d);Di(d);d=b+2064|0;if(a[d>>0]|0){ci(f,15932);d=Bc(d)|0;ci(f,d);Di(d)}ci(f,15934)}ci(f,b+4112|0);if(!((Qe(b,15869)|0)==0?!(Qe(15904,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Qe(b,15842)|0)==0?(Qe(15901,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Qe(b,15859)|0)==0?(Qe(15936,d)|0)==0:0)break;ci(f,15932);ci(f,d)}while(0);ci(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,vg(f,15940,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;vg(f,15957,k)}k=rg(h)|0;i=l;return k|0}function Dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Jb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}ig(a)|0;if((h|0)>0)Di(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Nf(16363,f)|0)==0?(Nf(16371,f)|0)==0:0){g=11;break}f=Zd(g,f)|0;c[j>>2]=f;a=Wb(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Vg(17373,k);g=14}else if((g|0)==11){c[l>>2]=f;Vg(17427,l);g=14}else if((g|0)==13){c[m>>2]=f;Vg(17457,m);g=14}if((g|0)==14)if((b|0)>0){Di(f);b=0}else b=0;i=n;return b|0}function Ec(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=ih(c[g>>2]|0)|0;rf(j,k,1);rf(j,l,1);rf(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;rf(j,g+12|0,4);rf(j,g+16|0,4);rf(j,g+20|0,4);rf(j,g+24|0,4);f=g+32|0;rf(j,f,8);h=g+40|0;f=Ng(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;rf(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;Sg(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Ec(d,g,k,h,j)}}while(0);i=o;return}function Fc(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|0)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?b:0)|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,l=0,m=0;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ah(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(nh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ah(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;bc(e,2,j)|0}if(b&2048){c[h>>2]=bc(e,3,k)|0|2048;bc(e,4,h)|0}}}}while(0);i=l;return e|0}function Hc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5945]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ah(eb(145,h|0)|0)|0}else{ua(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ah(eb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Jc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=ih(a)|0;c[j>>2]=h;c[k>>2]=Jh(h<<2)|0;rf(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=Xi(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;rf(f,e+4|0,4);rf(f,e+8|0,4);rf(f,e+12|0,4);rf(f,e+16|0,4);Qg(f,+g[e+20>>2]);Qg(f,+g[e+24>>2]);Qg(f,+g[e+28>>2]);Qg(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=Xi(f)|0;e=((h|0)<0)<<31>>31;Ib(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,1,4,h,e,f);Gh(k)}else{h=_b(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=Wb(a,0)|0;if((d|0)<0){c[e>>2]=a;Vg(17457,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Nf(16363,a)|0)==0?(Nf(16371,a)|0)==0:0){e=0;g=7}else if(!(Dc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=eh(a)|0;nd(a,b,Ed(a)|0);do if(!(zg(b,17474)|0)){if(zg(b,17478)|0){Di(b);g=12;break}f=(zg(b,17481)|0)==0;Di(b);if(f)b=Qf(a,1,d)|0;else g=12}else{Di(b);g=12}while(0);if((g|0)==12)b=kg(a,1,d)|0;if(e)Di(e)}}i=h;return b|0}function Lc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)za(15219,15271,388,15283);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Jh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)ag(b);d=d+1|0}Di(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;kb[c[b>>2]&3](c[e>>2]|0,d);d=b;b=c[f>>2]|0}kb[c[d>>2]&3](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Sd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Tg(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){ci(e,19139);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){ci(e,19143);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}ci(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=rg(j)|0;if(!(c[a>>2]|0))rh(19145,k);if(!(b&8))e=0;else{Cg(l,me(180,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Cg(l,me(d,l)|0);e=e+1|0}i=m;return l|0}function Oc(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(!(Ne(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=ib[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((ib[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Xd(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 Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Qc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Ed(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Sd(16)|0;else l=Ze(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=di(d,e)|0;else{k=Ze(h,e+1|0)|0;c[l+4>>2]=k;Xd(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Lc(b,dh(m)|0);return l|0}function Sc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=kj()|0;$i(23700)|0;if((c[5932]|0)!=0&(a|0)==(c[5933]|0)){Of(2,12369,61)|0;Ma(1)}Zi(23700)|0;$i(23736)|0;$i(23700)|0;c[5933]=a;c[5932]=1;Zi(23700)|0;if(!(c[5941]|0))c[5941]=ce(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;hg(d,64,15957,b)|0;a=Be(c[5941]|0,d)|0;if(!a){a=Sd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Sh(c[5941]|0,d,a)|0}$i(23700)|0;c[5932]=0;Zi(23700)|0;Zi(23736)|0;i=e;return c[a+8>>2]|0}function Tc(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;m=i;i=i+16|0;l=m;c[l>>2]=0;k=0;h=24456;j=0;while(1){if(!a)break;g=c[a+4>>2]|0;if(!(Qe(g,h)|0))g=h;else{$g(l,g);h=Ed(g)|0;k=k+1|0;j=(h|0)>(j|0)?h:j}c[a+36>>2]=k+-1;h=g;a=c[a>>2]|0}ag(l);g=Jh(k<<4)|0;h=0;a=l;while(1){a=c[a>>2]|0;if((h|0)>=(k|0))break;n=c[a+4>>2]|0;c[g+(h<<4)+4>>2]=n;c[g+(h<<4)+8>>2]=h;c[g+(h<<4)+12>>2]=oi(b,n)|0;h=h+1|0}Dg(l);c[d>>2]=k;c[e>>2]=g;c[f>>2]=j;i=m;return}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Vc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=tf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Wc(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((pb[d&15](k,j)|0)>-1?(pb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((pb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);td(b,o,e);i=p;return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9704;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(nh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=zc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Qe(b,13392)|0){if(!(Qe(b,13398)|0)){f=c[2287]|0;break}e=Ld(b,d)|0;if(!e){a:do if(!d)e=24456;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=13426;break a}case 119:{e=13416;break a}default:{e=e<<24>>24==97?13405:24456;break a}}}while(0);d=Yd(c[(nh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;rh(13435,g)}else f=e}else f=c[2346]|0;while(0);i=h;return f|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ee(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=ab(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Qi(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;Wi(f);break}else{b=Ua(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Vg(13140,f);b=0;break}}else{Pe(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function _c(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Sd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[18750+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[18750+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[18750+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[18750+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function $c(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18934+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18934+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ca(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))yf(19286,k);l=yh()|0;if(fg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;yf(19309,f)}if(b|0?(Df(b,0)|0)<0:0)yf(19336,g);if((d|0)!=1?(Df(d,1)|0)<0:0)yf(19356,h);if((e|0)!=2?(Df(e,2)|0)<0:0)yf(19377,j);Eg();i=k;return}function bd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(ui(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=cg(c|0,d|0,10,0)|0;b=b+1|0;c=Ng(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Ng(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function cd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=Tb(a,b)|0;if((a|0)<0)a=-1;else{if((dd(a,1e6)|0)>0)kh(a,24456,0,0)|0;c[g>>2]=0;c[h>>2]=d;hg(f,256,16069,h)|0;do if(kh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,hg(f,256,16079,j)|0,(kh(a,f,0,0)|0)==0):0){ig(a)|0;a=-1;break}if(!(kh(a,16089,0,0)|0)){ig(a)|0;a=-1}}else{ig(a)|0;a=-1}while(0)}i=k;return a|0}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=jf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(nh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=Yd(a)|0;Vg(15962,m)}i=n;return a|0}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Ke(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Sd(5)|0;c[g>>2]=f;if((Pf(e,f,4)|0)<4)Gh(g);else a[f+4>>0]=0;ig(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Od(e)|0,Gh(h),(g|0)!=0):0){h=Tf(qe(b)|0,33,b,0)|0;e=Qf(b,d,Oi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function fd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Nd(a)|0;break}d=(fj(a)|0)==0;b=Nd(a)|0;if(!d)ej(a)}else{if(!(c[2316]|0))b=0;else b=fd(c[2316]|0)|0;Ya(23808);a=c[5951]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=fj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Nd(a)|0|b;if(d|0)ej(a);a=c[a+56>>2]|0}while((a|0)!=0);Sa(23808)}while(0);return b|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;d=0;e=f;while(1){if(!e){g=d;break}d=d+1|0;e=c[e>>2]|0}if((g|0)>1){h=Vd(g<<2)|0;d=f;e=0;while(1){if(!d)break;c[h+(e<<2)>>2]=d;d=c[d>>2]|0;e=e+1|0}Sb(h,g,4,b);d=0;e=0;while(1){if((d|0)==(g|0))break;b=h+(d<<2)|0;c[c[b>>2]>>2]=e;d=d+1|0;e=c[b>>2]|0}Di(h);d=0;while(1){if(!e)break;g=c[e>>2]|0;c[e>>2]=d;h=e;e=g;d=h}c[a>>2]=d}return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=wf(e,0)|0;c[n>>2]=g;Kf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=wf(d,e)|0;else if(!f){e=Ke(d,0,h)|0;if((e|0)<0){c[k>>2]=d;yf(19846,k)}else j=e}else j=0;c[m>>2]=j;e=Xe(a,b,j,g)|0;xf(m);if(!l)xf(n);i=o;return e|0}function id(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[(nh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=yh()|0;c[g>>2]=f;hg(a,256,18862,g)|0;d=He(a,1)|0;c[g>>2]=d;if(!d){j=c[2317]|0;c[b>>2]=a;ug(j,18899,b)|0;a=j}else{while(1){if(!(Gf(d,e)|0))break;a=c[e>>2]|0;if(Db(a,18878)|0){j=5;break}}if((j|0)==5){j=c[2317]|0;c[h>>2]=f;c[h+4>>2]=a;ug(j,18885,h)|0}sd(g);a=c[2317]|0}fd(a)|0;i=k;return}function kd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Vd(k)|0;Xd(j|0,d|0,e|0)|0;Di(c);d=j;e=k;c=j}k=xb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=eh(d)|0;Di(c);c=l}i=h;return c|0}function ld(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function md(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;do if(b){g=c[b>>2]|0;c[f>>2]=g;if(!g){g=a+4|0;e=c[a>>2]|0;d=c[e+16>>2]|0;e=e+8|0;a=c[g>>2]|0;while(1){a=a+1|0;if((a|0)>=(d|0)){d=5;break}if(c[(c[e>>2]|0)+(a<<2)>>2]|0){d=7;break}}if((d|0)==5){c[g>>2]=a;break}else if((d|0)==7){c[g>>2]=a;c[f>>2]=c[(c[e>>2]|0)+(a<<2)>>2];break}}}else b=0;while(0);return b|0}function nd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((xg(f,12360,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function od(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;se(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){Oc(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;Oc(h,f,a)|0}while(0);i=j;return}function pd(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(!(Ne(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((ib[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function qd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){wg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Xc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;wg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function rd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(fj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=pd(d,b)|0;ej(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=pd(d,b)|0}while(0);return e|0}function sd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(uh(c[2346]|0)|0):0){ig(c[d>>2]|0)|0;Di(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Ob(d)}else Wg(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)jb[d&3](f);Di(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Hd(g);Gh(b)}return}function td(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;Xd(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;Xd(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function ud(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=Ng(h^a|0,g^b|0,h|0,g|0)|0;b=C;Rb(a,b,Ng(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Ng(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function vd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Pf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;yf(13495,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;rh(13520,g)}else if((d|0)==8){i=h;return}}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(ui(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(ui(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ed(b)|0;h=Ed(c)|0;d=0;e=Db(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Db(e+g|0,b)|0}f=Ed(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Sd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Db(a,b)|0;d=f;while(1){if(!a)break;xi(d,e)|0;j=a+g|0;i=d+(a-e)|0;xi(i,c)|0;e=j;a=Db(j,b)|0;d=i+h|0}xi(d,e)|0;return f|0}function zd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Bh(f,-1,20067,56)|0;if(a|0){f=a;i=g;return f|0}a=rb(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Mc(f)|0;i=g;return f|0}else{Mc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Ad(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Bg(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Bd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(ui(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(ib[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((ib[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Dd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((xg(f,12360,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ed(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 Fd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Fg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Fd(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 Gd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Be(c[e>>2]|0,d)|0)){Sh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;ug(g,12627,h)|0}}}while(0);i=j;return}function Hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;si(d);d=g}e=e+1|0}}else{ph(b);b=d+8|0}while(0);Di(c[b>>2]|0);Gh(a)}return}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=bc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((bc(a,4,f)|0)<0){c[g>>2]=Yd(c[(nh()|0)>>2]|0)|0;Vg(15523,g);d=-1}else d=0}else{c[e>>2]=Yd(c[(nh()|0)>>2]|0)|0;Vg(15492,e);d=-1}i=h;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;Xg(e,b,16);c[2]=pe(12294,c[2]|0)|0;c[3]=pe(12304,c[3]|0)|0;c[5921]=Ji(12317)|0;c[5922]=(Ji(12322)|0)==0&1;c[5923]=Ji(12326)|0;c[5924]=Ji(12345)|0;if((c[e>>2]|0)!=4)yg();Kg(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);if((gj()|0)>1)jd();i=d;return 0}function Kd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18942+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18950+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18950+f>>0]}while(0);return}function Ld(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Fc(23398,a[d>>0]|0,4)|0){h=df(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ah(_a(5,e|0)|0)|0;if((e|0)>=0){b=nc(e,d)|0;if(!b){c[f>>2]=e;Ka(6,f|0)|0;b=0}}else b=0}else{c[(nh()|0)>>2]=22;b=0}i=g;return b|0}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;rh(14306,d)}d=Ai(a,b)|0;if(!d){g=c[(nh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;rh(14370,e)}else{i=f;return d|0}return 0}function Nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(ib[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)ib[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Nf(12489,a)|0))if(!(Nf(12492,a)|0))if(!(Nf(12496,a)|0))if(!(Nf(12499,a)|0))a=0;else{a=12504;e=5}else{a=12508;e=5}else{a=12512;e=5}else{a=12514;e=5}if((e|0)==5){c[d>>2]=a;hg(b,20,12517,d)|0;a=eh(b)|0}i=f;return a|0}function Pd(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=Ng(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Ng((Rb(h,g,Ng(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;zf(h,0);e=+sb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Rd(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=Rf(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Kh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Sd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;rh(14442,b)}b=Ui(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(14495,d)}else{se(b|0,0,a|0)|0;i=e;return b|0}return 0}function Td(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)ib[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Ud(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=13296;break}case 2:{a=13275;break}case -1:{a=13264;break}case -2:{a=13248;break}case -3:{a=13248;break}case -4:{a=13233;break}case -5:{a=13218;break}case -6:{a=13199;break}case 0:{a=0;break}default:{c[b>>2]=a;hg(24328,128,13180,b)|0;a=24328}}i=d;return a|0}function Vd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;rh(14182,b)}b=Ui(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(14240,d)}else{i=e;return b|0}return 0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=qb(b)|0;return a|0}if(b>>>0>4294967231){c[(nh()|0)>>2]=12;a=0;return a|0}d=Lb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=qb(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;Xd(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;yb(a);a=d;return a|0}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ga(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 Yd(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21466+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21554;e=5;break}}if((e|0)==2)if(!c)b=21554;else{b=21554;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 Zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;$b(b,g);$b(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){cf(e,2048,d);cf(f+2064|0,2048,g+2064|0)}g=Cc(f)|0;i=h;return g|0}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Gf(b,d)|0))break;if((Nf(12816,c[d>>2]|0)|0)==0?(Nf(12824,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Ig(2,12867,f)}if((g|0)==5){c[e>>2]=c[d>>2];Ig(2,12830,e);a[b+48>>0]=1}i=h;return}function $d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ae(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;rh(13068,k)}else{c[j>>2]=e;Ih(d,j)}return 0}function be(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;m=o+4|0;l=ve(b)|0;b=lg(0)|0;c[m>>2]=b;b=vb(a,f,l,e,b)|0;if(!b){c[n>>2]=a;rh(18730,n)}else{zb(b,l,d,e,g,h,j,k);ph(m);i=o;return}}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)za(15219,15271,357,15326);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=lg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Jh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function de(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;zf(j,0);e=Eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;i=i+16|0;e=f;c[e>>2]=0;while(1){if(!a)break;h=c[a+4>>2]|0;gc(h,c[b+(h<<4)+12>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,+g[a+20>>2],+g[a+24>>2],+g[a+28>>2],+g[a+32>>2],d,e);a=c[a>>2]|0}ag(e);i=f;return c[e>>2]|0}function fe(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;hg(h,256,16140,j)|0;j=_c(h,Ed(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;vg(e,16146,k);Gh(g)}i=l;return}function ge(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ya(23808);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5951]|0)==(a|0))c[5951]=b;Sa(23808)}b=fd(a)|0;b=mb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)yb(d);if(!e)yb(a);return b|0}function he(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=ff(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=13697;else e=(d|0)==2?13656:13665;else e=13688;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;yf(13706,g);return 0}function ie(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2287]|0;if((c[f+76>>2]|0)>-1)g=fj(f)|0;else g=0;do if((mi(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=(pd(f,10)|0)<0}while(0);if(g|0)ej(f);return d<<31>>31|0}function je(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Di(e);f=f+1|0}Di(b);Di(i);i=h}Gh(g+12|0);Gh(g+28|0);Gh(a)}return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Bi(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;rh(12768,g);return +(0.0)}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;rh(12720,f)}j=Bd(d)|0;i=g;return j|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Sd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=eh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Ic(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Pc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2287]|0);if((b|0)==(c[2346]|0)|d)if(d){fd(b)|0;b=1}else b=1;else if(!(ge(b)|0))b=1;else{qf(13751,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=gg(b)|0;do if((f|0)!=0?(Qe(f,15069)|0)!=0:0){d=Nh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;rh(14792,h)}else e=d;while(0);i=j;return e|0}function qe(a){a=a|0;var b=0;b=eh(a)|0;if(!(((Nf(16363,a)|0)==0?(Nf(16371,a)|0)==0:0)?!(Nf(16380,a)|0):0))nd(a,b,Ed(a)|0);if(!(zg(b,17474)|0))if(!(zg(b,17478)|0))if(!(zg(b,17481)|0)){a=(zg(b,12529)|0)==0;a=a?0:72}else a=108;else a=96;else a=84;Di(b);return a|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Jh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;rh(15190,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function se(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 te(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=wi(e&65535)|0;if(d){h=Ri(Zc(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=ii(b,59)|0;if((g|0?Nf(15847,g)|0:0)?(i=(wh(g,61)|0)+1|0,h=wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=bd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=bd(b)|0;c[e>>2]=f}}return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ce(0,1)|0;b=qh(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(_f(b,f,2)|0))break;b=c[f>>2]|0;_h(d,b,hh(c[a>>2]|0)|0)|0;b=c[e>>2]|0}sd(e);i=g;return d|0}function we(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 xe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ah(pa(102,h|0)|0)|0;i=g;return e|0}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Tg(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){ci(e,19143);b=c[d>>2]|0}ci(e,b);f=f+1|0}g=rg(g)|0;i=h;return g|0}
-function ze(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ah(pa(102,h|0)|0)|0;i=g;return e|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Qe(a,15842)|0)if(!(Qe(a,15859)|0)){d=Rg(a+4112|0,Bd(a+6160|0)|0)|0;break}else{c[e>>2]=b;rh(16098,e)}else d=Tb(a+4112|0,Bd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Qe(c[e+4>>2]|0,d)|0)!=0);return e|0}function Ce(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((Ah(cb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function De(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;if(((a[e>>0]|0)+-48|0)>>>0<10){f=hh(e)|0;i=g;return f|0}else{h=c[b+28>>2]|0;g=c[b+4>>2]|0;c[f>>2]=d;c[f+4>>2]=e;c[f+8>>2]=h;c[f+12>>2]=g;rh(17818,f)}return 0}function Ee(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Fe(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Ed(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(ui(d<<24>>24)|0)!=0;d=d&1}return d|0}function Ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=zd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=Ud(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;rh(13312,g)}return 0}function He(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Qe(a,13392)|0){if(qe(a)|0){c=ed(a,b)|0;break}c=Ke(a,0,c)|0;if((c|0)==-1)c=0;else c=Qf(a,b,c)|0}else c=ji(b)|0;while(0);i=d;return c|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=b+8|0;e=c[b+16>>2]|0;d=0;while(1){if((d|0)>=(e|0)){e=0;break}if(c[(c[f>>2]|0)+(d<<2)>>2]|0){g=5;break}d=d+1|0}if((g|0)==5)e=c[(c[f>>2]|0)+(d<<2)>>2]|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;return}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Of(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)yf(13562,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;rh(13588,e)}}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ah(_a(5,f|0)|0)|0;i=e;return d|0}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);wg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;Xd(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ah(pa(102,f|0)|0)|0;i=e;return d|0}function Ne(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 Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Zg(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Je(b,d,e);return}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((Vb(2,a,d)|0)<0){b=Yd(c[(nh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Vg(13099,e);a=0}else{c[b>>2]=Qi(c[d>>2]|0)|0;a=1}i=f;return a|0}function Qe(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 Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Zg(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;vd(b,d,e);return}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((xe(a,1,20,d,8)|0)>=0)if((xe(a,1,21,d,8)|0)<0){Vg(15387,e);a=-1}else a=0;else{Vg(15337,f);a=-1}i=f;return a|0}function Te(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,Ra(54,f|0)|0):0)a[b+75>>0]=-1;f=mc(b,d,e)|0;i=g;return f|0}function Ue(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Kb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=xd(f,d,e)|0;if(f|0)break}i=j;return f|0}function Ve(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=gi(a[e>>0]|0)|0;c=c<<24>>24;b=(gi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function We(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 Xe(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;Kf(b);a=Nc(a,b)|0;if(!(b&1)){b=Vf(a+16|0)|0;c[f>>2]=b;Pb(a,b,d,e,0,0);xf(f)}else Ff(a,d,e,0,0);i=g;return a|0}function Ye(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=ub(e,b,d)|0;i=g;return h|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=re(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function _e(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=ib[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Xc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;rh(13765,g)}return 0}function af(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[b>>2]|0;a=Qe(c[e+4>>2]|0,c[d+4>>2]|0)|0;if(!a){b=c[e+8>>2]|0;a=c[d+8>>2]|0;if((b|0)==(a|0))a=(c[e+12>>2]|0)-(c[d+12>>2]|0)|0;else a=b-a|0}return a|0}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Fc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;Xd(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Ed(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;rh(13346,f)}else{xi(a,d)|0;i=g;return}}function df(b){b=b|0;var c=0,d=0,e=0;d=(wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wh(b,120)|0)==0;d=e?d:d|128;b=(wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(12680,e)}}function ff(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ah(cb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function gf(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=(fj(e)|0)==0;a=Oc(a,f,e)|0;if(!g)ej(e)}else a=Oc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function hf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2287]|0;else{ie(12431)|0;ie(12456)|0;d=c[2287]|0;zc(d,a,b)|0;rd(10,d)|0;fd(d)|0}fd(d)|0;d=c[2317]|0;zc(d,a,b)|0;rd(10,d)|0;fd(d)|0}return}function jf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ah(db(142,h|0)|0)|0;i=g;return d|0}function kf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)lf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function mf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Vd(h)|0;a=a+136|0;bg(a,b,d+64|0,0)|0;Re(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=He(a,b)|0;if(!b){e=Yd(c[(nh()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;rh(12605,d)}else{i=e;return b|0}return 0}function of(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Gg(e)|0,(a[d>>0]|0)!=0):0){e=Ef(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function pf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=Yd(c[(nh()|0)>>2]|0)|0;c[g+4>>2]=a;tg(f,12483,g)|0;Yg(f,e);i=d;return}function rf(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?(gf(b,d,1,a)|0)!=1:0){a=Yd(dg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;rh(13465,e)}i=f;return}function sf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Xd(b,c,d)|0;return b|0}function tf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Td(a)|0)!=0:0)b=-1;else if((ib[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;rh(19503,e)}}function vf(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 wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Ke(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;yf(19814,d)}else{i=e;return b|0}return 0}function xf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((ig(b)|0)<0){c[d>>2]=b;yf(19538,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=Yd(c[(nh()|0)>>2]|0)|0;c[f+4>>2]=a;tg(e,12483,f)|0;Ih(e,d)}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((ig(b)|0)<0)yf(13738,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;b=c[e+4>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0))a=(c[e+8>>2]|0)-(c[a+8>>2]|0)|0;else a=b-d|0;return a|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Rh(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else za(12549,12571,352,12587)}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=qa(63,e|0)|0}while((d|0)==-16);e=Ah(d)|0;i=f;return e|0}function Ef(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(ui(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Ff(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[a+16>>2]=Vf(h)|0;Pb(a,b,c[h>>2]|0,d,e,f);xf(h);i=g;return}function Gf(b,d){b=b|0;d=d|0;a:while(1){if(!(Kb(b,d,0)|0)){b=0;break}switch(a[(Gg(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Hf(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=308;c[a+2852>>2]=a+2440;c[a+2860>>2]=444;c[a+2864>>2]=a+2684;c[a+2872>>2]=584;b[a+5816>>1]=0;c[a+5820>>2]=0;xc(a);return}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Xd(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Pf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Kf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{rh(19010,c);break}default:{}}if((a&18|0)==16)rh(19076,b);else{i=c;return}}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;a=Be(a,b)|0;if(!a){c[d>>2]=b;rh(15294,d)}else{i=e;return c[a+8>>2]|0}return 0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(fj(a)|0)==0;b=Cd(a,b,d)|0;if(!e)ej(a)}else b=Cd(a,b,d)|0;return b|0}function Nf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah($a(4,f|0)|0)|0;i=e;return a|0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(Wa(3,f|0)|0)|0;i=e;return a|0}function Qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Sd(104)|0;c[f+4>>2]=eh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Sd(65537)|0;return f|0}function Rf(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;Rb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Xe(g,b,d,e)|0;i=f;return e|0}function Tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=hd(g,b,d,e)|0;i=f;return e|0}function Uf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0;i=d-c|0;h=+(i|0)*e;gc(a,b,c,d,i,e,e,h,h*e,f,g);return}function Vf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Jg(b)|0)<0)yf(19175,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Wf(b){b=b|0;var c=0,d=0;c=Ed(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(ui(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+36>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;if((c[30]|0)>=(a|0)){a=c[5942]|0;if(!a){a=c[2317]|0;c[5942]=a}zc(a,b,d)|0;fd(c[5942]|0)|0}return}function _f(a,b,c){a=a|0;b=b|0;c=c|0;b=Ue(a,b,c)|0;if(b)if((b|0)<(c|0)){ef(a,c,b);b=1}else b=1;else b=0;return b|0}function $f(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return he(b,d,e)|0}function cg(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=kf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function dg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(fj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)ej(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function eg(a){a=a|0;var b=0,d=0,e=0;b=0;d=0;while(1){if(!a)break;e=Zg(b|0,d|0,32,0)|0;b=e;d=C;a=c[a>>2]|0}C=d;return b|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ah(Qa(57,e|0)|0)|0;i=d;return a|0}function gg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5943]|0;if(!b)rh(15158,d);else{a=ah(b,a)|0;i=d;return a|0}return 0}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=$e(a,b,d,g)|0;i=f;return e|0}function ig(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ka(6,d|0)|0;a=Ah((a|0)==-4?-115:a)|0;i=b;return a|0}function jg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Qe(d,a)|0))break;b=b+8|0}return b|0}function kg(a,b,d){a=a|0;b=b|0;d=d|0;d=Sf(qe(a)|0,33,d,2)|0;b=Qf(a,b,Oi(d)|0)|0;c[b+56>>2]=d;return b|0}function lg(a){a=a|0;var b=0;b=Sd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;re(b,a)|0;return b|0}function mg(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=Ah(Ka(6,d|0)|0)|0;i=b;return a|0}function ng(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]}function og(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return lb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function qg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Sd(d+1|0)|0;c=(c|0)<(d|0)?c:d;Xd(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function rg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)za(18815,18826,40,18842);else{b=c[b+4>>2]|0;Gh(a);return b|0}return 0}function sg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=hi(c<<24>>24)|0;d=d+1|0}return b|0}function tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Vh(a,b,f)|0;i=e;return d|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=zc(a,b,f)|0;i=e;return d|0}function vg(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;qd(a,b,f);i=e;return}function wg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Rh(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ye(a,b,f)|0;i=e;return d|0}function yg(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=4;c[a+4>>2]=d;c[a+8>>2]=b;rh(11120,a)}function zg(a,b){a=a|0;b=b|0;var c=0;c=Ed(a)|0;c=c-(Ed(b)|0)|0;if((c|0)<0)c=0;else c=(Qe(a+c|0,b)|0)==0&1;return c|0}function Ag(a,b){a=a|0;b=b|0;rf(a,b,8);rf(a,b+8|0,8);rf(a,b+16|0,8);rf(a,b+24|0,8);rf(a,b+32|0,8);return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Cg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Dg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Di(b);b=d}c[a>>2]=0;return}function Eg(){var a=0,b=0;a=Xa(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;ig(b)|0;b=b+1|0}return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Gg(b){b=b|0;if(!b)b=0;else while(1)if(!(ui(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Hg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(fj(a)|0)==0;a=_e(a)|0}else a=_e(a)|0;return a|0}function Ig(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;Zf(a,b,f);i=e;return}function Jg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ah(ta(42,d|0)|0)|0;i=b;return a|0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;be(a,b,c[2]|0,c[3]|0,c[5921]|0,c[5922]|0,c[5923]|0,c[5924]|0,d);return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;a=Md(a,c)|0;if(c>>>0>b>>>0)se(a+b|0,0,c-b|0)|0;return a|0}function Mg(){}function Ng(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 (C=d,a-c>>>0|0)|0}function Og(a){a=a|0;var b=0;if(!a)a=Sd(8)|0;else{b=Sd((Ed(a)|0)+8|0)|0;xi(b+4|0,a)|0;a=b}return a|0}function Pg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[30]=a;c[d>>2]=0;i=b;return}function Qg(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;rf(a,d,4);i=c;return}function Rg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;rh(18958,d);return 0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;rd(b,a)|0;c=c+-1|0}return}function Tg(a){a=a|0;var b=0;b=Sd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Sd(a+1|0)|0;c[b+8>>2]=a;return b|0}function Ug(){var a=0,b=0;b=i;i=i+16|0;a=Gc(2,1,0)|0;if((a|0)<0)Vg(15462,b);i=b;return a|0}function Vg(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;Yg(a,e);i=d;return}function Wg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=yc(b)|0;je(a)}return b|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5943]|0)){Fh(Gb(a,b,0,d,0)|0);c[5944]=d}return}function Yg(a,b){a=a|0;b=b|0;var d=0;d=Sc()|0;kb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=Sh(a,b,d)|0;c[e>>2]=c[d+4>>2];return d|0}function $g(a,b){a=a|0;b=b|0;var d=0;d=Sd(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function ah(a,b){a=a|0;b=b|0;a=Be(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function bh(a,b){a=a|0;b=b|0;if((xd(a,0,5)|0)>(b|0))a=1;else a=fh(a)|0;return a|0}function ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function dh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function eh(a){a=a|0;var b=0;if(!a)a=0;else{b=Ed(a)|0;a=qg(a,b,b)|0}return a|0}function fh(a){a=a|0;if(!(Fe(17732,a)|0))a=(Fe(17745,a)|0)!=0;else a=1;return a&1|0}function gh(a,b){a=a|0;b=b|0;return Qe(c[(c[a>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0}function hh(a){a=a|0;var b=0;b=i;i=i+16|0;a=ae(a,0,b)|0;i=b;return a|0}function ih(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function jh(a,b){a=a|0;b=b|0;return (c[(c[a>>2]|0)+4>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bi(a,b);return pc(a,b,c,d)|0}function lh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function mh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function nh(){var a=0;if(!(c[5945]|0))a=23824;else a=c[(kj()|0)+64>>2]|0;return a|0}function oh(a){a=a|0;if(!a)a=0;else{a=Gg(a)|0;Wf(a)}return a|0}function ph(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Dg(b);Di(b);c[a>>2]=0}return}function qh(a){a=a|0;a=Kc(a)|0;if(!a)xh();else return a|0;return 0}function rh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ih(a,d)}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ib[a&7](b|0,c|0,d|0)|0}function th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Di(c[b+4>>2]|0);Gh(a)}return}function uh(a){a=a|0;if((c[a+76>>2]|0)>-1?fj(a)|0:0)ej(a);return c[a+60>>2]|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;a=Ze(a,c)|0;Xd(a|0,b|0,c|0)|0;return a|0}function wh(b,c){b=b|0;c=c|0;b=Qc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xh(){var a=0;a=Sc()|0;ob[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Ma(-1)}function yh(){var a=0,b=0;b=i;i=i+16|0;a=xa(20,b|0)|0;i=b;return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Af(b+52|0);Gh(a)}return}function Ah(a){a=a|0;if(a>>>0>4294963200){c[(nh()|0)>>2]=0-a;a=-1}return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zb(a,b,8,15,8,0,c,d)|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nb[a&3](b|0,c|0,d|0)}function Dh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Eh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=id(a,b,0)|0;return a|0}function Fh(a){a=a|0;c[5943]=a;if(gg(14650)|0)Pg(pe(14650,0)|0);return}function Gh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)Yi(b);return}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Ih(a,b){a=a|0;b=b|0;c[(Sc()|0)+4>>2]=1;Yg(a,b);xh()}function Jh(a){a=a|0;var b=0;b=Vd(a)|0;se(b|0,0,a|0)|0;return b|0}function Kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Rb(a,b,c,d,0)|0}function Lh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,b,c,0,-2147483648)|0;return a|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,b,c,-2147483648,0)|0;return a|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;return cc(a,b,16322,16331,c)|0}function Ph(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;return pb[a&15](b|0,c|0)|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return Rc(a,b,Ed(b)|0,c)|0}function Th(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Uh(a){a=a|0;if(!(oe(a)|0))xh();else return}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,2147483647,b,c)|0}function Wh(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;kb[a&3](b|0,c|0)}function Yh(a,b){a=a|0;b=b|0;return Qe(c[a>>2]|0,c[b>>2]|0)|0}function Zh(){if((Oa(12464)|0)==0?(Oa(12474)|0)==0:0)Ma(-1);La()}function _h(a,b,c){a=a|0;b=b|0;c=c|0;return Sh(a,b,0+c|0)|0}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return qb(_(c,b)|0)|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return bf(a,b,c)|0}function bi(a,b){a=a|0;b=b|0;Je(a,b,Ed(b)|0);return}function ci(a,b){a=a|0;b=b|0;Le(a,b,Ed(b)|0);return}function di(a,b){a=a|0;b=b|0;return qg(a,Ed(a)|0,b)|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,0,c)|0}function fi(a,b){a=a|0;b=b|0;xi(b,c[a+4>>2]|0)|0;return}function gi(a){a=a|0;var b=0;b=(Mi(a)|0)==0;return (b?a:a&95)|0}function hi(a){a=a|0;var b=0;b=(Li(a)|0)==0;return (b?a:a|32)|0}function ii(a,b){a=a|0;b=b|0;return $f(a,b,(Ed(a)|0)+1|0)|0}function ji(a){a=a|0;return Qf(13392,a,uh(c[2346]|0)|0)|0}function ki(a){a=a|0;if(!(c[a+68>>2]|0))ej(a);return}function li(a){a=a|0;if(!(c[a+68>>2]|0))ej(a);return}function mi(a,b){a=a|0;b=b|0;return (gf(a,Ed(a)|0,1,b)|0)+-1|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,1,c)|0}function oi(a,b){a=a|0;b=b|0;return dj(Lf(a,b)|0)|0}function pi(a){a=a|0;return ((a+-48|0)>>>0<10|(Ei(a)|0)!=0)&1|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return Mf(a,b,c)|0}function ri(a,b){a=a|0;b=b|0;return mb[a&3](b|0)|0}function si(a){a=a|0;Di(c[a+4>>2]|0);Di(a);return}function ti(a,b){a=a|0;b=b|0;i=a;j=b}function ui(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function vi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function xi(a,b){a=a|0;b=b|0;Uc(a,b)|0;return a|0}function yi(a,b){a=a|0;b=b|0;jb[a&3](b|0)}function zi(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Ai(a,b){a=a|0;b=b|0;return Wd(a,b)|0}function Bi(a,b){a=a|0;b=b|0;return +(+Qd(a,b,1))}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Di(a){a=a|0;if(a|0)Yi(a);return}function Ei(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Fi(a,b){a=+a;b=+b;return +(+pf(a,b))}function Gi(a,b){a=+a;b=b|0;return +(+Ad(a,b))}function Hi(a,b){a=+a;b=b|0;return +(+Fd(a,b))}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;ba(5)}function Ji(a){a=a|0;return (gg(a)|0)!=0|0}function Ki(b){b=b|0;a[b+48>>0]=1;return}function Li(a){a=a|0;return (a+-65|0)>>>0<26|0}function Mi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Ni(a,b){a=a|0;b=b|0;yb(b);return}function Oi(a){a=a|0;return c[a+16>>2]|0}function Pi(a,b){a=+a;b=+b;return +(+Xb(a,b))}function Qi(a){a=a|0;return Ph(a|0)|0}function Ri(a){a=a|0;return Ph(a|0)|0}function Si(a,b){a=a|0;b=b|0;ba(7);return 0}function Ti(a){a=a|0;ob[a&1]()}function Ui(a){a=a|0;return qb(a)|0}function Vi(a){a=a|0;return a+8|0}function Wi(a){a=a|0;yb(a);return}function Xi(a){a=a|0;return Hg(a)|0}function Yi(a){a=a|0;yb(a);return}function Zi(a){a=a|0;return 0}function _i(a,b){a=a|0;b=b|0;ba(2)}function $i(a){a=a|0;return 0}function aj(a){a=a|0;i=a}function bj(a){a=a|0;C=a}function cj(a){a=a|0;ba(4);return 0}function dj(a){a=a|0;return a|0}function ej(a){a=a|0;return}function fj(a){a=a|0;return 0}function gj(){return c[30]|0}function hj(){return C|0}function ij(){return i|0}function jj(a){a=a|0;ba(1)}function kj(){return 0}function lj(){ba(6)}
+function qb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5958]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=23872+(b<<1<<2)|0;e=d+8|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[5962]|0)>>>0)La();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else La()}else c[5958]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5960]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=23872+(b<<1<<2)|0;e=d+8|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[5962]|0)>>>0)La();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5960]|0;break}else La()}else{c[5958]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5963]|0;b=l>>>3;d=23872+(b<<1<<2)|0;a=c[5958]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{m=a;n=b}}else{c[5958]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5960]=h;c[5963]=e;N=j;i=O;return N|0}a=c[5959]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24136+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5962]|0;if(k>>>0<g>>>0)La();j=k+q|0;if(k>>>0>=j>>>0)La();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)La();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)La();a=f+12|0;if((c[a>>2]|0)!=(k|0))La();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else La()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5959]=c[5959]&~(1<<a);break}}else{if(h>>>0<(c[5962]|0)>>>0)La();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5962]|0;if(o>>>0<b>>>0)La();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5960]|0;if(a|0){f=c[5963]|0;b=a>>>3;e=23872+(b<<1<<2)|0;a=c[5958]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{r=a;s=b}}else{c[5958]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5960]=d;c[5963]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5959]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24136+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24136+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5960]|0)-q|0)>>>0:0){f=c[5962]|0;if(k>>>0<f>>>0)La();h=k+q|0;if(k>>>0>=h>>>0)La();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)La();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)La();a=e+12|0;if((c[a>>2]|0)!=(k|0))La();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else La()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5959]=c[5959]&~(1<<a);break}}else{if(g>>>0<(c[5962]|0)>>>0)La();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5962]|0;if(u>>>0<b>>>0)La();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{w=a;x=b}}else{c[5958]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24136+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else La()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5960]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5963]|0;if(a>>>0>15){N=b+q|0;c[5963]=N;c[5960]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5960]=0;c[5963]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5961]|0;if(a>>>0>q>>>0){L=a-q|0;c[5961]=L;N=c[5964]|0;M=N+q|0;c[5964]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6076]|0)){c[6078]=4096;c[6077]=4096;c[6079]=-1;c[6080]=-1;c[6081]=0;c[6069]=0;x=p&-16^1431655768;c[p>>2]=x;c[6076]=x}h=q+48|0;g=c[6078]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6068]|0;if(a|0?(w=c[6066]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6069]&4)){a=c[5964]|0;c:do if(a){d=24280;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5961]|0)&g;if(a>>>0<2147483647){b=Fa(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Fa(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6077]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6066]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6068]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Fa(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6078]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Fa(y|0)|0)==(-1|0)){Fa(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6069]=c[6069]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Fa(k|0)|0,A=Fa(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6066]|0)+f|0;c[6066]=a;if(a>>>0>(c[6067]|0)>>>0)c[6067]=a;j=c[5964]|0;do if(j){e=24280;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5961]|0)|0;c[5964]=M;c[5961]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5965]=c[6080];break}a=c[5962]|0;if(h>>>0<a>>>0){c[5962]=h;k=h}else k=a;d=h+f|0;a=24280;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24280;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5963]|0)){N=(c[5960]|0)+g|0;c[5960]=N;c[5963]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)La();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)La();b=f+12|0;if((c[b>>2]|0)!=(a|0))La();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else La()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24136+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5962]|0)>>>0)La();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5959]=c[5959]&~(1<<b);break e}while(0);e=c[5962]|0;if(L>>>0<e>>>0)La();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)La();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5962]|0)>>>0)La();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=23872+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)La();if((c[d+12>>2]|0)==(a|0))break;La()}while(0);if((e|0)==(d|0)){c[5958]=c[5958]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)La();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}La()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;do if(!(b&a)){c[5958]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5962]|0)>>>0){M=a;N=b;break}La()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24136+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else La()}}else{N=(c[5961]|0)+g|0;c[5961]=N;c[5964]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24280;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5964]=N;c[5961]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5965]=c[6080];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6070];c[a+4>>2]=c[6071];c[a+8>>2]=c[6072];c[a+12>>2]=c[6073];c[6070]=h;c[6071]=f;c[6073]=0;c[6072]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{J=a;K=b}}else{c[5958]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24136+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else La()}}}else{N=c[5962]|0;if((N|0)==0|h>>>0<N>>>0)c[5962]=h;c[6070]=h;c[6071]=f;c[6073]=0;c[5967]=c[6076];c[5966]=-1;a=0;do{N=23872+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5964]=M;c[5961]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5965]=c[6080]}while(0);a=c[5961]|0;if(a>>>0>q>>>0){L=a-q|0;c[5961]=L;N=c[5964]|0;M=N+q|0;c[5964]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(nh()|0)>>2]=12;N=0;i=O;return N|0}function rb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[236];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=Yb(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=ac(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=ac(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=ac(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,Xd(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=ac(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=ac(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,Xd(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=ac(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=ac(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,Xd(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=ac(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,ld(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,Xd(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=ac(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[236];e=-5;return e|0}}else{j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;Xd(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[236];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?(Ub(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Ab(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,Xd(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,Xd(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,Xd(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){Ub(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[20585+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[20073]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Ab(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,Xd(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,Xd(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,Xd(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=pb[c[188+((c[O+132>>2]|0)*12|0)+8>>2]&15](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{vc(O);break}case 5:break;default:{lc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,se(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;Xd(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;ld(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,Xd(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[233];e=-2;return e|0}function sb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0}while((ui(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Vc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23668+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Vc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23677+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Vc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Vc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(nh()|0)>>2]=22;zf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Vc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Vc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;k=Zg(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Zg(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Vc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else zf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Zg(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=ic(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){zf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Bg(o|0,n|0,2)|0;H=Zg(H|0,C|0,-32,-1)|0;e=Zg(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Zg(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Ng(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Zg(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Fi(+Ad(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(nh()|0)>>2]=34;g=+Gi(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Vc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Zg(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Zg(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=ic(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){zf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Zg(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(nh()|0)>>2]=22;zf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9816+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9816+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9816+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Bg(c[p>>2]|0,0,29)|0;o=Zg(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Kh(o|0,n|0,1e9,0)|0;o=Rf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Fi(+Ad(1.0,105-o|0),j);m=+Pi(j,+Ad(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Pi(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(nh()|0)>>2]=34}while(0);g=+Gi(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(nh()|0)>>2]=22;zf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function tb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(nh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Oc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[20976+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}ec(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Fg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21456;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21456;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Ng(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21456;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21456:21458;L=76}else{p=1;r=21457;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21456;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21456;o=N;break}case 109:{o=Yd(c[(nh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23358;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){od(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23366:23371}else{G=1;H=23368}else{q=-q;G=1;H=23365}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Hi(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Rd(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21440+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;od(e,32,K,r,I);if(!(c[e>>2]&32))Oc(y,w,e)|0;od(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Oc(ea,o,e)|0;f=ba-p|0;od(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Oc(t,f,e)|0;od(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Bg(c[r>>2]|0,0,t|0)|0;B=Zg(B|0,C|0,o|0,0)|0;o=C;A=Rf(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Kh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Rd(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;od(e,32,K,w,I);if(!(c[e>>2]&32))Oc(H,G,e)|0;od(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Rd(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;se(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Oc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Oc(23396,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Rd(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){se(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Oc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}od(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Rd(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Oc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Oc(23396,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;se(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Oc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}od(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Oc(u,ba-u|0,e)|0}while(0);od(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;od(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Oc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Oc(s?(t?23677:23392):t?23384:23388,3,e)|0;od(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21456;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21440+(o&15)>>0]|r;o=Fg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21456;L=77}else{o=t;t=2;r=21456+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21456;L=77}}else if((L|0)==76){f=Rd(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Fc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21456;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Eh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}od(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Eh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Oc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;od(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;od(e,32,o,s,p);if(!(c[e>>2]&32))Oc(v,w,e)|0;od(e,48,o,s,p^65536);od(e,48,r,t,0);if(!(c[e>>2]&32))Oc(f,t,e)|0;od(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;ec(j+(m<<3)|0,n,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=ia;return m|0}function ub(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=fj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(ui(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{zf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Vc(e)|0}while((ui(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}zf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Vc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){se(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;se(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=qb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Vc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(uc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Wd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Lh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=qb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Wd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+sb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;zf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Vc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ui(d[m>>0]|0)|0))break;else n=m}zf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Vc(e)|0}while((ui(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){yb(l);yb(f)}}else k=0;while(0);if(O|0)ej(e);i=P;return k|0}function vb(a,d,e,f,j){a=a|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0.0;aa=i;i=i+368|0;$=aa+280|0;W=aa+256|0;V=aa+232|0;T=aa+216|0;S=aa+192|0;R=aa+176|0;Q=aa+160|0;P=aa+136|0;O=aa+128|0;N=aa+120|0;M=aa+112|0;K=aa+88|0;J=aa+80|0;I=aa+72|0;H=aa+48|0;G=aa+40|0;U=aa+24|0;L=aa+16|0;F=aa+8|0;E=aa;A=aa+352|0;B=aa+344|0;D=aa+336|0;X=aa+316|0;z=aa+296|0;C=aa+292|0;Z=aa+288|0;v=nf(a,1)|0;c[Z>>2]=0;_d(v);w=(e|0)==0;x=v+28|0;y=v+4|0;t=(d|0)==0;u=A+4|0;a:while(1){if(!(Gf(v,C)|0)){Y=106;break}c[E>>2]=c[C>>2];Ig(2,17873,E);a=c[C>>2]|0;if(!(Db(a,17888)|0)){if((xd(eh(a)|0,z,5)|0)!=4){Y=77;break}q=c[z>>2]|0;r=le(v,z,1)|0;s=le(v,z,2)|0;ba=+ke(v,z,3);c[S>>2]=q;c[S+4>>2]=r;c[S+8>>2]=s;h[S+16>>3]=ba;Ig(2,18582,S);Ki(v);c[A>>2]=ce(0,1)|0;c[B>>2]=0;while(1){if(!(Gf(v,D)|0))break;if(fh(c[D>>2]|0)|0){Y=81;break}ef(v,4,xd(c[D>>2]|0,X,5)|0);d=c[X>>2]|0;a=ah(c[A>>2]|0,d)|0;if(!a){a=Ze(c[(c[A>>2]|0)+20>>2]|0,16)|0;_g(c[A>>2]|0,d,a,a+4|0)|0;if(w)d=1073741823;else d=oi(e,d)|0;c[a+8>>2]=d;c[a>>2]=c[B>>2];c[B>>2]=a}k=Ze(j,16)|0;d=k+4|0;c[d>>2]=le(v,X,1)|0;l=k+8|0;c[l>>2]=le(v,X,2)|0;g[k+12>>2]=+ke(v,X,3);d=c[d>>2]|0;l=c[l>>2]|0;if(d>>>0>l>>>0){Y=87;break a}d=c[a+8>>2]|0;if(l>>>0>d>>>0){r=c[y>>2]|0;s=c[a+4>>2]|0;c[V>>2]=c[x>>2];c[V+4>>2]=r;c[V+8>>2]=s;c[V+12>>2]=d;c[V+16>>2]=l;Vg(18661,V);if(t){Y=90;break a}}else{s=a+12|0;c[k>>2]=c[s>>2];c[s>>2]=k}}if((Y|0)==81){Y=0;Ki(v)}gd(B,8);a=B;while(1){a=c[a>>2]|0;if(!a)break;d=a+12|0;gd(d,9);o=a+4|0;m=c[d>>2]|0;while(1){n=c[m>>2]|0;if(!n)break;k=c[m+8>>2]|0;l=c[n+4>>2]|0;if(k>>>0>l>>>0){Y=98;break a}else m=n}m=c[d>>2]|0;while(1){if(!m)break;else{d=m;l=m;k=0}while(1){if((l|0)==0|(k|0)>=(f|0))break;d=l;l=c[l>>2]|0;k=k+1|0}c[d>>2]=0;s=Ze(j,48)|0;c[s+4>>2]=eh(c[o>>2]|0)|0;c[s+8>>2]=c[m+4>>2];c[s+12>>2]=c[d+8>>2];c[s+16>>2]=1;c[s+20>>2]=m;b[s+32>>1]=k;c[s>>2]=c[Z>>2];c[Z>>2]=s;m=l}}Hd(A);continue}c[z>>2]=a;a=of(z)|0;if(Qe(a,17895)|0)if(!(Qe(a,17908)|0))o=3;else{Y=6;break}else o=2;m=0;d=0;k=0;n=0;while(1){a=of(z)|0;if(!a){s=m;r=n;break}if((wd(a,61,A,2)|0)!=2){Y=10;break a}a=c[A>>2]|0;l=c[u>>2]|0;do if(!(Qe(a,17970)|0)){m=eh(l)|0;a=n}else{if(!(Qe(a,17976)|0)){d=De(v,a,l)|0;a=n;break}if(!(Qe(a,18037)|0)){a=De(v,a,l)|0;break}if(Qe(a,18042)|0){Y=19;break a}k=De(v,a,l)|0;a=n}while(0);n=a}if(!s){Y=22;break}if(w)n=1073741823;else n=oi(e,s)|0;if(k>>>0>n>>>0?(q=c[y>>2]|0,c[H>>2]=c[x>>2],c[H+4>>2]=q,c[H+8>>2]=s,c[H+12>>2]=n,c[H+16>>2]=k,Vg(18122,H),t):0){Y=27;break}a=(k|0)==0;if((o|0)==3){if(a){Y=30;break}if(!r){Y=32;break}q=(d|0)==0?r:d;m=k+-1|0;c[A>>2]=lg(0)|0;c[X>>2]=0;a=0;l=m;while(1){if(!(Gf(v,D)|0))break;if(bh(c[D>>2]|0,1)|0){Y=36;break}xd(c[D>>2]|0,B,1)|0;d=Ze(c[A>>2]|0,8)|0;g[d+4>>2]=+ke(v,B,0);k=l+q|0;if(k>>>0>n>>>0){p=c[y>>2]|0;c[K>>2]=c[x>>2];c[K+4>>2]=p;c[K+8>>2]=s;c[K+12>>2]=n;c[K+16>>2]=k;Vg(18262,K);if(t){Y=39;break a}}else{c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}l=l+r|0}if((Y|0)==36){Y=0;Ki(v)}ag(X);p=q-r|0;k=m;d=c[X>>2]|0;while(1){if(!d)break;o=(a|0)>(f|0)?f:a;n=Ze(j,48)|0;c[n+4>>2]=s;c[n+8>>2]=k;k=(_(o,r)|0)+k|0;c[n+12>>2]=p+k;c[n+16>>2]=3;c[n+24>>2]=r;c[n+28>>2]=q;b[n+32>>1]=o;l=Ze(j,o<<2)|0;c[n+20>>2]=l;m=0;while(1){if((m|0)>=(o|0))break;c[l>>2]=c[d+4>>2];m=m+1|0;d=c[d>>2]|0;l=l+4|0}c[n>>2]=c[Z>>2];c[Z>>2]=n;a=a-o|0}ph(A)}else{if(!a){Y=50;break}if(r|0){Y=52;break}o=(d|0)==0?1:d;c[A>>2]=lg(0)|0;c[X>>2]=0;a=0;b:while(1){while(1){if(!(Gf(v,D)|0))break b;if(bh(c[D>>2]|0,2)|0){Y=57;break b}xd(c[D>>2]|0,B,2)|0;d=Ze(c[A>>2]|0,12)|0;k=le(v,B,0)|0;if((k|0)<1){Y=59;break a}r=d+4|0;c[r>>2]=k+-1;g[d+8>>2]=+ke(v,B,1);k=(c[r>>2]|0)+o|0;if(k>>>0<=n>>>0)break;r=c[y>>2]|0;c[P>>2]=c[x>>2];c[P+4>>2]=r;c[P+8>>2]=s;c[P+12>>2]=n;c[P+16>>2]=k;Vg(18262,P);if(t){Y=62;break a}}c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}if((Y|0)==57){Y=0;Ki(v)}gd(X,7);d=c[X>>2]|0;if(!d)d=0;else{while(1){k=d;d=c[d>>2]|0;if(!d)break;k=c[k+4>>2]|0;l=c[d+4>>2]|0;if((k+o|0)>>>0>l>>>0){Y=67;break a}}d=c[X>>2]|0}while(1){if(!d)break;n=(a|0)>(f|0)?f:a;m=Ze(j,n<<3)|0;l=0;k=m;while(1){if((l|0)>=(n|0))break;c[k>>2]=c[d+4>>2];c[k+4>>2]=c[d+8>>2];l=l+1|0;d=c[d>>2]|0;k=k+8|0}r=Ze(j,48)|0;c[r+4>>2]=s;c[r+8>>2]=c[m>>2];c[r+12>>2]=(c[m+(n+-1<<3)>>2]|0)+o;c[r+16>>2]=2;c[r+20>>2]=m;c[r+28>>2]=o;b[r+32>>1]=n;c[r>>2]=c[Z>>2];c[Z>>2]=r;a=a-n|0}ph(A)}}switch(Y|0){case 6:{c[F>>2]=a;rh(17918,F);break}case 10:{aa=c[y>>2]|0;c[L>>2]=c[x>>2];c[L+4>>2]=aa;rh(17935,L);break}case 19:{$=c[x>>2]|0;aa=c[y>>2]|0;c[U>>2]=a;c[U+4>>2]=l;c[U+8>>2]=$;c[U+12>>2]=aa;rh(18048,U);break}case 22:{aa=c[y>>2]|0;c[G>>2]=c[x>>2];c[G+4>>2]=aa;rh(18084,G);break}case 27:{xh();break}case 30:{aa=c[y>>2]|0;c[I>>2]=c[x>>2];c[I+4>>2]=aa;rh(18187,I);break}case 32:{aa=c[y>>2]|0;c[J>>2]=c[x>>2];c[J+4>>2]=aa;rh(18225,J);break}case 39:{xh();break}case 50:{aa=c[y>>2]|0;c[M>>2]=c[x>>2];c[M+4>>2]=aa;rh(18325,M);break}case 52:{aa=c[y>>2]|0;c[N>>2]=c[x>>2];c[N+4>>2]=aa;rh(18361,N);break}case 59:{aa=c[y>>2]|0;c[O>>2]=c[x>>2];c[O+4>>2]=aa;rh(18396,O);break}case 62:{xh();break}case 67:{c[Q>>2]=s;c[Q+4>>2]=k;c[Q+8>>2]=l;rh(18462,Q);break}case 77:{$=c[y>>2]|0;aa=c[C>>2]|0;c[R>>2]=c[x>>2];c[R+4>>2]=$;c[R+8>>2]=aa;rh(18550,R);break}case 87:{$=c[x>>2]|0;aa=c[y>>2]|0;c[T>>2]=d;c[T+4>>2]=l;c[T+8>>2]=$;c[T+12>>2]=aa;rh(18604,T);break}case 90:{xh();break}case 98:{$=c[o>>2]|0;Z=c[m+4>>2]|0;aa=c[n+8>>2]|0;c[W>>2]=$;c[W+4>>2]=Z;c[W+8>>2]=k;c[W+12>>2]=$;c[W+16>>2]=l;c[W+20>>2]=aa;rh(18737,W);break}case 106:{gd(Z,10);a=c[Z>>2]|0;while(1){if(!a){Y=112;break}d=a;a=c[a>>2]|0;if(!a){a=0;continue}k=c[d+4>>2]|0;if(Qe(k,c[a+4>>2]|0)|0)continue;l=c[a+8>>2]|0;if((c[d+12>>2]|0)>>>0>l>>>0){Y=111;break}}if((Y|0)==111){c[$>>2]=k;c[$+4>>2]=l+1;rh(18813,$)}else if((Y|0)==112){i=aa;return c[Z>>2]|0}break}}return 0}function wb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Zg(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(19707==0?(Qe(c[a+8>>2]|0,19721)|0)!=0:0){ba=a+32|0;T=ba;T=lb[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Zg(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Zg(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Zg(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Zg(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Ng(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Zg(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Ng((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Ng(k|0,j|0,f|0,d|0)|0;Xd(b|0,B+f|0,o|0)|0;e=Zg(o|0,E|0,e|0,n|0)|0;f=C;d=Ng(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Zg(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;bg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Sd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Zg(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Ng(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(19707){y=Zg(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Zg(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Kh(k|0,j|0,w|0,0)|0;t=Zg(A|0,B|0,-1,-1)|0;t=Zg(t|0,C|0,w|0,0)|0;w=Kh(t|0,C|0,w|0,0)|0;t=m+52|0;mf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((ei(u,d,s)|0)<(s|0))f=0;else{Di(u);j=B;k=A;continue}while(1){o=ei(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=ni(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=cg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=cg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Zg(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Ng(f|0,j|0,p|0,q|0)|0;k=C;f=Vd(j)|0;c[W>>2]=f;m=lb[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}bg(Z,c[K>>2]|0,p,0)|0;Oe(Z,c[K>>2]|0,f,j);Gh(W)}Kd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;bg(P,c[t>>2]|0,da+64|0,0)|0;Oe(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Di(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);bg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Re(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;rh(19733,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Ig(4,19789,$);Ig(4,19835,aa);S=0;T=0;break}else if((n|0)==36){Re(Z,j,f,h);S=ba;S=Zg(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Zg(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function yb(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;if(!a)return;d=a+-8|0;h=c[5962]|0;if(d>>>0<h>>>0)La();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)La();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)La();if((k|0)==(c[5963]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5960]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=23872+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)La();if((c[b+12>>2]|0)!=(k|0))La()}if((d|0)==(b|0)){c[5958]=c[5958]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)La();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else La()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)La();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)La();a=e+12|0;if((c[a>>2]|0)!=(k|0))La();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else La()}while(0);if(f){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5959]=c[5959]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5962]|0)>>>0)La();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5962]|0;if(i>>>0<d>>>0)La();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)La();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5962]|0)>>>0)La();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)La();a=m+4|0;b=c[a>>2]|0;if(!(b&1))La();if(!(b&2)){if((m|0)==(c[5964]|0)){p=(c[5961]|0)+g|0;c[5961]=p;c[5964]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5963]|0))return;c[5963]=0;c[5960]=0;return}if((m|0)==(c[5963]|0)){p=(c[5960]|0)+g|0;c[5960]=p;c[5963]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();d=b+12|0;if((c[d>>2]|0)!=(m|0))La();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else La()}while(0);if(f|0){a=c[m+28>>2]|0;b=24136+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5959]=c[5959]&~(1<<a);break}}else{if(f>>>0<(c[5962]|0)>>>0)La();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5962]|0;if(n>>>0<d>>>0)La();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)La();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=23872+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5962]|0)>>>0)La();if((c[b+12>>2]|0)!=(m|0))La()}if((d|0)==(b|0)){c[5958]=c[5958]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5962]|0)>>>0)La();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else La()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5963]|0)){c[5960]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{o=a;p=b}}else{c[5958]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24136+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5959]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5962]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else La()}}else{c[5959]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[5966]|0)+-1|0;c[5966]=q;if(!q)a=24288;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[5966]=-1;return}function zb(a,d,f,j,k,l,m,n){a=a|0;d=d|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0.0;ba=i;i=i+480|0;O=ba+344|0;M=ba+336|0;v=ba+328|0;S=ba+288|0;L=ba+280|0;$=ba+468|0;aa=ba+464|0;B=ba+476|0;Y=ba+474|0;D=ba+472|0;G=ba+460|0;H=ba+272|0;Q=ba+264|0;R=ba+256|0;P=ba+248|0;T=ba+240|0;U=ba+456|0;N=ba+416|0;F=ba+376|0;V=ba+160|0;W=ba+80|0;X=ba;Z=ba+368|0;I=ba+364|0;J=ba+360|0;K=ba+356|0;z=ih(a)|0;A=L;c[A>>2]=z;c[A+4>>2]=((z|0)<0)<<31>>31;c[$>>2]=Yc(n,17729)|0;c[aa>>2]=-2003829722;b[B>>1]=4;b[Y>>1]=0;b[D>>1]=0;c[G>>2]=0;A=H;c[A>>2]=0;c[A+4>>2]=0;A=Q;c[A>>2]=0;c[A+4>>2]=0;A=R;c[A>>2]=0;c[A+4>>2]=0;A=P;c[A>>2]=0;c[A+4>>2]=0;A=T;c[A>>2]=0;c[A+4>>2]=0;c[U>>2]=0;if(!l)Tc(a,d,I,Z,J);else rc(a,d,I,Z,J);A=c[Z>>2]|0;if(!m){z=c[I>>2]|0;y=qc(a)|0;n=0;l=0;m=a;a:while(1){if(!m){t=n;u=l;break}switch(c[m+16>>2]|0){case 1:{d=12;break}case 2:{d=8;break}case 3:{d=4;break}default:{x=14;break a}}d=Zg((_(e[m+32>>1]|0,d)|0)+24|0,0,n|0,l|0)|0;n=d;l=C;m=c[m>>2]|0}if((x|0)==14){c[v>>2]=17712;c[v+4>>2]=780;rh(17691,v)}m=Fg(t|0,u|0,1)|0;v=C;c[S>>2]=0;x=(k|0)!=0&1;o=+(m>>>0)+4294967296.0*+(v>>>0);u=0;t=0;d=y*10|0;while(1){n=oc(a,A,d)|0;c[S>>2]=n;n=eg(n)|0;n=Bg(n|0,C|0,x|0)|0;l=C;if(l>>>0<v>>>0|(l|0)==(v|0)&n>>>0<m>>>0|(n|0)==(u|0)&(l|0)==(t|0))break;y=~~(+(d|0)*1.1*(+(n>>>0)+4294967296.0*+(l>>>0))/o);ca=d<<1;Dg(S);u=n;t=l;d=(y|0)<(ca|0)?ca:y}b[Y>>1]=1;c[N>>2]=c[S>>2];c[F>>2]=d;m=d;n=((d|0)<0)<<31>>31;l=0;while(1){if((l|0)>=9)break;m=Bg(m|0,n|0,2)|0;n=C;if(n>>>0>0|(n|0)==0&m>>>0>1e9)break;ca=ee(c[N+((e[Y>>1]|0)+-1<<2)>>2]|0,A,m)|0;c[S>>2]=ca;ca=eg(ca)|0;if((ca|0)==(u|0)&(C|0)==(t|0))d=c[S>>2]|0;else{d=c[S>>2]|0;ca=b[Y>>1]|0;y=ca&65535;c[N+(y<<2)>>2]=d;c[F+(y<<2)>>2]=m;b[Y>>1]=ca+1<<16>>16}if((ih(d)|0)<=(z|0))break;else l=l+1|0}}else{c[F>>2]=30;d=oc(a,A,30)|0;c[N>>2]=d;n=1;while(1){if((n|0)==10)break;ca=c[100+(n<<2)>>2]|0;c[F+(n<<2)>>2]=ca;ca=ee(d,A,ca)|0;c[N+(n<<2)>>2]=ca;d=ca;n=n+1|0}b[Y>>1]=10}rf(c[$>>2]|0,aa,4);rf(c[$>>2]|0,B,2);rf(c[$>>2]|0,Y,2);y=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,P,8);z=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,Q,8);A=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,R,8);rf(c[$>>2]|0,D,2);rf(c[$>>2]|0,D,2);rf(c[$>>2]|0,H,8);x=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,T,8);B=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,U,4);rf(c[$>>2]|0,H,8);if((Xi(c[$>>2]|0)|0)==64)E=0;else za(17732,17712,1014,17747);while(1){if((E|0)>=(e[Y>>1]|0|0))break;rf(c[$>>2]|0,F+(E<<2)|0,4);rf(c[$>>2]|0,G,4);D=Xi(c[$>>2]|0)|0;ca=V+(E<<3)|0;c[ca>>2]=D;c[ca+4>>2]=((D|0)<0)<<31>>31;rf(c[$>>2]|0,H,8);rf(c[$>>2]|0,H,8);E=E+1|0}d=S;n=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(n|0));ca=Xi(c[$>>2]|0)|0;n=T;c[n>>2]=ca;c[n+4>>2]=((ca|0)<0)<<31>>31;Ag(c[$>>2]|0,S);n=Xi(c[$>>2]|0)|0;ca=P;c[ca>>2]=n;c[ca+4>>2]=((n|0)<0)<<31>>31;ca=c[I>>2]|0;sc(c[Z>>2]|0,16,ca,((ca|0)<0)<<31>>31,(ca|0)>(f|0)?f:ca,2,c[J>>2]|0,3,8,c[$>>2]|0);ca=Xi(c[$>>2]|0)|0;n=Q;c[n>>2]=ca;c[n+4>>2]=((ca|0)<0)<<31>>31;rf(c[$>>2]|0,L,8);n=a;while(1){d=c[$>>2]|0;if(!n)break;d=Qb(n,k,d)|0;if(d>>>0>(c[U>>2]|0)>>>0)c[U>>2]=d;n=c[n>>2]|0}d=Xi(d)|0;n=R;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;n=L;n=Bg(c[n>>2]|0,c[n+4>>2]|0,2)|0;c[K>>2]=Jh(n)|0;n=0;d=a;while(1){if(!d)break;c[(c[K>>2]|0)+(n<<2)>>2]=d;n=n+1|0;d=c[d>>2]|0}ca=L;d=R;Ib(c[K>>2]|0,4,c[ca>>2]|0,c[ca+4>>2]|0,f,1,0,2,6,c[d>>2]|0,c[d+4>>2]|0,c[$>>2]|0);Gh(K);c[M>>2]=e[Y>>1];Ig(2,17798,M);d=0;while(1){if((d|0)>=(e[Y>>1]|0|0))break;L=Xi(c[$>>2]|0)|0;M=W+(d<<3)|0;K=M;c[K>>2]=L;c[K+4>>2]=((L|0)<0)<<31>>31;K=Jc(c[N+(d<<2)>>2]|0,f,j,k,c[$>>2]|0)|0;L=C;ca=X+(d<<3)|0;a=ca;c[a>>2]=K;c[a+4>>2]=L;M=Ng(K|0,L|0,c[M>>2]|0,c[M+4>>2]|0)|0;L=Xi(c[$>>2]|0)|0;ca=Ng(L|0,0,c[ca>>2]|0,c[ca+4>>2]|0)|0;c[O>>2]=M;c[O+4>>2]=ca;c[O+8>>2]=d;Ig(3,17830,O);d=d+1|0}d=c[N>>2]|0;if(!d){ca=T;c[ca>>2]=0;c[ca+4>>2]=0}else{l=c[d+16>>2]|0;t=S;c[t>>2]=l;c[t+4>>2]=0;r=+g[d+20>>2];t=S+8|0;h[t>>3]=r;s=+g[d+24>>2];u=S+16|0;h[u>>3]=s;w=+g[d+28>>2];v=S+24|0;h[v>>3]=w;m=d;n=0;o=+g[d+32>>2];while(1){d=c[m>>2]|0;if(!d)break;l=Zg(l|0,n|0,c[d+16>>2]|0,0)|0;n=C;ca=S;c[ca>>2]=l;c[ca+4>>2]=n;p=+g[d+20>>2];if(p<r)h[t>>3]=p;else p=r;q=+g[d+24>>2];if(q>s)h[u>>3]=q;else q=s;da=w+ +g[d+28>>2];h[v>>3]=da;m=d;r=p;s=q;w=da;o=o+ +g[d+32>>2]}h[S+32>>3]=o;qi(c[$>>2]|0,c[T>>2]|0,0)|0;Ag(c[$>>2]|0,S)}qi(c[$>>2]|0,z,0)|0;rf(c[$>>2]|0,Q,8);qi(c[$>>2]|0,A,0)|0;rf(c[$>>2]|0,R,8);qi(c[$>>2]|0,y,0)|0;rf(c[$>>2]|0,P,8);qi(c[$>>2]|0,x,0)|0;rf(c[$>>2]|0,T,8);if(!k)n=0;else{d=j<<5;if(d>>>0>(c[U>>2]|0)>>>0)c[U>>2]=d;qi(c[$>>2]|0,B,0)|0;rf(c[$>>2]|0,U,4);n=0}while(1){d=c[$>>2]|0;if((n|0)>=(e[Y>>1]|0|0))break;qi(d,c[V+(n<<3)>>2]|0,0)|0;rf(c[$>>2]|0,W+(n<<3)|0,8);rf(c[$>>2]|0,X+(n<<3)|0,8);n=n+1|0}qi(d,0,2)|0;rf(c[$>>2]|0,aa,4);Gh(Z);Uh($);i=ba;return}function Ab(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}wb(f,f+2840|0);wb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}wb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)lc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Mb(f,9848,11e3);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[20841+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Hb(f,g,q);h=f+2440|0;Hb(f,h,r);Mb(f,g,h)}while(0);xc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Bb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5962]|0;if(l>>>0<i>>>0)La();if((l|0)==(c[5963]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5960]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=23872+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)La();if((c[a+12>>2]|0)!=(l|0))La()}if((b|0)==(a|0)){c[5958]=c[5958]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)La();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else La()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)La();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)La();d=e+12|0;if((c[d>>2]|0)!=(l|0))La();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else La()}while(0);if(f){d=c[l+28>>2]|0;a=24136+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5959]=c[5959]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5962]|0)>>>0)La();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5962]|0;if(j>>>0<b>>>0)La();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5962]|0)>>>0)La();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5962]|0;if(o>>>0<h>>>0)La();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5964]|0)){q=(c[5961]|0)+g|0;c[5961]=q;c[5964]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5963]|0))return;c[5963]=0;c[5960]=0;return}if((o|0)==(c[5963]|0)){q=(c[5960]|0)+g|0;c[5960]=q;c[5963]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)La();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)La();d=e+12|0;if((c[d>>2]|0)!=(o|0))La();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else La()}while(0);if(f|0){d=c[o+28>>2]|0;a=24136+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5959]=c[5959]&~(1<<d);break}}else{if(f>>>0<(c[5962]|0)>>>0)La();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5962]|0;if(n>>>0<b>>>0)La();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5962]|0)>>>0)La();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=23872+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)La();if((c[a+12>>2]|0)!=(o|0))La()}if((b|0)==(a|0)){c[5958]=c[5958]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)La();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else La()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5963]|0)){c[5960]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=23872+(d<<1<<2)|0;a=c[5958]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5962]|0)>>>0)La();else{p=d;q=a}}else{c[5958]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24136+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5959]|0;a=1<<b;if(!(d&a)){c[5959]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5962]|0)>>>0)La();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5962]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))La();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){Ub(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=dc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,Xd(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[20585+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[20073+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,Xd(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,Xd(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,Xd(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Db(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(we(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Fc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(nh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0}while((ui(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Vc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Vc(b)|0;if((d[23403+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){zf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23403+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;zf(b,0);c[(nh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Vc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=cg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Zg(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23659+((e*23|0)>>>5&7)>>0]|0;j=a[23403+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Fg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Bg(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23403+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Kh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=cg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Zg(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23403+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0}while((d[23403+i>>0]|0)>>>0<e>>>0);c[(nh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(nh()|0)>>2]=34;g=Zg(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(nh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Ng(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Fb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){Ub(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=dc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[20585+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[20073+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,Xd(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,Xd(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,Xd(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Gb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ce(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Qe(r,17006)|0)){j=g;h=k;N=4;break}s=wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(ui(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Ed(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Sh(Q,o,(m|0)==0?17428:m)|0;else{l=jg(o,f)|0;if(!l){l=jg(o,84)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Nh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Mh(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Bi(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Bi(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17428:m;l=jg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=ah(Q,o)|0;l=Og(m)|0;if(!n){Sh(Q,o,l)|0;break}else{Cg(n,l);break}}Sh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;rh(17017,z);break}case 34:{c[A>>2]=o;rh(17043,A);break}case 36:{c[K>>2]=o;rh(17082,K);break}case 38:{c[L>>2]=o;rh(17118,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;rh(17151,B);break}case 43:{c[C>>2]=o;rh(17118,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;rh(17193,D);break}case 48:{c[E>>2]=o;rh(17237,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;rh(17272,F);break}case 53:{c[G>>2]=o;rh(17312,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;rh(17348,H);break}case 57:{c[I>>2]=c[l>>2];rh(17389,I);break}case 65:{rh(17431,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Ib(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=lg(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=pb[k&15](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=Ze(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=cg(z|0,y|0,b|0,v|0)|0;p=a+p|0;nb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=Zg(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=pb[k&15](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=Zg(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=cg(q|0,C|0,b|0,v|0)|0;nb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=Zg(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}ag(Q);c[H>>2]=ih(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Ig(2,16351,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}Ze(I,48)|0;y=vh(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}ag(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;ag(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;rf(n,P,4);rf(n,M,4);rf(n,L,8);rf(n,g+12|0,4);rf(n,g+16|0,4);rf(n,g+20|0,4);rf(n,g+24|0,4);rf(n,O,8);rf(n,N,4);rf(n,K,4);if((g|0)!=(Q|0))hc(g,c[M>>2]|0,o,n);ph(R);i=S;return}function Jb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Db(d,14054)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){ue(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Pf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(nh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Nf(14560,f)|0))m=c[F>>2]|0;else{of(F)|0;f=of(F)|0;if(!f){O=20;break a}if((((Nf(15163,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Qe(f,15166)|0)if(Qe(f,15170)|0){if(I?(g=Qe(f,15174)|0,!((H|g|0)==0&G)):0)if(!(Qe(f,15178)|0)){f=o;break}else{O=30;break a}if(!(Qe(f,15265)|0)){O=34;break a}if(!(Qe(f,15174)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Gg(f+1|0)|0}if(!(Ve(m,15317)|0)){if(o|0)c[e>>2]=eh(f)|0;if(k)h=eh(f)|0}}while(!(I&(Ve(m,15326)|0)==0));if((Nf(15340,f)|0)!=0?(q=(wh(f,32)|0)+1|0,r=wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=bd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=bd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=Yd(f)|0;c[z+4>>2]=d;Vg(14974,z);f=0;break}case 10:{c[v>>2]=d;Vg(15011,v);f=0;break}case 11:{c[x>>2]=d;Vg(15067,x);f=0;break}case 15:{c[y>>2]=2e3;Vg(15099,y);f=0;break}case 20:{c[u>>2]=d;Vg(15137,u);f=0;break}case 30:{if(!g)Vg(15182,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Vg(15225,E);f=0;break}case 34:{c[w>>2]=d;Vg(15269,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Vg(15294,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;hg(N,256,14166,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Vg(15347,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24456:15441;c[K+8>>2]=f?15166:15170;c[K+12>>2]=h|0?h:15457;Vg(15467,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;hg(N,256,14166,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Vg(15508,M);f=0}break}}i=P;return f|0}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=ib[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Wh(h)|0;c[b+16>>2]=e;f=kd(c[f>>2]|0)|0;if(!f){s=0;break}s=Ed(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Di(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}$d(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)sf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Jf(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;$d(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Cf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Gd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;rh(19458,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Gd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Gd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Lb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5962]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))La();f=c[k+4>>2]|0;if(!(f&1))La();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6078]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Bb(m,d);return a|0}if((k|0)==(c[5964]|0)){d=(c[5961]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5964]=l;c[5961]=m;return a|0}if((k|0)==(c[5963]|0)){e=(c[5960]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5960]=d;c[5963]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)La();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)La();d=g+12|0;if((c[d>>2]|0)!=(k|0))La();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else La()}while(0);if(h|0){d=c[k+28>>2]|0;e=24136+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5959]=c[5959]&~(1<<d);break}}else{if(h>>>0<(c[5962]|0)>>>0)La();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5962]|0;if(j>>>0<f>>>0)La();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)La();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5962]|0)>>>0)La();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=23872+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)La();if((c[e+12>>2]|0)!=(k|0))La()}if((f|0)==(e|0)){c[5958]=c[5958]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)La();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else La()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Bb(l,m);return a|0}return 0}function Mb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[20585+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[328+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[680+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[20073+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[464+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[796+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Nb(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){Ub(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,Xd(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,Xd(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,Xd(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Ab(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,Xd(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Ob(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;ug(0,19858,b)|0}b=d+112|0;if(c[b>>2]|0)Af(b);b=d+128|0;if(c[b>>2]|0)Af(b);Di(c[d+4>>2]|0);Di(c[d+8>>2]|0);Gh(d+12|0);Di(c[d+40>>2]|0);Di(c[d+44>>2]|0);Di(c[d+48>>2]|0);Di(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Af(b);zh(d+80|0)}Gh(a);i=e;return}function Pb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)za(12550,12570,448,12586);h=va()|0;c[s>>2]=h;if((h|0)<0)yf(12599,l);if(h|0)if(!(fg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;yf(13137,k)}r=yh()|0;c[s>>2]=r;if(fg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;yf(12610,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Vf(m)|0;j=va()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}uf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))xf(t);if(c[k>>2]|0)xf(m);g=0;f=0;j=h;h=k}if((b|0)==14)yf(12599,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){ad(k,l,h,e);x=k+8|0;w=c[x>>2]|0;sa(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];yf(12844,o)}ad(k,0,h,e);h=Of(1,f,g)|0;if((h|0)<0)yf(12755,p);if((h|0)==(g|0)){ig(1)|0;Ma(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;rh(12790,q)}}else if((b|0)==28){ig(0)|0;ig(1)|0;Eg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=gb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;uf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)yf(12917,u);else if((b|0)==35){c[v>>2]=h;rh(12932,v)}else if((b|0)==39){v=ye(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;rh(12962,w)}else if((b|0)==41)za(13017,12570,242,13041);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2317]|0;v=ye(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;ug(h,13060,x)|0;h=c[k>>2]|0}Ma(h>>>8&255|0)}else if((b|0)==47)za(13107,12570,396,13127);else if((b|0)==49)Ma(0)}}function Qb(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;o=t+8|0;j=t;m=f+16|0;s=c[m>>2]|0;l=s&255;switch(s|0){case 1:{k=12;break}case 2:{k=8;break}case 3:{k=4;break}default:{c[j>>2]=17712;c[j+4>>2]=67;rh(17691,j)}}p=f+32|0;q=(_(e[p>>1]|0,k)|0)+24|0;r=i;i=i+((1*q|0)+15&-16)|0;s=r;k=Xi(h)|0;j=f+40|0;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;j=f+36|0;c[r>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+8|0;c[r+4>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+12|0;c[r+8>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+24|0;c[r+12>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+28|0;c[r+16>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[r+20>>0]=l;a[r+21>>0]=0;j=d[p>>0]|d[p+1>>0]<<8;b[r+22>>1]=j;k=r+24|0;a:do switch(c[m>>2]|0){case 1:{j=f+20|0;while(1){j=c[j>>2]|0;if(!j){n=k;break a}o=j+4|0;f=k;p=k;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;p=f+4|0;o=j+8|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;p=f+8|0;o=j+12|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;k=f+12|0}}case 2:{m=j;l=0;j=c[f+20>>2]|0;while(1){if((l|0)>=(m&65535|0)){n=k;break a}f=k;m=k;o=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[m>>0]=o;a[m+1>>0]=o>>8;a[m+2>>0]=o>>16;a[m+3>>0]=o>>24;m=f+4|0;o=j+4|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[m>>0]=o;a[m+1>>0]=o>>8;a[m+2>>0]=o>>16;a[m+3>>0]=o>>24;m=b[p>>1]|0;k=f+8|0;l=l+1|0;j=j+8|0}}case 3:{m=j;l=0;j=c[f+20>>2]|0;while(1){if((l|0)>=(m&65535|0)){n=k;break a}m=k;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;m=b[p>>1]|0;k=k+4|0;l=l+1|0;j=j+4|0}}default:{c[o>>2]=17712;c[o+4>>2]=123;rh(17691,o)}}while(0);if((q|0)!=(n-s|0))za(17757,17712,126,17782);if(!g)rf(h,r,q);else{s=zi(q)|0;g=Na()|0;f=i;i=i+((1*s|0)+15&-16)|0;rf(h,f,Ge(r,q,f,s)|0);ya(g|0)}i=t;return q|0}function Rb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=vf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((vf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Zg(m|0,l|0,-1,-1)|0;d=C;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;Ng(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Ng(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){Wc(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Wc(a,d,e,f,o);else fc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}fc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;fc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;fc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function Tb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(te(a,b,d)|0){b=Ug()|0;if((b|0)>=0){if((Id(b,1)|0)<0){ig(b)|0;b=-1;break}b:do if((Me(b,d,16)|0)<0){n=nh()|0;d=c[n>>2]|0;if((d|0)!=115){w=Yd(d)|0;c[e>>2]=d;c[e+4>>2]=w;Vg(13985,e);ig(b)|0;b=-1;break a}bb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=jf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}bb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=Yd(d)|0;c[t>>2]=d;c[t+4>>2]=C;Vg(13761,t);ig(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Vg(13893,u);ig(b)|0;e=23;break}c[r>>2]=4;do if((ze(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=Yd(d)|0;c[w>>2]=d;c[w+4>>2]=C;Vg(13849,w);ig(b)|0;break}}else{B=c[n>>2]|0;C=Yd(B)|0;c[v>>2]=B;c[v+4>>2]=C;Vg(13819,v);ig(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Id(b,0)|0)<0){ig(b)|0;b=-1;break}if((Se(b,120)|0)<0){ig(b)|0;b=-1}}}else b=-1;else{Vg(13641,x+24|0);b=-1}while(0);i=x;return b|0}function Ub(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;Xd(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;Xd(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=Yb(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=ac(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;se((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;se((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function Vb(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,sf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){se(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(Vb(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(nh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function Wb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Db(b,14045)|0))e=Ke(b,0,r)|0;else{if((Nf(19314,b)|0)==0?(Nf(19322,b)|0)==0:0){if(!(Nf(19331,b)|0)){c[g>>2]=b;rh(14907,g)}$b(b,o);if(Qe(o,14078)|0){c[f>>2]=b;rh(14570,f)}b=o+4112|0;g=cd(b,Bd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(kh(g,14617,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,hg(m,256,14624,j)|0,(kh(g,m,0,0)|0)==0):0){ig(g)|0;e=-1;break}j=o+6176|0;s=(a[(Ed(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14636:14641;c[k+4>>2]=j;hg(m,256,14646,k)|0;bi(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=wh(j,40)|0;a[(wh(j,41)|0)>>0]=0;if((ne(s+1|0,14654,k,7)|0)!=6)rh(14656,h);f=(Bd(c[k+16>>2]|0)|0)<<8;f=Tb(b,(Bd(c[k+20>>2]|0)|0)+f|0)|0;th(l);if((f|0)<0){ig(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((dd(f,1e6)|0)>0){b=26;break}if((dd(g,0)|0)>0?(pc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Vg(14692,n);ig(g)|0;ig(f)|0;e=-1;break}else if((b|0)==24){ig(g)|0;ig(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}fd(c[2346]|0)|0;fd(c[2287]|0)|0;fd(c[2317]|0)|0;b=Sd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;Xd(b+20|0,o|0,10280)|0;f=b+4|0;if(Jg(f)|0){c[p>>2]=Yd(c[(nh()|0)>>2]|0)|0;rh(14757,p)}b=Ta(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=Yd(b)|0;c[q>>2]=b;c[q+4>>2]=s;rh(14861,q)}}}else{ig(g)|0;e=-1}while(0)}break}e=Oh(b,14566,0)|0}while(0);i=r;return e|0}function Xb(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Fg(d|0,m|0,52)|0;e=e&2047;j=Fg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Bg(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Bg(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Bg(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Bg(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Bg(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Bg(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Bg(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Bg(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Ng(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Bg(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Ng(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Bg(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Zg(d|0,f|0,0,-1048576)|0;d=C;e=Bg(e|0,0,52)|0;d=d|C;e=o|e}else{e=Fg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function Zb(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=3;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=ib[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=ib[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=ib[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=ib[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=ib[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Ac(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[235];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}kb[c[o>>2]&3](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function _b(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=ih(b)|0;c[t>>2]=q;c[v>>2]=Jh(q<<2)|0;rf(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=zi(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=Xi(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}rf(g,r,Ge(p,h-s|0,r,q)|0);u=u-o|0}x=Xi(g)|0;u=((x|0)<0)<<31>>31;Ib(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,1,4,x,u,g);Gh(v);C=u;i=w;return x|0}function $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Ed(b)|0)>>>0>4095){c[e>>2]=b;rh(14026,e)}xi(f,b)|0;oh(f)|0;b=Db(f,14045)|0;if(!b){a[d>>0]=a[14049]|0;a[d+1>>0]=a[14050]|0;a[d+2>>0]=a[14051]|0;a[d+3>>0]=a[14052]|0;a[d+4>>0]=a[14053]|0}else{a[b>>0]=0;sg(f)|0;cf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=wh(f,47)|0;if(g){ue(g,b,e,1);if(!((Ve(d,14049)|0)!=0?(Ve(d,14066)|0)!=0:0)){e=yd(g,14072,14074)|0;cf(d+6176|0,4096,e);Di(e)}a[g>>0]=0;if(!(Ve(d,14078)|0)){g=g+1|0;Dd(g,d+6176|0,Ed(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=wh(f,64)|0;if(!g){if(!((Ve(d,14049)|0)!=0?(Ve(d,14066)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Ve(d,14078)|0)){b=d+16|0;e=14082;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=14092;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=wh(f,58)|0;if(!b){e=d+16|0;cf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;cf(e,2048,f);f=d+2064|0;cf(f,2048,b+1|0);b=f}nd(e,e,Ed(e)|0);nd(b,b,Ed(b)|0);f=g+1|0}b=wh(f,58)|0;do if(!b){if(!(Ve(d,14049)|0)){h=d+6160|0;a[h>>0]=a[14110]|0;a[h+1>>0]=a[14111]|0;a[h+2>>0]=a[14112]|0}if(!(Ve(d,14066)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Ve(d,14078)|0)){h=d+6160|0;a[h>>0]=a[14113]|0;a[h+1>>0]=a[14114]|0;a[h+2>>0]=a[14115]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){cf(d+6160|0,16,e);break}else{c[h>>2]=e;rh(14116,h)}}while(0);cf(d+4112|0,2048,f);i=j;return}function ac(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[956+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+4>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+8>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+12>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+16>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+20>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+24>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+28>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[956+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function bc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ah(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ah(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Ah(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Ah(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Ka(6,p|0)|0}d=Ah(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ah(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ah(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function cc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Tg(512)|0;$b(b,s);h=Oa(14368)|0;p=(h|0)!=0;if(p){$b(h,q);Xd(r|0,q|0,10280)|0;h=Ae(r,b)|0}else{Xd(r|0,s|0,10280)|0;h=Ae(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=eh(b)|0;j=ii(b,59)|0;if((j|0)!=0?(Nf(14054,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;vg(k,14379,l);Di(b);c[m>>2]=f;vg(k,14390,m);if((Qe(s,14049)|0)==0?(Qe(14110,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Qe(s,14066)|0)==0?(Qe(14145,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;vg(k,14418,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;vg(k,14407,n)}b=c[t>>2]|0;Xd(r|0,s|0,10280)|0;fe(r,14432,b);if(p){Xd(r|0,q|0,10280)|0;fe(r,14446,b);k=c[t>>2]|0}else k=b;ci(k,14466);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;vg(k,14505,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;vg(k,14480,u);break}}while(0);if(g|0)ci(c[t>>2]|0,g);v=c[t>>2]|0;ci(v,14526);Je(h,c[v+4>>2]|0,c[v+12>>2]|0);th(t)}i=w;return h|0}function dc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function ec(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 fc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(pb[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((pb[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((pb[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((pb[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){td(b,p,e);Wc(a,b,d,g,h)}i=r;return}function gc(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=+k;l=+l;m=m|0;n=n|0;var o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+32|0;z=A+24|0;y=A;u=e>>>0>b>>>0?b:e;s=h;t=j;r=+(f>>>0);f=c[n>>2]|0;while(1){if(u>>>0<=d>>>0){v=19;break}do if(f){e=f+4|0;if((c[e>>2]|0)==(a|0)?(w=c[f+12>>2]|0,w>>>0>d>>>0):0){o=w;break}o=Sd(48)|0;c[o+4>>2]=a;if((c[e>>2]|0)==(a|0)?(x=c[f+12>>2]|0,(x+m|0)>>>0>d>>>0):0){c[o+8>>2]=x;q=x;e=o;f=o;v=11}else{e=o;f=o;v=9}}else{f=Sd(48)|0;c[f+4>>2]=a;e=f;v=9}while(0);if((v|0)==9){c[e+8>>2]=d;q=d;v=11}if((v|0)==11){v=0;o=q+m|0;c[e+12>>2]=o>>>0>b>>>0?b:o;g[e+20>>2]=s;g[e+24>>2]=t;c[e>>2]=c[n>>2];c[n>>2]=e;o=c[f+12>>2]|0}e=f+8|0;o=ch(d,u,c[e>>2]|0,o)|0;if((o|0)<1){v=13;break}p=+(o|0)/+(u-d|0);e=f+16|0;c[e>>2]=~~(r*p+ +((c[e>>2]|0)>>>0))>>>0;e=f+20|0;if(+g[e>>2]>h)g[e>>2]=s;e=f+24|0;if(+g[e>>2]<j)g[e>>2]=t;q=f+28|0;g[q>>2]=p*k+ +g[q>>2];q=f+32|0;g[q>>2]=p*l+ +g[q>>2];d=o+d|0}if((v|0)==13){m=c[e>>2]|0;A=c[f+12>>2]|0;c[y>>2]=d;c[y+4>>2]=u;c[y+8>>2]=m;c[y+12>>2]=A;c[y+16>>2]=a;c[y+20>>2]=b;Vg(17594,y);c[z>>2]=17578;c[z+4>>2]=419;rh(17691,z)}else if((v|0)==19){i=A;return}}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}lf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=Xi(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=cg(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=Zg(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Ig(2,16398,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Ig(2,16430,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Ig(2,16458,o);f=f+1|0}Ig(2,16462,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;tc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=Xi(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=Xi(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=16526;rh(16464,s)}else if((f|0)==14){Ec(b,a,0,d+-2|0,e);i=t;return}}function ic(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=cg(f|0,b|0,10,0)|0;f=C;e=Zg(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Zg(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Ng(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function jc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=Zg(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;rf(o,z,1);rf(o,B,1);rf(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;se(r|0,0,m|0)|0;kb[l&3](G,r);rf(o,r,m);rf(o,A,8);G=A;G=Zg(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;Sg(o,0,x);p=p+1|0}k=t}if((d|0)==9)za(16932,16915,491,16959);else if((d|0)==13){i=E;return w|0}return 0}function kc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;rf(n,B,1);rf(n,D,1);rf(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=Zg(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=cg(o|0,p|0,f|0,x|0)|0;p=d+p|0;se(v|0,0,k|0)|0;kb[j&3](p,v);rf(n,v,k);rf(n,mb[l&3](p)|0,m);p=Zg(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;Sg(n,0,y);r=Zg(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=Ng(u|0,t|0,p|0,0)|0;q=C;p=Zg(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)za(16975,16915,529,16991);else if((o|0)==11){i=E;return}}function lc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function mc(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[5945]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ah(fb(146,n|0)|0)|0}else{ua(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ah(fb(146,m|0)|0)|0;la(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 nc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Fc(23398,f<<24>>24,4)|0){e=qb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Ra(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5946]|0))c[e+76>>2]=-1;Ya(23808);f=c[5951]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5951]=e;Sa(23808)}}else{c[(nh()|0)>>2]=22;e=0}i=o;return e|0}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;q=r;p=r+8|0;c[p>>2]=0;a:while(1){if(!a){a=15;break}n=a+36|0;o=c[b+(c[n>>2]<<4)+12>>2]|0;b:do switch(c[a+16>>2]|0){case 1:{f=a+20|0;while(1){f=c[f>>2]|0;if(!f)break b;Uf(c[n>>2]|0,o,c[f+4>>2]|0,c[f+8>>2]|0,+g[f+12>>2],d,p)}}case 2:{f=a+32|0;h=a+28|0;j=0;k=c[a+20>>2]|0;while(1){if((j|0)>=(e[f>>1]|0|0))break b;m=c[k>>2]|0;Uf(c[n>>2]|0,o,m,(c[h>>2]|0)+m|0,+g[k+4>>2],d,p);j=j+1|0;k=k+8|0}}case 3:{f=a+32|0;h=a+28|0;j=a+24|0;k=0;l=c[a+20>>2]|0;m=c[a+8>>2]|0;while(1){if((k|0)>=(e[f>>1]|0|0))break b;Uf(c[n>>2]|0,o,m,(c[h>>2]|0)+m|0,+g[l>>2],d,p);k=k+1|0;l=l+4|0;m=(c[j>>2]|0)+m|0}}default:{a=13;break a}}while(0);a=c[a>>2]|0}if((a|0)==13){c[q>>2]=17712;c[q+4>>2]=866;rh(17691,q)}else if((a|0)==15){ag(p);i=r;return c[p>>2]|0}return 0}function pc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Tg(4096)|0;while(1){if((dd(b,1e6)|0)<=0){j=3;break}g=Pf(b,m,4096)|0;if(g){Le(c[o>>2]|0,m,g);if(!(zg(c[(c[o>>2]|0)+4>>2]|0,16462)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Ed(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Ed(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Vg(14189,n);g=0}else if((j|0)==18){g=Bd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Vg(14233,p);g=0;break}if(!e)th(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function qc(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+16|0;m=n;do if(a){d=0;b=0;k=a;a=0;a:while(1){if(!k){f=15;break}b:do switch(c[k+16>>2]|0){case 1:{g=k+20|0;f=1073741823;while(1){g=c[g>>2]|0;if(!g)break b;j=(c[g+8>>2]|0)-(c[g+4>>2]|0)|0;f=(f|0)>(j|0)?j:f}}case 2:{g=e[k+32>>1]|0;h=1;j=c[k+20>>2]|0;f=1073741823;while(1){if((h|0)>=(g|0))break;p=j+8|0;o=(c[p>>2]|0)-(c[j>>2]|0)|0;h=h+1|0;j=p;f=f>>>0>o>>>0?o:f}if((f|0)==1073741823)f=c[k+28>>2]|0;break}case 3:{f=c[k+24>>2]|0;break}default:{f=13;break a}}while(0);p=Zg(f|0,((f|0)<0)<<31>>31|0,d|0,b|0)|0;d=p;b=C;k=c[k>>2]|0;a=a+1|0}if((f|0)==13){c[m>>2]=17712;c[m+4>>2]=754;rh(17691,m)}else if((f|0)==15){l=Zg(a>>>1|0,0,d|0,b|0)|0;l=Kh(l|0,C|0,a|0,0)|0;break}}else l=1;while(0);i=n;return l|0}function rc(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;q=i;i=i+16|0;o=q;h=q+4|0;n=c[b+24>>2]|0;l=Jh(n<<2)|0;Ie(h,b);g=l;j=md(h)|0;k=0;while(1){if(!j)break;m=j+4|0;c[g>>2]=c[m>>2];m=Ed(c[m>>2]|0)|0;g=g+4|0;j=md(h)|0;k=m>>>0>k>>>0?m:k}Sb(l,n,4,5);m=Jh(n<<4)|0;g=0;while(1){if((g|0)>=(n|0)){h=0;g=24456;l=a;break}j=l+(g<<2)|0;c[m+(g<<4)+4>>2]=c[j>>2];c[m+(g<<4)+8>>2]=g;c[m+(g<<4)+12>>2]=oi(b,c[j>>2]|0)|0;g=g+1|0}while(1){if(!l){p=18;break}j=c[l+4>>2]|0;if(!(Qe(j,g)|0))c[l+36>>2]=h;else{g=0;while(1){if((g|0)>=(n|0))break;if(!(Qe(j,c[m+(g<<4)+4>>2]|0)|0)){p=11;break}g=g+1|0}if((p|0)==11){p=0;c[l+36>>2]=g}if((g|0)==(n|0)){p=14;break}h=c[l+36>>2]|0;g=j}l=c[l>>2]|0}if((p|0)==14){c[o>>2]=j;rh(17649,o)}else if((p|0)==18){c[d>>2]=n;c[e>>2]=m;c[f>>2]=k;i=q;return}}function sc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;rf(l,n,4);rf(l,p,4);rf(l,r,4);rf(l,s,4);rf(l,o,8);rf(l,m,4);rf(l,m,4);f=Xi(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=jc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=Xi(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=16915;c[q+4>>2]=572;rh(17691,q)}else if((f|0)==8){kc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function tc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=ih(c[k>>2]|0)|0;rf(m,n,1);rf(m,o,1);rf(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;rf(m,k+12|0,4);rf(m,k+16|0,4);rf(m,k+20|0,4);rf(m,k+24|0,4);rf(m,q,8);j=q;j=Zg(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;Sg(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=tc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function uc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23828:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9500+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(nh()|0)>>2]=84;f=-1}i=l;return f|0}function vc(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Va(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Pf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Ng(1,0,g|0,e|0)|0;b=Zg(b|0,C|0,d|0,h|0)|0}r=(Of(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)qf(14805,l);if((b|0)==-1)qf(14836,o);ig(c[m>>2]|0)|0;ig(c[a+12>>2]|0)|0;ig(c[n>>2]|0)|0;i=q;return 0}function xc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){sd(b);break}if((ig(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];rh(13295,k)}}else{if(!(c[a+20>>2]&2)){if(dg(d)|0){c[f>>2]=c[a+12>>2];rh(13264,f)}}else{fd(d)|0;if(dg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];rh(13234,e)}}if((ge(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];rh(13295,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((gb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)yf(12917,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;rh(13325,l)}if(b|0)za(13366,12570,435,13384);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;rh(13400,m)}i=n;return d>>>8&255|0}function zc(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+120|0;r=s+80|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((tb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=fj(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=tb(b,d,o,q,r)|0;if(h){ib[c[b+36>>2]&7](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=tb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)ej(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Ac(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=ac(0,0,0)|0;else d=Yb(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Hf(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;se(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[188+(h*12|0)+2>>1];c[a+140>>2]=e[188+(h*12|0)>>1];c[a+144>>2]=e[188+(h*12|0)+4>>1];c[a+124>>2]=e[188+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=eh(24456)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Sd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;hg(h,4,12364,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Tg(512)|0;c[h>>2]=f;ci(f,b);ci(f,14045);d=b+16|0;if(a[d>>0]|0){d=Bc(d)|0;ci(f,d);Di(d);d=b+2064|0;if(a[d>>0]|0){ci(f,14141);d=Bc(d)|0;ci(f,d);Di(d)}ci(f,14143)}ci(f,b+4112|0);if(!((Qe(b,14078)|0)==0?!(Qe(14113,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Qe(b,14049)|0)==0?(Qe(14110,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Qe(b,14066)|0)==0?(Qe(14145,d)|0)==0:0)break;ci(f,14141);ci(f,d)}while(0);ci(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,vg(f,14149,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;vg(f,14166,k)}k=rg(h)|0;i=l;return k|0}function Dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Jb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}ig(a)|0;if((h|0)>0)Di(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Nf(19314,f)|0)==0?(Nf(19322,f)|0)==0:0){g=11;break}f=Zd(g,f)|0;c[j>>2]=f;a=Wb(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Vg(15556,k);g=14}else if((g|0)==11){c[l>>2]=f;Vg(15610,l);g=14}else if((g|0)==13){c[m>>2]=f;Vg(15640,m);g=14}if((g|0)==14)if((b|0)>0){Di(f);b=0}else b=0;i=n;return b|0}function Ec(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=ih(c[g>>2]|0)|0;rf(j,k,1);rf(j,l,1);rf(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;rf(j,g+12|0,4);rf(j,g+16|0,4);rf(j,g+20|0,4);rf(j,g+24|0,4);f=g+32|0;rf(j,f,8);h=g+40|0;f=Ng(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;rf(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;Sg(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Ec(d,g,k,h,j)}}while(0);i=o;return}function Fc(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|0)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?b:0)|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,l=0,m=0;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ah(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(nh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ah(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;bc(e,2,j)|0}if(b&2048){c[h>>2]=bc(e,3,k)|0|2048;bc(e,4,h)|0}}}}while(0);i=l;return e|0}function Hc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5945]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ah(eb(145,h|0)|0)|0}else{ua(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ah(eb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Jc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=ih(a)|0;c[j>>2]=h;c[k>>2]=Jh(h<<2)|0;rf(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=Xi(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;rf(f,e+4|0,4);rf(f,e+8|0,4);rf(f,e+12|0,4);rf(f,e+16|0,4);Qg(f,+g[e+20>>2]);Qg(f,+g[e+24>>2]);Qg(f,+g[e+28>>2]);Qg(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=Xi(f)|0;e=((h|0)<0)<<31>>31;Ib(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,1,4,h,e,f);Gh(k)}else{h=_b(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=Wb(a,0)|0;if((d|0)<0){c[e>>2]=a;Vg(15640,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Nf(19314,a)|0)==0?(Nf(19322,a)|0)==0:0){e=0;g=7}else if(!(Dc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=eh(a)|0;nd(a,b,Ed(a)|0);do if(!(zg(b,19338)|0)){if(zg(b,19342)|0){Di(b);g=12;break}f=(zg(b,19345)|0)==0;Di(b);if(f)b=Qf(a,1,d)|0;else g=12}else{Di(b);g=12}while(0);if((g|0)==12)b=kg(a,1,d)|0;if(e)Di(e)}}i=h;return b|0}function Lc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)za(16233,16285,388,16297);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Jh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)ag(b);d=d+1|0}Di(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;kb[c[b>>2]&3](c[e>>2]|0,d);d=b;b=c[f>>2]|0}kb[c[d>>2]&3](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Sd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Tg(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){ci(e,12498);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){ci(e,14072);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}ci(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=rg(j)|0;if(!(c[a>>2]|0))rh(12502,k);if(!(b&8))e=0;else{Cg(l,me(72,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Cg(l,me(d,l)|0);e=e+1|0}i=m;return l|0}function Oc(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(!(Ne(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=ib[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((ib[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Xd(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 Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Qc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Ed(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Sd(16)|0;else l=Ze(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=di(d,e)|0;else{k=Ze(h,e+1|0)|0;c[l+4>>2]=k;Xd(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Lc(b,dh(m)|0);return l|0}function Sc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=kj()|0;$i(23700)|0;if((c[5932]|0)!=0&(a|0)==(c[5933]|0)){Of(2,13424,61)|0;Ma(1)}Zi(23700)|0;$i(23736)|0;$i(23700)|0;c[5933]=a;c[5932]=1;Zi(23700)|0;if(!(c[5941]|0))c[5941]=ce(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;hg(d,64,14166,b)|0;a=Be(c[5941]|0,d)|0;if(!a){a=Sd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Sh(c[5941]|0,d,a)|0}$i(23700)|0;c[5932]=0;Zi(23700)|0;Zi(23736)|0;i=e;return c[a+8>>2]|0}function Tc(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;m=i;i=i+16|0;l=m;c[l>>2]=0;k=0;h=24456;j=0;while(1){if(!a)break;g=c[a+4>>2]|0;if(!(Qe(g,h)|0))g=h;else{$g(l,g);h=Ed(g)|0;k=k+1|0;j=(h|0)>(j|0)?h:j}c[a+36>>2]=k+-1;h=g;a=c[a>>2]|0}ag(l);g=Jh(k<<4)|0;h=0;a=l;while(1){a=c[a>>2]|0;if((h|0)>=(k|0))break;n=c[a+4>>2]|0;c[g+(h<<4)+4>>2]=n;c[g+(h<<4)+8>>2]=h;c[g+(h<<4)+12>>2]=oi(b,n)|0;h=h+1|0}Dg(l);c[d>>2]=k;c[e>>2]=g;c[f>>2]=j;i=m;return}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Vc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=tf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Wc(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((pb[d&15](k,j)|0)>-1?(pb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((pb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);td(b,o,e);i=p;return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9704;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(nh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=zc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Qe(b,19426)|0){if(!(Qe(b,15815)|0)){f=c[2287]|0;break}e=Ld(b,d)|0;if(!e){a:do if(!d)e=24456;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15843;break a}case 119:{e=15833;break a}default:{e=e<<24>>24==97?15822:24456;break a}}}while(0);d=Yd(c[(nh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;rh(15852,g)}else f=e}else f=c[2346]|0;while(0);i=h;return f|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ee(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=ab(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Qi(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;Wi(f);break}else{b=Ua(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Vg(15729,f);b=0;break}}else{Pe(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function _c(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Sd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20002+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20002+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20002+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20002+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function $c(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[19198+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[19198+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ca(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))yf(12643,k);l=yh()|0;if(fg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;yf(12666,f)}if(b|0?(Df(b,0)|0)<0:0)yf(12693,g);if((d|0)!=1?(Df(d,1)|0)<0:0)yf(12713,h);if((e|0)!=2?(Df(e,2)|0)<0:0)yf(12734,j);Eg();i=k;return}function bd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(ui(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=cg(c|0,d|0,10,0)|0;b=b+1|0;c=Ng(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Ng(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function cd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=Tb(a,b)|0;if((a|0)<0)a=-1;else{if((dd(a,1e6)|0)>0)kh(a,24456,0,0)|0;c[g>>2]=0;c[h>>2]=d;hg(f,256,14276,h)|0;do if(kh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,hg(f,256,14286,j)|0,(kh(a,f,0,0)|0)==0):0){ig(a)|0;a=-1;break}if(!(kh(a,14296,0,0)|0)){ig(a)|0;a=-1}}else{ig(a)|0;a=-1}while(0)}i=k;return a|0}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=jf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(nh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=Yd(a)|0;Vg(14171,m)}i=n;return a|0}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Ke(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Sd(5)|0;c[g>>2]=f;if((Pf(e,f,4)|0)<4)Gh(g);else a[f+4>>0]=0;ig(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Od(e)|0,Gh(h),(g|0)!=0):0){h=Tf(pe(b)|0,33,b,0)|0;e=Qf(b,d,Oi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function fd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Nd(a)|0;break}d=(fj(a)|0)==0;b=Nd(a)|0;if(!d)ej(a)}else{if(!(c[2316]|0))b=0;else b=fd(c[2316]|0)|0;Ya(23808);a=c[5951]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=fj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Nd(a)|0|b;if(d|0)ej(a);a=c[a+56>>2]|0}while((a|0)!=0);Sa(23808)}while(0);return b|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;d=0;e=f;while(1){if(!e){g=d;break}d=d+1|0;e=c[e>>2]|0}if((g|0)>1){h=Vd(g<<2)|0;d=f;e=0;while(1){if(!d)break;c[h+(e<<2)>>2]=d;d=c[d>>2]|0;e=e+1|0}Sb(h,g,4,b);d=0;e=0;while(1){if((d|0)==(g|0))break;b=h+(d<<2)|0;c[c[b>>2]>>2]=e;d=d+1|0;e=c[b>>2]|0}Di(h);d=0;while(1){if(!e)break;g=c[e>>2]|0;c[e>>2]=d;h=e;e=g;d=h}c[a>>2]=d}return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=wf(e,0)|0;c[n>>2]=g;Kf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=wf(d,e)|0;else if(!f){e=Ke(d,0,h)|0;if((e|0)<0){c[k>>2]=d;yf(13203,k)}else j=e}else j=0;c[m>>2]=j;e=Xe(a,b,j,g)|0;xf(m);if(!l)xf(n);i=o;return e|0}function id(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[(nh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=yh()|0;c[g>>2]=f;hg(a,256,18960,g)|0;d=He(a,1)|0;c[g>>2]=d;if(!d){j=c[2317]|0;c[b>>2]=a;ug(j,18997,b)|0;a=j}else{while(1){if(!(Gf(d,e)|0))break;a=c[e>>2]|0;if(Db(a,18976)|0){j=5;break}}if((j|0)==5){j=c[2317]|0;c[h>>2]=f;c[h+4>>2]=a;ug(j,18983,h)|0}sd(g);a=c[2317]|0}fd(a)|0;i=k;return}function kd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Vd(k)|0;Xd(j|0,d|0,e|0)|0;Di(c);d=j;e=k;c=j}k=xb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=eh(d)|0;Di(c);c=l}i=h;return c|0}function ld(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function md(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;do if(b){g=c[b>>2]|0;c[f>>2]=g;if(!g){g=a+4|0;e=c[a>>2]|0;d=c[e+16>>2]|0;e=e+8|0;a=c[g>>2]|0;while(1){a=a+1|0;if((a|0)>=(d|0)){d=5;break}if(c[(c[e>>2]|0)+(a<<2)>>2]|0){d=7;break}}if((d|0)==5){c[g>>2]=a;break}else if((d|0)==7){c[g>>2]=a;c[f>>2]=c[(c[e>>2]|0)+(a<<2)>>2];break}}}else b=0;while(0);return b|0}function nd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((xg(f,12360,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function od(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;se(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){Oc(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;Oc(h,f,a)|0}while(0);i=j;return}function pd(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(!(Ne(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((ib[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function qd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){wg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Xc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;wg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function rd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(fj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=pd(d,b)|0;ej(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=pd(d,b)|0}while(0);return e|0}function sd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(uh(c[2346]|0)|0):0){ig(c[d>>2]|0)|0;Di(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Ob(d)}else Wg(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)jb[d&3](f);Di(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Hd(g);Gh(b)}return}function td(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;Xd(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;Xd(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function ud(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=Ng(h^a|0,g^b|0,h|0,g|0)|0;b=C;Rb(a,b,Ng(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Ng(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function vd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Pf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;yf(15912,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;rh(15937,g)}else if((d|0)==8){i=h;return}}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(ui(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(ui(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ed(b)|0;h=Ed(c)|0;d=0;e=Db(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Db(e+g|0,b)|0}f=Ed(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Sd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Db(a,b)|0;d=f;while(1){if(!a)break;xi(d,e)|0;j=a+g|0;i=d+(a-e)|0;xi(i,c)|0;e=j;a=Db(j,b)|0;d=i+h|0}xi(d,e)|0;return f|0}function zd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Bh(f,-1,20067,56)|0;if(a|0){f=a;i=g;return f|0}a=rb(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Mc(f)|0;i=g;return f|0}else{Mc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Ad(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Bg(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Bd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(ui(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(ib[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((ib[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Dd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((xg(f,12360,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ed(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 Fd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Fg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Fd(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 Gd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Be(c[e>>2]|0,d)|0)){Sh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;ug(g,19454,h)|0}}}while(0);i=j;return}function Hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;si(d);d=g}e=e+1|0}}else{ph(b);b=d+8|0}while(0);Di(c[b>>2]|0);Gh(a)}return}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=bc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((bc(a,4,f)|0)<0){c[g>>2]=Yd(c[(nh()|0)>>2]|0)|0;Vg(13730,g);d=-1}else d=0}else{c[e>>2]=Yd(c[(nh()|0)>>2]|0)|0;Vg(13699,e);d=-1}i=h;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;Xg(e,b,16);c[2]=qe(12294,c[2]|0)|0;c[3]=qe(12304,c[3]|0)|0;c[5921]=Ji(12317)|0;c[5922]=(Ji(12322)|0)==0&1;c[5923]=Ji(12326)|0;c[5924]=Ji(12345)|0;if((c[e>>2]|0)!=4)yg();Kg(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);if((gj()|0)>1)jd();i=d;return 0}function Kd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[19206+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[19214+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[19214+f>>0]}while(0);return}function Ld(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Fc(23398,a[d>>0]|0,4)|0){h=df(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ah(_a(5,e|0)|0)|0;if((e|0)>=0){b=nc(e,d)|0;if(!b){c[f>>2]=e;Ka(6,f|0)|0;b=0}}else b=0}else{c[(nh()|0)>>2]=22;b=0}i=g;return b|0}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;rh(16665,d)}d=Ai(a,b)|0;if(!d){g=c[(nh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;rh(16729,e)}else{i=f;return d|0}return 0}function Nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(ib[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)ib[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Nf(19274,a)|0))if(!(Nf(19277,a)|0))if(!(Nf(19281,a)|0))if(!(Nf(19284,a)|0))a=0;else{a=19289;e=5}else{a=19293;e=5}else{a=19297;e=5}else{a=19299;e=5}if((e|0)==5){c[d>>2]=a;hg(b,20,19302,d)|0;a=eh(b)|0}i=f;return a|0}function Pd(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=Ng(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Ng((Rb(h,g,Ng(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;zf(h,0);e=+sb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Rd(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=Rf(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Kh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Sd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;rh(16801,b)}b=Ui(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(16854,d)}else{se(b|0,0,a|0)|0;i=e;return b|0}return 0}function Td(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)ib[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Ud(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=19148;break}case 2:{a=19127;break}case -1:{a=19116;break}case -2:{a=19100;break}case -3:{a=19100;break}case -4:{a=19085;break}case -5:{a=19070;break}case -6:{a=19051;break}case 0:{a=0;break}default:{c[b>>2]=a;hg(24328,128,19032,b)|0;a=24328}}i=d;return a|0}function Vd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;rh(16541,b)}b=Ui(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(16599,d)}else{i=e;return b|0}return 0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=qb(b)|0;return a|0}if(b>>>0>4294967231){c[(nh()|0)>>2]=12;a=0;return a|0}d=Lb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=qb(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;Xd(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;yb(a);a=d;return a|0}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ga(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 Yd(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21466+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21554;e=5;break}}if((e|0)==2)if(!c)b=21554;else{b=21554;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 Zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;$b(b,g);$b(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){cf(e,2048,d);cf(f+2064|0,2048,g+2064|0)}g=Cc(f)|0;i=h;return g|0}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Gf(b,d)|0))break;if((Nf(19643,c[d>>2]|0)|0)==0?(Nf(19651,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Ig(2,19694,f)}if((g|0)==5){c[e>>2]=c[d>>2];Ig(2,19657,e);a[b+48>>0]=1}i=h;return}function $d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ae(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;rh(15657,k)}else{c[j>>2]=e;Ih(d,j)}return 0}function be(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;m=o+4|0;l=ve(b)|0;b=lg(0)|0;c[m>>2]=b;b=vb(a,f,l,e,b)|0;if(!b){c[n>>2]=a;rh(18893,n)}else{zb(b,l,d,e,g,h,j,k);ph(m);i=o;return}}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)za(16233,16285,357,16340);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=lg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Jh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function de(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;zf(j,0);e=Eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;i=i+16|0;e=f;c[e>>2]=0;while(1){if(!a)break;h=c[a+4>>2]|0;gc(h,c[b+(h<<4)+12>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,+g[a+20>>2],+g[a+24>>2],+g[a+28>>2],+g[a+32>>2],d,e);a=c[a>>2]|0}ag(e);i=f;return c[e>>2]|0}function fe(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;hg(h,256,14347,j)|0;j=_c(h,Ed(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;vg(e,14353,k);Gh(g)}i=l;return}function ge(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ya(23808);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5951]|0)==(a|0))c[5951]=b;Sa(23808)}b=fd(a)|0;b=mb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)yb(d);if(!e)yb(a);return b|0}function he(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=ff(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16114;else e=(d|0)==2?16073:16082;else e=16105;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;yf(16123,g);return 0}function ie(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2287]|0;if((c[f+76>>2]|0)>-1)g=fj(f)|0;else g=0;do if((mi(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=(pd(f,10)|0)<0}while(0);if(g|0)ej(f);return d<<31>>31|0}function je(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Di(e);f=f+1|0}Di(b);Di(i);i=h}Gh(g+12|0);Gh(g+28|0);Gh(a)}return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Bi(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;rh(19595,g);return +(0.0)}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;rh(19547,f)}j=Bd(d)|0;i=g;return j|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Sd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=eh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Ic(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Pc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2287]|0);if((b|0)==(c[2346]|0)|d)if(d){fd(b)|0;b=1}else b=1;else if(!(ge(b)|0))b=1;else{qf(16168,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function pe(a){a=a|0;var b=0;b=eh(a)|0;if(!(((Nf(19314,a)|0)==0?(Nf(19322,a)|0)==0:0)?!(Nf(19331,a)|0):0))nd(a,b,Ed(a)|0);if(!(zg(b,19338)|0))if(!(zg(b,19342)|0))if(!(zg(b,19345)|0)){a=(zg(b,19350)|0)==0;a=a?0:140}else a=176;else a=164;else a=152;Di(b);return a|0}function qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=gg(b)|0;do if((f|0)!=0?(Qe(f,17428)|0)!=0:0){d=Nh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;rh(17151,h)}else e=d;while(0);i=j;return e|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Jh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;rh(17549,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function se(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 te(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=wi(e&65535)|0;if(d){h=Ri(Zc(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=ii(b,59)|0;if((g|0?Nf(14054,g)|0:0)?(i=(wh(g,61)|0)+1|0,h=wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=bd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=bd(b)|0;c[e>>2]=f}}return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ce(0,1)|0;b=qh(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(_f(b,f,2)|0))break;b=c[f>>2]|0;_h(d,b,hh(c[a>>2]|0)|0)|0;b=c[e>>2]|0}sd(e);i=g;return d|0}function we(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 xe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ah(pa(102,h|0)|0)|0;i=g;return e|0}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Tg(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){ci(e,14072);b=c[d>>2]|0}ci(e,b);f=f+1|0}g=rg(g)|0;i=h;return g|0}
+function ze(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ah(pa(102,h|0)|0)|0;i=g;return e|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Qe(a,14049)|0)if(!(Qe(a,14066)|0)){d=Rg(a+4112|0,Bd(a+6160|0)|0)|0;break}else{c[e>>2]=b;rh(14305,e)}else d=Tb(a+4112|0,Bd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Qe(c[e+4>>2]|0,d)|0)!=0);return e|0}function Ce(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((Ah(cb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function De(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;if(((a[e>>0]|0)+-48|0)>>>0<10){f=hh(e)|0;i=g;return f|0}else{h=c[b+28>>2]|0;g=c[b+4>>2]|0;c[f>>2]=d;c[f+4>>2]=e;c[f+8>>2]=h;c[f+12>>2]=g;rh(17981,f)}return 0}function Ee(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Fe(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Ed(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(ui(d<<24>>24)|0)!=0;d=d&1}return d|0}function Ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=zd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=Ud(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;rh(19164,g)}return 0}function He(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Qe(a,19426)|0){if(pe(a)|0){c=ed(a,b)|0;break}c=Ke(a,0,c)|0;if((c|0)==-1)c=0;else c=Qf(a,b,c)|0}else c=ji(b)|0;while(0);i=d;return c|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=b+8|0;e=c[b+16>>2]|0;d=0;while(1){if((d|0)>=(e|0)){e=0;break}if(c[(c[f>>2]|0)+(d<<2)>>2]|0){g=5;break}d=d+1|0}if((g|0)==5)e=c[(c[f>>2]|0)+(d<<2)>>2]|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;return}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Of(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)yf(15979,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;rh(16005,e)}}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ah(_a(5,f|0)|0)|0;i=e;return d|0}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);wg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;Xd(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ah(pa(102,f|0)|0)|0;i=e;return d|0}function Ne(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 Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Zg(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Je(b,d,e);return}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((Vb(2,a,d)|0)<0){b=Yd(c[(nh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Vg(15688,e);a=0}else{c[b>>2]=Qi(c[d>>2]|0)|0;a=1}i=f;return a|0}function Qe(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 Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Zg(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;vd(b,d,e);return}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((xe(a,1,20,d,8)|0)>=0)if((xe(a,1,21,d,8)|0)<0){Vg(13594,e);a=-1}else a=0;else{Vg(13544,f);a=-1}i=f;return a|0}function Te(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,Ra(54,f|0)|0):0)a[b+75>>0]=-1;f=mc(b,d,e)|0;i=g;return f|0}function Ue(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Kb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=xd(f,d,e)|0;if(f|0)break}i=j;return f|0}function Ve(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=gi(a[e>>0]|0)|0;c=c<<24>>24;b=(gi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function We(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 Xe(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;Kf(b);a=Nc(a,b)|0;if(!(b&1)){b=Vf(a+16|0)|0;c[f>>2]=b;Pb(a,b,d,e,0,0);xf(f)}else Ff(a,d,e,0,0);i=g;return a|0}function Ye(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=ub(e,b,d)|0;i=g;return h|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=re(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function _e(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=ib[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Xc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;rh(16182,g)}return 0}function af(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[b>>2]|0;a=Qe(c[e+4>>2]|0,c[d+4>>2]|0)|0;if(!a){b=c[e+8>>2]|0;a=c[d+8>>2]|0;if((b|0)==(a|0))a=(c[e+12>>2]|0)-(c[d+12>>2]|0)|0;else a=b-a|0}return a|0}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Fc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;Xd(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Ed(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;rh(15769,f)}else{xi(a,d)|0;i=g;return}}function df(b){b=b|0;var c=0,d=0,e=0;d=(wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wh(b,120)|0)==0;d=e?d:d|128;b=(wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(19507,e)}}function ff(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ah(cb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function gf(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=(fj(e)|0)==0;a=Oc(a,f,e)|0;if(!g)ej(e)}else a=Oc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function hf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2287]|0;else{ie(13486)|0;ie(13511)|0;d=c[2287]|0;zc(d,a,b)|0;rd(10,d)|0;fd(d)|0}fd(d)|0;d=c[2317]|0;zc(d,a,b)|0;rd(10,d)|0;fd(d)|0}return}function jf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ah(db(142,h|0)|0)|0;i=g;return d|0}function kf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)lf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function mf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Vd(h)|0;a=a+136|0;bg(a,b,d+64|0,0)|0;Re(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=He(a,b)|0;if(!b){e=Yd(c[(nh()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;rh(19432,d)}else{i=e;return b|0}return 0}function of(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Gg(e)|0,(a[d>>0]|0)!=0):0){e=Ef(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function pf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=Yd(c[(nh()|0)>>2]|0)|0;c[g+4>>2]=a;tg(f,13538,g)|0;Yg(f,e);i=d;return}function rf(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?(gf(b,d,1,a)|0)!=1:0){a=Yd(dg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;rh(15882,e)}i=f;return}function sf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Xd(b,c,d)|0;return b|0}function tf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Td(a)|0)!=0:0)b=-1;else if((ib[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;rh(12860,e)}}function vf(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 wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Ke(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;yf(13171,d)}else{i=e;return b|0}return 0}function xf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((ig(b)|0)<0){c[d>>2]=b;yf(12895,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=Yd(c[(nh()|0)>>2]|0)|0;c[f+4>>2]=a;tg(e,13538,f)|0;Ih(e,d)}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((ig(b)|0)<0)yf(16155,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;b=c[e+4>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0))a=(c[e+8>>2]|0)-(c[a+8>>2]|0)|0;else a=b-d|0;return a|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Rh(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else za(19370,19392,352,19408)}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=qa(63,e|0)|0}while((d|0)==-16);e=Ah(d)|0;i=f;return e|0}function Ef(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(ui(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Ff(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[a+16>>2]=Vf(h)|0;Pb(a,b,c[h>>2]|0,d,e,f);xf(h);i=g;return}function Gf(b,d){b=b|0;d=d|0;a:while(1){if(!(Kb(b,d,0)|0)){b=0;break}switch(a[(Gg(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Hf(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=308;c[a+2852>>2]=a+2440;c[a+2860>>2]=444;c[a+2864>>2]=a+2684;c[a+2872>>2]=584;b[a+5816>>1]=0;c[a+5820>>2]=0;xc(a);return}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Xd(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Pf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Kf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{rh(12369,c);break}default:{}}if((a&18|0)==16)rh(12435,b);else{i=c;return}}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;a=Be(a,b)|0;if(!a){c[d>>2]=b;rh(16308,d)}else{i=e;return c[a+8>>2]|0}return 0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(fj(a)|0)==0;b=Cd(a,b,d)|0;if(!e)ej(a)}else b=Cd(a,b,d)|0;return b|0}function Nf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah($a(4,f|0)|0)|0;i=e;return a|0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(Wa(3,f|0)|0)|0;i=e;return a|0}function Qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Sd(104)|0;c[f+4>>2]=eh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Sd(65537)|0;return f|0}function Rf(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;Rb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Xe(g,b,d,e)|0;i=f;return e|0}function Tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=hd(g,b,d,e)|0;i=f;return e|0}function Uf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0;i=d-c|0;h=+(i|0)*e;gc(a,b,c,d,i,e,e,h,h*e,f,g);return}function Vf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Jg(b)|0)<0)yf(12532,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Wf(b){b=b|0;var c=0,d=0;c=Ed(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(ui(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+36>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;if((c[20]|0)>=(a|0)){a=c[5942]|0;if(!a){a=c[2317]|0;c[5942]=a}zc(a,b,d)|0;fd(c[5942]|0)|0}return}function _f(a,b,c){a=a|0;b=b|0;c=c|0;b=Ue(a,b,c)|0;if(b)if((b|0)<(c|0)){ef(a,c,b);b=1}else b=1;else b=0;return b|0}function $f(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return he(b,d,e)|0}function cg(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=kf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function dg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(fj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)ej(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function eg(a){a=a|0;var b=0,d=0,e=0;b=0;d=0;while(1){if(!a)break;e=Zg(b|0,d|0,32,0)|0;b=e;d=C;a=c[a>>2]|0}C=d;return b|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ah(Qa(57,e|0)|0)|0;i=d;return a|0}function gg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5943]|0;if(!b)rh(17517,d);else{a=ah(b,a)|0;i=d;return a|0}return 0}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=$e(a,b,d,g)|0;i=f;return e|0}function ig(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ka(6,d|0)|0;a=Ah((a|0)==-4?-115:a)|0;i=b;return a|0}function jg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Qe(d,a)|0))break;b=b+8|0}return b|0}function kg(a,b,d){a=a|0;b=b|0;d=d|0;d=Sf(pe(a)|0,33,d,2)|0;b=Qf(a,b,Oi(d)|0)|0;c[b+56>>2]=d;return b|0}function lg(a){a=a|0;var b=0;b=Sd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;re(b,a)|0;return b|0}function mg(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=Ah(Ka(6,d|0)|0)|0;i=b;return a|0}function ng(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]}function og(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return lb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function qg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Sd(d+1|0)|0;c=(c|0)<(d|0)?c:d;Xd(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function rg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)za(18913,18924,40,18940);else{b=c[b+4>>2]|0;Gh(a);return b|0}return 0}function sg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=hi(c<<24>>24)|0;d=d+1|0}return b|0}function tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Vh(a,b,f)|0;i=e;return d|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=zc(a,b,f)|0;i=e;return d|0}function vg(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;qd(a,b,f);i=e;return}function wg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Rh(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ye(a,b,f)|0;i=e;return d|0}function yg(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=4;c[a+4>>2]=d;c[a+8>>2]=b;rh(11120,a)}function zg(a,b){a=a|0;b=b|0;var c=0;c=Ed(a)|0;c=c-(Ed(b)|0)|0;if((c|0)<0)c=0;else c=(Qe(a+c|0,b)|0)==0&1;return c|0}function Ag(a,b){a=a|0;b=b|0;rf(a,b,8);rf(a,b+8|0,8);rf(a,b+16|0,8);rf(a,b+24|0,8);rf(a,b+32|0,8);return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Cg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Dg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Di(b);b=d}c[a>>2]=0;return}function Eg(){var a=0,b=0;a=Ha(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;ig(b)|0;b=b+1|0}return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Gg(b){b=b|0;if(!b)b=0;else while(1)if(!(ui(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Hg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(fj(a)|0)==0;a=_e(a)|0}else a=_e(a)|0;return a|0}function Ig(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;Zf(a,b,f);i=e;return}function Jg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ah(ta(42,d|0)|0)|0;i=b;return a|0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;be(a,b,c[2]|0,c[3]|0,c[5921]|0,c[5922]|0,c[5923]|0,c[5924]|0,d);return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;a=Md(a,c)|0;if(c>>>0>b>>>0)se(a+b|0,0,c-b|0)|0;return a|0}function Mg(){}function Ng(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 (C=d,a-c>>>0|0)|0}function Og(a){a=a|0;var b=0;if(!a)a=Sd(8)|0;else{b=Sd((Ed(a)|0)+8|0)|0;xi(b+4|0,a)|0;a=b}return a|0}function Pg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[20]=a;c[d>>2]=0;i=b;return}function Qg(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;rf(a,d,4);i=c;return}function Rg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;rh(19222,d);return 0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;rd(b,a)|0;c=c+-1|0}return}function Tg(a){a=a|0;var b=0;b=Sd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Sd(a+1|0)|0;c[b+8>>2]=a;return b|0}function Ug(){var a=0,b=0;b=i;i=i+16|0;a=Gc(2,1,0)|0;if((a|0)<0)Vg(13669,b);i=b;return a|0}function Vg(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;Yg(a,e);i=d;return}function Wg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=yc(b)|0;je(a)}return b|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5943]|0)){Fh(Gb(a,b,0,d,0)|0);c[5944]=d}return}function Yg(a,b){a=a|0;b=b|0;var d=0;d=Sc()|0;kb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=Sh(a,b,d)|0;c[e>>2]=c[d+4>>2];return d|0}function $g(a,b){a=a|0;b=b|0;var d=0;d=Sd(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function ah(a,b){a=a|0;b=b|0;a=Be(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function bh(a,b){a=a|0;b=b|0;if((xd(a,0,5)|0)>(b|0))a=1;else a=fh(a)|0;return a|0}function ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function dh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function eh(a){a=a|0;var b=0;if(!a)a=0;else{b=Ed(a)|0;a=qg(a,b,b)|0}return a|0}function fh(a){a=a|0;if(!(Fe(17895,a)|0))a=(Fe(17908,a)|0)!=0;else a=1;return a&1|0}function gh(a,b){a=a|0;b=b|0;return Qe(c[(c[a>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0}function hh(a){a=a|0;var b=0;b=i;i=i+16|0;a=ae(a,0,b)|0;i=b;return a|0}function ih(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function jh(a,b){a=a|0;b=b|0;return (c[(c[a>>2]|0)+4>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bi(a,b);return pc(a,b,c,d)|0}function lh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function mh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function nh(){var a=0;if(!(c[5945]|0))a=23824;else a=c[(kj()|0)+64>>2]|0;return a|0}function oh(a){a=a|0;if(!a)a=0;else{a=Gg(a)|0;Wf(a)}return a|0}function ph(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Dg(b);Di(b);c[a>>2]=0}return}function qh(a){a=a|0;a=Kc(a)|0;if(!a)xh();else return a|0;return 0}function rh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ih(a,d)}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ib[a&7](b|0,c|0,d|0)|0}function th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Di(c[b+4>>2]|0);Gh(a)}return}function uh(a){a=a|0;if((c[a+76>>2]|0)>-1?fj(a)|0:0)ej(a);return c[a+60>>2]|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;a=Ze(a,c)|0;Xd(a|0,b|0,c|0)|0;return a|0}function wh(b,c){b=b|0;c=c|0;b=Qc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xh(){var a=0;a=Sc()|0;ob[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Ma(-1)}function yh(){var a=0,b=0;b=i;i=i+16|0;a=xa(20,b|0)|0;i=b;return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Af(b+52|0);Gh(a)}return}function Ah(a){a=a|0;if(a>>>0>4294963200){c[(nh()|0)>>2]=0-a;a=-1}return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zb(a,b,8,15,8,0,c,d)|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nb[a&3](b|0,c|0,d|0)}function Dh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Eh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=id(a,b,0)|0;return a|0}function Fh(a){a=a|0;c[5943]=a;if(gg(17009)|0)Pg(qe(17009,0)|0);return}function Gh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)Yi(b);return}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Ih(a,b){a=a|0;b=b|0;c[(Sc()|0)+4>>2]=1;Yg(a,b);xh()}function Jh(a){a=a|0;var b=0;b=Vd(a)|0;se(b|0,0,a|0)|0;return b|0}function Kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Rb(a,b,c,d,0)|0}function Lh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,b,c,0,-2147483648)|0;return a|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,b,c,-2147483648,0)|0;return a|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;return cc(a,b,14529,14538,c)|0}function Ph(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;return pb[a&15](b|0,c|0)|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return Rc(a,b,Ed(b)|0,c)|0}function Th(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Uh(a){a=a|0;if(!(oe(a)|0))xh();else return}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,2147483647,b,c)|0}function Wh(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;kb[a&3](b|0,c|0)}function Yh(a,b){a=a|0;b=b|0;return Qe(c[a>>2]|0,c[b>>2]|0)|0}function Zh(){if((Oa(13519)|0)==0?(Oa(13529)|0)==0:0)Ma(-1);La()}function _h(a,b,c){a=a|0;b=b|0;c=c|0;return Sh(a,b,0+c|0)|0}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return qb(_(c,b)|0)|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return bf(a,b,c)|0}function bi(a,b){a=a|0;b=b|0;Je(a,b,Ed(b)|0);return}function ci(a,b){a=a|0;b=b|0;Le(a,b,Ed(b)|0);return}function di(a,b){a=a|0;b=b|0;return qg(a,Ed(a)|0,b)|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,0,c)|0}function fi(a,b){a=a|0;b=b|0;xi(b,c[a+4>>2]|0)|0;return}function gi(a){a=a|0;var b=0;b=(Mi(a)|0)==0;return (b?a:a&95)|0}function hi(a){a=a|0;var b=0;b=(Li(a)|0)==0;return (b?a:a|32)|0}function ii(a,b){a=a|0;b=b|0;return $f(a,b,(Ed(a)|0)+1|0)|0}function ji(a){a=a|0;return Qf(19426,a,uh(c[2346]|0)|0)|0}function ki(a){a=a|0;if(!(c[a+68>>2]|0))ej(a);return}function li(a){a=a|0;if(!(c[a+68>>2]|0))ej(a);return}function mi(a,b){a=a|0;b=b|0;return (gf(a,Ed(a)|0,1,b)|0)+-1|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,1,c)|0}function oi(a,b){a=a|0;b=b|0;return dj(Lf(a,b)|0)|0}function pi(a){a=a|0;return ((a+-48|0)>>>0<10|(Ei(a)|0)!=0)&1|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return Mf(a,b,c)|0}function ri(a,b){a=a|0;b=b|0;return mb[a&3](b|0)|0}function si(a){a=a|0;Di(c[a+4>>2]|0);Di(a);return}function ti(a,b){a=a|0;b=b|0;i=a;j=b}function ui(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function vi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function xi(a,b){a=a|0;b=b|0;Uc(a,b)|0;return a|0}function yi(a,b){a=a|0;b=b|0;jb[a&3](b|0)}function zi(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Ai(a,b){a=a|0;b=b|0;return Wd(a,b)|0}function Bi(a,b){a=a|0;b=b|0;return +(+Qd(a,b,1))}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Di(a){a=a|0;if(a|0)Yi(a);return}function Ei(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Fi(a,b){a=+a;b=+b;return +(+pf(a,b))}function Gi(a,b){a=+a;b=b|0;return +(+Ad(a,b))}function Hi(a,b){a=+a;b=b|0;return +(+Fd(a,b))}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;ba(5)}function Ji(a){a=a|0;return (gg(a)|0)!=0|0}function Ki(b){b=b|0;a[b+48>>0]=1;return}function Li(a){a=a|0;return (a+-65|0)>>>0<26|0}function Mi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Ni(a,b){a=a|0;b=b|0;yb(b);return}function Oi(a){a=a|0;return c[a+16>>2]|0}function Pi(a,b){a=+a;b=+b;return +(+Xb(a,b))}function Qi(a){a=a|0;return Ph(a|0)|0}function Ri(a){a=a|0;return Ph(a|0)|0}function Si(a,b){a=a|0;b=b|0;ba(7);return 0}function Ti(a){a=a|0;ob[a&1]()}function Ui(a){a=a|0;return qb(a)|0}function Vi(a){a=a|0;return a+8|0}function Wi(a){a=a|0;yb(a);return}function Xi(a){a=a|0;return Hg(a)|0}function Yi(a){a=a|0;yb(a);return}function Zi(a){a=a|0;return 0}function _i(a,b){a=a|0;b=b|0;ba(2)}function $i(a){a=a|0;return 0}function aj(a){a=a|0;i=a}function bj(a){a=a|0;C=a}function cj(a){a=a|0;ba(4);return 0}function dj(a){a=a|0;return a|0}function ej(a){a=a|0;return}function fj(a){a=a|0;return 0}function gj(){return c[20]|0}function hj(){return C|0}function ij(){return i|0}function jj(a){a=a|0;ba(1)}function kj(){return 0}function lj(){ba(6)}
 
 // EMSCRIPTEN_END_FUNCS
 var ib=[Ci,Te,Ce,mc,Hc,If,$h,ai];var jb=[jj,li,ki,jj];var kb=[_i,hf,fi,Ni];var lb=[Hh];var mb=[cj,mg,wc,Vi];var nb=[Ii,Yf,Xf,Ii];var ob=[lj,Zh];var pb=[Si,Nb,Fb,Cb,mh,Yh,lh,jh,gh,Bf,af,Si,Si,Si,Si,Si];return{_i64Subtract:Ng,_free:yb,_main:Jd,_htonl:Ri,_realloc:Wd,_i64Add:Zg,_memmove:sf,_pthread_self:kj,_memset:se,_pthread_mutex_unlock:Zi,_malloc:qb,_pthread_mutex_lock:$i,_memcpy:Xd,_llvm_bswap_i32:Ph,_bitshift64Lshr:Fg,_htons:wi,_bitshift64Shl:Bg,___errno_location:nh,_ntohs:vi,runPostSets:Mg,stackAlloc:Dh,stackSave:ij,stackRestore:aj,establishStackSpace:ti,setThrew:Th,setTempRet0:bj,getTempRet0:hj,dynCall_iiii:sh,dynCall_vi:yi,dynCall_vii:Xh,dynCall_iiiiiii:og,dynCall_ii:ri,dynCall_viii:Ch,dynCall_v:Ti,dynCall_iii:Qh}})
diff --git a/bedTools/wigToBigWig_static.js.html.mem b/bedTools/wigToBigWig_static.js.html.mem
index c31b213c78453b15abacd78406964f78907fdc2b..1c3b2d73d6e9947c9ee263796cc23e5f2c768a8a 100644
Binary files a/bedTools/wigToBigWig_static.js.html.mem and b/bedTools/wigToBigWig_static.js.html.mem differ
diff --git a/bedTools/wigToBigWig_static.js.js b/bedTools/wigToBigWig_static.js.js
index 423f93521f93848aea27a7d52f7f9a858a68a30c..91692bf86acbe6b67824ee534473c8ffda76d67e 100644
--- a/bedTools/wigToBigWig_static.js.js
+++ b/bedTools/wigToBigWig_static.js.js
@@ -1,9 +1,9 @@
-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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26544;__ATINIT__.push();memoryInitializer="wigToBigWig_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}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;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__read_sockaddr":__read_sockaddr,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"_sysconf":_sysconf,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+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=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=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 ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=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"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){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;i<array.length;i++){var chr=array[i];if(chr>255){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<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+26544;__ATINIT__.push();memoryInitializer="wigToBigWig_static.js.html.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 _fork(){___setErrNo(ERRNO_CODES.EAGAIN);return-1}Module["_i64Subtract"]=_i64Subtract;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}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:(function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr}),lookup_addr:(function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null})};function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function _getaddrinfo(node,service,hint,out){var addrs=[];var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;if(canon){HEAP32[ai+24>>2]=canon}HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=Pointer_stringify(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=Pointer_stringify(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;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 _pthread_create(){return 11}function ___lock(){}function ___unlock(){}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _wait(stat_loc){___setErrNo(ERRNO_CODES.ECHILD);return-1}function _waitpid(){return _wait.apply(null,arguments)}function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_detach(){}Module["_bitshift64Lshr"]=_bitshift64Lshr;var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+ -1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+ -2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+ -3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+ -4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+ -6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+ -7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+ -8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+ -10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+ -11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+ -12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execvp(){return _execl.apply(null,arguments)}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_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)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>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}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_memmove"]=_memmove;var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall42(){return ___syscall51.apply(null,arguments)}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"__inet_pton4_raw":__inet_pton4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall102":___syscall102,"___syscall63":___syscall63,"__inet_ntop4_raw":__inet_ntop4_raw,"_execvp":_execvp,"___syscall42":___syscall42,"_pthread_cleanup_push":_pthread_cleanup_push,"_fork":_fork,"__inet_pton6_raw":__inet_pton6_raw,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__read_sockaddr":__read_sockaddr,"_signal":_signal,"_wait":_wait,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_sysconf":_sysconf,"_execl":_execl,"__write_sockaddr":__write_sockaddr,"___syscall6":___syscall6,"_abort":_abort,"_exit":_exit,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall51":___syscall51,"___syscall57":___syscall57,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_create":_pthread_create,"_gai_strerror":_gai_strerror,"_pthread_detach":_pthread_detach,"___syscall3":___syscall3,"__exit":__exit,"___lock":___lock,"_llvm_fabs_f64":_llvm_fabs_f64,"___syscall5":___syscall5,"___syscall4":___syscall4,"_getaddrinfo":_getaddrinfo,"_gettimeofday":_gettimeofday,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_waitpid":_waitpid,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
 var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_viii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env.___syscall63;var ra=env.__inet_ntop4_raw;var sa=env._execvp;var ta=env.___syscall42;var ua=env._pthread_cleanup_push;var va=env._fork;var wa=env.__inet_pton6_raw;var xa=env.___syscall20;var ya=env._llvm_stackrestore;var za=env.___assert_fail;var Aa=env.___buildEnvironment;var Ba=env.__read_sockaddr;var Ca=env._signal;var Da=env._wait;var Ea=env.___setErrNo;var Fa=env._sbrk;var Ga=env._emscripten_memcpy_big;var Ha=env.__exit;var Ia=env._execl;var Ja=env.__write_sockaddr;var Ka=env.___syscall6;var La=env._abort;var Ma=env._exit;var Na=env._llvm_stacksave;var Oa=env._getenv;var Pa=env.___syscall51;var Qa=env.___syscall57;var Ra=env.___syscall54;var Sa=env.___unlock;var Ta=env._pthread_create;var Ua=env._gai_strerror;var Va=env._pthread_detach;var Wa=env.___syscall3;var Xa=env._sysconf;var Ya=env.___lock;var Za=env._llvm_fabs_f64;var _a=env.___syscall5;var $a=env.___syscall4;var ab=env._getaddrinfo;var bb=env._gettimeofday;var cb=env.___syscall140;var db=env.___syscall142;var eb=env.___syscall145;var fb=env.___syscall146;var gb=env._waitpid;var hb=0.0;
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_vii;var ga=env.invoke_iiiiiii;var ha=env.invoke_ii;var ia=env.invoke_viii;var ja=env.invoke_v;var ka=env.invoke_iii;var la=env._pthread_cleanup_pop;var ma=env.___syscall221;var na=env.__inet_pton4_raw;var oa=env.__inet_ntop6_raw;var pa=env.___syscall102;var qa=env.___syscall63;var ra=env.__inet_ntop4_raw;var sa=env._execvp;var ta=env.___syscall42;var ua=env._pthread_cleanup_push;var va=env._fork;var wa=env.__inet_pton6_raw;var xa=env.___syscall20;var ya=env._llvm_stackrestore;var za=env.___assert_fail;var Aa=env.___buildEnvironment;var Ba=env.__read_sockaddr;var Ca=env._signal;var Da=env._wait;var Ea=env.___setErrNo;var Fa=env._sbrk;var Ga=env._emscripten_memcpy_big;var Ha=env._sysconf;var Ia=env._execl;var Ja=env.__write_sockaddr;var Ka=env.___syscall6;var La=env._abort;var Ma=env._exit;var Na=env._llvm_stacksave;var Oa=env._getenv;var Pa=env.___syscall51;var Qa=env.___syscall57;var Ra=env.___syscall54;var Sa=env.___unlock;var Ta=env._pthread_create;var Ua=env._gai_strerror;var Va=env._pthread_detach;var Wa=env.___syscall3;var Xa=env.__exit;var Ya=env.___lock;var Za=env._llvm_fabs_f64;var _a=env.___syscall5;var $a=env.___syscall4;var ab=env._getaddrinfo;var bb=env._gettimeofday;var cb=env.___syscall140;var db=env.___syscall142;var eb=env.___syscall145;var fb=env.___syscall146;var gb=env._waitpid;var hb=0.0;
 // EMSCRIPTEN_START_FUNCS
-function qb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5958]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=23872+(b<<1<<2)|0;e=d+8|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[5962]|0)>>>0)La();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else La()}else c[5958]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5960]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=23872+(b<<1<<2)|0;e=d+8|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[5962]|0)>>>0)La();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5960]|0;break}else La()}else{c[5958]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5963]|0;b=l>>>3;d=23872+(b<<1<<2)|0;a=c[5958]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{m=a;n=b}}else{c[5958]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5960]=h;c[5963]=e;N=j;i=O;return N|0}a=c[5959]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24136+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5962]|0;if(k>>>0<g>>>0)La();j=k+q|0;if(k>>>0>=j>>>0)La();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)La();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)La();a=f+12|0;if((c[a>>2]|0)!=(k|0))La();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else La()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5959]=c[5959]&~(1<<a);break}}else{if(h>>>0<(c[5962]|0)>>>0)La();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5962]|0;if(o>>>0<b>>>0)La();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5960]|0;if(a|0){f=c[5963]|0;b=a>>>3;e=23872+(b<<1<<2)|0;a=c[5958]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{r=a;s=b}}else{c[5958]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5960]=d;c[5963]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5959]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24136+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24136+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5960]|0)-q|0)>>>0:0){f=c[5962]|0;if(k>>>0<f>>>0)La();h=k+q|0;if(k>>>0>=h>>>0)La();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)La();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)La();a=e+12|0;if((c[a>>2]|0)!=(k|0))La();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else La()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5959]=c[5959]&~(1<<a);break}}else{if(g>>>0<(c[5962]|0)>>>0)La();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5962]|0;if(u>>>0<b>>>0)La();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{w=a;x=b}}else{c[5958]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24136+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else La()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5960]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5963]|0;if(a>>>0>15){N=b+q|0;c[5963]=N;c[5960]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5960]=0;c[5963]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5961]|0;if(a>>>0>q>>>0){L=a-q|0;c[5961]=L;N=c[5964]|0;M=N+q|0;c[5964]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6076]|0)){c[6078]=4096;c[6077]=4096;c[6079]=-1;c[6080]=-1;c[6081]=0;c[6069]=0;x=p&-16^1431655768;c[p>>2]=x;c[6076]=x}h=q+48|0;g=c[6078]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6068]|0;if(a|0?(w=c[6066]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6069]&4)){a=c[5964]|0;c:do if(a){d=24280;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5961]|0)&g;if(a>>>0<2147483647){b=Fa(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Fa(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6077]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6066]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6068]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Fa(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6078]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Fa(y|0)|0)==(-1|0)){Fa(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6069]=c[6069]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Fa(k|0)|0,A=Fa(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6066]|0)+f|0;c[6066]=a;if(a>>>0>(c[6067]|0)>>>0)c[6067]=a;j=c[5964]|0;do if(j){e=24280;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5961]|0)|0;c[5964]=M;c[5961]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5965]=c[6080];break}a=c[5962]|0;if(h>>>0<a>>>0){c[5962]=h;k=h}else k=a;d=h+f|0;a=24280;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24280;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5963]|0)){N=(c[5960]|0)+g|0;c[5960]=N;c[5963]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)La();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)La();b=f+12|0;if((c[b>>2]|0)!=(a|0))La();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else La()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24136+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5962]|0)>>>0)La();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5959]=c[5959]&~(1<<b);break e}while(0);e=c[5962]|0;if(L>>>0<e>>>0)La();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)La();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5962]|0)>>>0)La();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=23872+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)La();if((c[d+12>>2]|0)==(a|0))break;La()}while(0);if((e|0)==(d|0)){c[5958]=c[5958]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)La();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}La()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;do if(!(b&a)){c[5958]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5962]|0)>>>0){M=a;N=b;break}La()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24136+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else La()}}else{N=(c[5961]|0)+g|0;c[5961]=N;c[5964]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24280;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5964]=N;c[5961]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5965]=c[6080];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6070];c[a+4>>2]=c[6071];c[a+8>>2]=c[6072];c[a+12>>2]=c[6073];c[6070]=h;c[6071]=f;c[6073]=0;c[6072]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{J=a;K=b}}else{c[5958]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24136+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else La()}}}else{N=c[5962]|0;if((N|0)==0|h>>>0<N>>>0)c[5962]=h;c[6070]=h;c[6071]=f;c[6073]=0;c[5967]=c[6076];c[5966]=-1;a=0;do{N=23872+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5964]=M;c[5961]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5965]=c[6080]}while(0);a=c[5961]|0;if(a>>>0>q>>>0){L=a-q|0;c[5961]=L;N=c[5964]|0;M=N+q|0;c[5964]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(nh()|0)>>2]=12;N=0;i=O;return N|0}function rb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[236];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=Yb(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=ac(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=ac(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=ac(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,Xd(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=ac(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=ac(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,Xd(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=ac(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=ac(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,Xd(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=ac(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,ld(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,Xd(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=ac(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[236];e=-5;return e|0}}else{j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;Xd(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[236];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?(Ub(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Ab(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,Xd(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,Xd(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,Xd(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){Ub(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[20585+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[20073]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Ab(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,Xd(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,Xd(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,Xd(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=pb[c[188+((c[O+132>>2]|0)*12|0)+8>>2]&15](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{vc(O);break}case 5:break;default:{lc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,se(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;Xd(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;ld(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,Xd(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[233];e=-2;return e|0}function sb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0}while((ui(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Vc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23668+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Vc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23677+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Vc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Vc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(nh()|0)>>2]=22;zf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Vc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Vc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;k=Zg(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Zg(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Vc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else zf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Zg(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=ic(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){zf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Bg(o|0,n|0,2)|0;H=Zg(H|0,C|0,-32,-1)|0;e=Zg(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Zg(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Ng(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Zg(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Fi(+Ad(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(nh()|0)>>2]=34;g=+Gi(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Vc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Zg(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Zg(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=ic(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){zf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Zg(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(nh()|0)>>2]=22;zf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9816+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9816+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9816+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Bg(c[p>>2]|0,0,29)|0;o=Zg(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Kh(o|0,n|0,1e9,0)|0;o=Rf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Fi(+Ad(1.0,105-o|0),j);m=+Pi(j,+Ad(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Pi(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(nh()|0)>>2]=34}while(0);g=+Gi(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(nh()|0)>>2]=22;zf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function tb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(nh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Oc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[20976+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}ec(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Fg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21456;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21456;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Ng(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21456;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21456:21458;L=76}else{p=1;r=21457;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21456;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21456;o=N;break}case 109:{o=Yd(c[(nh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23358;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){od(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23366:23371}else{G=1;H=23368}else{q=-q;G=1;H=23365}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Hi(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Rd(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21440+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;od(e,32,K,r,I);if(!(c[e>>2]&32))Oc(y,w,e)|0;od(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Oc(ea,o,e)|0;f=ba-p|0;od(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Oc(t,f,e)|0;od(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Bg(c[r>>2]|0,0,t|0)|0;B=Zg(B|0,C|0,o|0,0)|0;o=C;A=Rf(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Kh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Rd(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;od(e,32,K,w,I);if(!(c[e>>2]&32))Oc(H,G,e)|0;od(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Rd(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;se(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Oc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Oc(23396,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Rd(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){se(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Oc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}od(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Rd(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Oc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Oc(23396,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;se(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Oc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}od(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Oc(u,ba-u|0,e)|0}while(0);od(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;od(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Oc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Oc(s?(t?23677:23392):t?23384:23388,3,e)|0;od(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21456;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21440+(o&15)>>0]|r;o=Fg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21456;L=77}else{o=t;t=2;r=21456+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21456;L=77}}else if((L|0)==76){f=Rd(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Fc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21456;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Eh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}od(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Eh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Oc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;od(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;od(e,32,o,s,p);if(!(c[e>>2]&32))Oc(v,w,e)|0;od(e,48,o,s,p^65536);od(e,48,r,t,0);if(!(c[e>>2]&32))Oc(f,t,e)|0;od(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;ec(j+(m<<3)|0,n,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=ia;return m|0}function ub(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=fj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(ui(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{zf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Vc(e)|0}while((ui(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}zf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Vc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){se(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;se(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=qb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Vc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(uc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Wd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Lh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=qb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Wd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+sb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;zf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Vc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ui(d[m>>0]|0)|0))break;else n=m}zf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Vc(e)|0}while((ui(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){yb(l);yb(f)}}else k=0;while(0);if(O|0)ej(e);i=P;return k|0}function vb(a,d,e,f,j){a=a|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0.0;aa=i;i=i+368|0;$=aa+280|0;W=aa+256|0;V=aa+232|0;T=aa+216|0;S=aa+192|0;R=aa+176|0;Q=aa+160|0;P=aa+136|0;O=aa+128|0;N=aa+120|0;M=aa+112|0;K=aa+88|0;J=aa+80|0;I=aa+72|0;H=aa+48|0;G=aa+40|0;U=aa+24|0;L=aa+16|0;F=aa+8|0;E=aa;A=aa+352|0;B=aa+344|0;D=aa+336|0;X=aa+316|0;z=aa+296|0;C=aa+292|0;Z=aa+288|0;v=nf(a,1)|0;c[Z>>2]=0;_d(v);w=(e|0)==0;x=v+28|0;y=v+4|0;t=(d|0)==0;u=A+4|0;a:while(1){if(!(Gf(v,C)|0)){Y=106;break}c[E>>2]=c[C>>2];Ig(2,17710,E);a=c[C>>2]|0;if(!(Db(a,17725)|0)){if((xd(eh(a)|0,z,5)|0)!=4){Y=77;break}q=c[z>>2]|0;r=le(v,z,1)|0;s=le(v,z,2)|0;ba=+ke(v,z,3);c[S>>2]=q;c[S+4>>2]=r;c[S+8>>2]=s;h[S+16>>3]=ba;Ig(2,18419,S);Ki(v);c[A>>2]=ce(0,1)|0;c[B>>2]=0;while(1){if(!(Gf(v,D)|0))break;if(fh(c[D>>2]|0)|0){Y=81;break}ef(v,4,xd(c[D>>2]|0,X,5)|0);d=c[X>>2]|0;a=ah(c[A>>2]|0,d)|0;if(!a){a=Ze(c[(c[A>>2]|0)+20>>2]|0,16)|0;_g(c[A>>2]|0,d,a,a+4|0)|0;if(w)d=1073741823;else d=oi(e,d)|0;c[a+8>>2]=d;c[a>>2]=c[B>>2];c[B>>2]=a}k=Ze(j,16)|0;d=k+4|0;c[d>>2]=le(v,X,1)|0;l=k+8|0;c[l>>2]=le(v,X,2)|0;g[k+12>>2]=+ke(v,X,3);d=c[d>>2]|0;l=c[l>>2]|0;if(d>>>0>l>>>0){Y=87;break a}d=c[a+8>>2]|0;if(l>>>0>d>>>0){r=c[y>>2]|0;s=c[a+4>>2]|0;c[V>>2]=c[x>>2];c[V+4>>2]=r;c[V+8>>2]=s;c[V+12>>2]=d;c[V+16>>2]=l;Vg(18498,V);if(t){Y=90;break a}}else{s=a+12|0;c[k>>2]=c[s>>2];c[s>>2]=k}}if((Y|0)==81){Y=0;Ki(v)}gd(B,8);a=B;while(1){a=c[a>>2]|0;if(!a)break;d=a+12|0;gd(d,9);o=a+4|0;m=c[d>>2]|0;while(1){n=c[m>>2]|0;if(!n)break;k=c[m+8>>2]|0;l=c[n+4>>2]|0;if(k>>>0>l>>>0){Y=98;break a}else m=n}m=c[d>>2]|0;while(1){if(!m)break;else{d=m;l=m;k=0}while(1){if((l|0)==0|(k|0)>=(f|0))break;d=l;l=c[l>>2]|0;k=k+1|0}c[d>>2]=0;s=Ze(j,48)|0;c[s+4>>2]=eh(c[o>>2]|0)|0;c[s+8>>2]=c[m+4>>2];c[s+12>>2]=c[d+8>>2];c[s+16>>2]=1;c[s+20>>2]=m;b[s+32>>1]=k;c[s>>2]=c[Z>>2];c[Z>>2]=s;m=l}}Hd(A);continue}c[z>>2]=a;a=of(z)|0;if(Qe(a,17732)|0)if(!(Qe(a,17745)|0))o=3;else{Y=6;break}else o=2;m=0;d=0;k=0;n=0;while(1){a=of(z)|0;if(!a){s=m;r=n;break}if((wd(a,61,A,2)|0)!=2){Y=10;break a}a=c[A>>2]|0;l=c[u>>2]|0;do if(!(Qe(a,17807)|0)){m=eh(l)|0;a=n}else{if(!(Qe(a,17813)|0)){d=De(v,a,l)|0;a=n;break}if(!(Qe(a,17874)|0)){a=De(v,a,l)|0;break}if(Qe(a,17879)|0){Y=19;break a}k=De(v,a,l)|0;a=n}while(0);n=a}if(!s){Y=22;break}if(w)n=1073741823;else n=oi(e,s)|0;if(k>>>0>n>>>0?(q=c[y>>2]|0,c[H>>2]=c[x>>2],c[H+4>>2]=q,c[H+8>>2]=s,c[H+12>>2]=n,c[H+16>>2]=k,Vg(17959,H),t):0){Y=27;break}a=(k|0)==0;if((o|0)==3){if(a){Y=30;break}if(!r){Y=32;break}q=(d|0)==0?r:d;m=k+-1|0;c[A>>2]=lg(0)|0;c[X>>2]=0;a=0;l=m;while(1){if(!(Gf(v,D)|0))break;if(bh(c[D>>2]|0,1)|0){Y=36;break}xd(c[D>>2]|0,B,1)|0;d=Ze(c[A>>2]|0,8)|0;g[d+4>>2]=+ke(v,B,0);k=l+q|0;if(k>>>0>n>>>0){p=c[y>>2]|0;c[K>>2]=c[x>>2];c[K+4>>2]=p;c[K+8>>2]=s;c[K+12>>2]=n;c[K+16>>2]=k;Vg(18099,K);if(t){Y=39;break a}}else{c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}l=l+r|0}if((Y|0)==36){Y=0;Ki(v)}ag(X);p=q-r|0;k=m;d=c[X>>2]|0;while(1){if(!d)break;o=(a|0)>(f|0)?f:a;n=Ze(j,48)|0;c[n+4>>2]=s;c[n+8>>2]=k;k=(_(o,r)|0)+k|0;c[n+12>>2]=p+k;c[n+16>>2]=3;c[n+24>>2]=r;c[n+28>>2]=q;b[n+32>>1]=o;l=Ze(j,o<<2)|0;c[n+20>>2]=l;m=0;while(1){if((m|0)>=(o|0))break;c[l>>2]=c[d+4>>2];m=m+1|0;d=c[d>>2]|0;l=l+4|0}c[n>>2]=c[Z>>2];c[Z>>2]=n;a=a-o|0}ph(A)}else{if(!a){Y=50;break}if(r|0){Y=52;break}o=(d|0)==0?1:d;c[A>>2]=lg(0)|0;c[X>>2]=0;a=0;b:while(1){while(1){if(!(Gf(v,D)|0))break b;if(bh(c[D>>2]|0,2)|0){Y=57;break b}xd(c[D>>2]|0,B,2)|0;d=Ze(c[A>>2]|0,12)|0;k=le(v,B,0)|0;if((k|0)<1){Y=59;break a}r=d+4|0;c[r>>2]=k+-1;g[d+8>>2]=+ke(v,B,1);k=(c[r>>2]|0)+o|0;if(k>>>0<=n>>>0)break;r=c[y>>2]|0;c[P>>2]=c[x>>2];c[P+4>>2]=r;c[P+8>>2]=s;c[P+12>>2]=n;c[P+16>>2]=k;Vg(18099,P);if(t){Y=62;break a}}c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}if((Y|0)==57){Y=0;Ki(v)}gd(X,7);d=c[X>>2]|0;if(!d)d=0;else{while(1){k=d;d=c[d>>2]|0;if(!d)break;k=c[k+4>>2]|0;l=c[d+4>>2]|0;if((k+o|0)>>>0>l>>>0){Y=67;break a}}d=c[X>>2]|0}while(1){if(!d)break;n=(a|0)>(f|0)?f:a;m=Ze(j,n<<3)|0;l=0;k=m;while(1){if((l|0)>=(n|0))break;c[k>>2]=c[d+4>>2];c[k+4>>2]=c[d+8>>2];l=l+1|0;d=c[d>>2]|0;k=k+8|0}r=Ze(j,48)|0;c[r+4>>2]=s;c[r+8>>2]=c[m>>2];c[r+12>>2]=(c[m+(n+-1<<3)>>2]|0)+o;c[r+16>>2]=2;c[r+20>>2]=m;c[r+28>>2]=o;b[r+32>>1]=n;c[r>>2]=c[Z>>2];c[Z>>2]=r;a=a-n|0}ph(A)}}switch(Y|0){case 6:{c[F>>2]=a;rh(17755,F);break}case 10:{aa=c[y>>2]|0;c[L>>2]=c[x>>2];c[L+4>>2]=aa;rh(17772,L);break}case 19:{$=c[x>>2]|0;aa=c[y>>2]|0;c[U>>2]=a;c[U+4>>2]=l;c[U+8>>2]=$;c[U+12>>2]=aa;rh(17885,U);break}case 22:{aa=c[y>>2]|0;c[G>>2]=c[x>>2];c[G+4>>2]=aa;rh(17921,G);break}case 27:{xh();break}case 30:{aa=c[y>>2]|0;c[I>>2]=c[x>>2];c[I+4>>2]=aa;rh(18024,I);break}case 32:{aa=c[y>>2]|0;c[J>>2]=c[x>>2];c[J+4>>2]=aa;rh(18062,J);break}case 39:{xh();break}case 50:{aa=c[y>>2]|0;c[M>>2]=c[x>>2];c[M+4>>2]=aa;rh(18162,M);break}case 52:{aa=c[y>>2]|0;c[N>>2]=c[x>>2];c[N+4>>2]=aa;rh(18198,N);break}case 59:{aa=c[y>>2]|0;c[O>>2]=c[x>>2];c[O+4>>2]=aa;rh(18233,O);break}case 62:{xh();break}case 67:{c[Q>>2]=s;c[Q+4>>2]=k;c[Q+8>>2]=l;rh(18299,Q);break}case 77:{$=c[y>>2]|0;aa=c[C>>2]|0;c[R>>2]=c[x>>2];c[R+4>>2]=$;c[R+8>>2]=aa;rh(18387,R);break}case 87:{$=c[x>>2]|0;aa=c[y>>2]|0;c[T>>2]=d;c[T+4>>2]=l;c[T+8>>2]=$;c[T+12>>2]=aa;rh(18441,T);break}case 90:{xh();break}case 98:{$=c[o>>2]|0;Z=c[m+4>>2]|0;aa=c[n+8>>2]|0;c[W>>2]=$;c[W+4>>2]=Z;c[W+8>>2]=k;c[W+12>>2]=$;c[W+16>>2]=l;c[W+20>>2]=aa;rh(18574,W);break}case 106:{gd(Z,10);a=c[Z>>2]|0;while(1){if(!a){Y=112;break}d=a;a=c[a>>2]|0;if(!a){a=0;continue}k=c[d+4>>2]|0;if(Qe(k,c[a+4>>2]|0)|0)continue;l=c[a+8>>2]|0;if((c[d+12>>2]|0)>>>0>l>>>0){Y=111;break}}if((Y|0)==111){c[$>>2]=k;c[$+4>>2]=l+1;rh(18650,$)}else if((Y|0)==112){i=aa;return c[Z>>2]|0}break}}return 0}function wb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Zg(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(13816==0?(Qe(c[a+8>>2]|0,13830)|0)!=0:0){ba=a+32|0;T=ba;T=lb[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Zg(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Zg(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Zg(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Zg(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Ng(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Zg(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Ng((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Ng(k|0,j|0,f|0,d|0)|0;Xd(b|0,B+f|0,o|0)|0;e=Zg(o|0,E|0,e|0,n|0)|0;f=C;d=Ng(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Zg(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;bg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Sd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Zg(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Ng(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(13816){y=Zg(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Zg(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Kh(k|0,j|0,w|0,0)|0;t=Zg(A|0,B|0,-1,-1)|0;t=Zg(t|0,C|0,w|0,0)|0;w=Kh(t|0,C|0,w|0,0)|0;t=m+52|0;mf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((ei(u,d,s)|0)<(s|0))f=0;else{Di(u);j=B;k=A;continue}while(1){o=ei(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=ni(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=cg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=cg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Zg(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Ng(f|0,j|0,p|0,q|0)|0;k=C;f=Vd(j)|0;c[W>>2]=f;m=lb[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}bg(Z,c[K>>2]|0,p,0)|0;Oe(Z,c[K>>2]|0,f,j);Gh(W)}Kd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;bg(P,c[t>>2]|0,da+64|0,0)|0;Oe(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Di(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);bg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Re(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;rh(13842,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Ig(4,13898,$);Ig(4,13944,aa);S=0;T=0;break}else if((n|0)==36){Re(Z,j,f,h);S=ba;S=Zg(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Zg(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function yb(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;if(!a)return;d=a+-8|0;h=c[5962]|0;if(d>>>0<h>>>0)La();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)La();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)La();if((k|0)==(c[5963]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5960]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=23872+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)La();if((c[b+12>>2]|0)!=(k|0))La()}if((d|0)==(b|0)){c[5958]=c[5958]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)La();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else La()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)La();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)La();a=e+12|0;if((c[a>>2]|0)!=(k|0))La();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else La()}while(0);if(f){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5959]=c[5959]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5962]|0)>>>0)La();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5962]|0;if(i>>>0<d>>>0)La();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)La();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5962]|0)>>>0)La();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)La();a=m+4|0;b=c[a>>2]|0;if(!(b&1))La();if(!(b&2)){if((m|0)==(c[5964]|0)){p=(c[5961]|0)+g|0;c[5961]=p;c[5964]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5963]|0))return;c[5963]=0;c[5960]=0;return}if((m|0)==(c[5963]|0)){p=(c[5960]|0)+g|0;c[5960]=p;c[5963]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();d=b+12|0;if((c[d>>2]|0)!=(m|0))La();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else La()}while(0);if(f|0){a=c[m+28>>2]|0;b=24136+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5959]=c[5959]&~(1<<a);break}}else{if(f>>>0<(c[5962]|0)>>>0)La();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5962]|0;if(n>>>0<d>>>0)La();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)La();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=23872+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5962]|0)>>>0)La();if((c[b+12>>2]|0)!=(m|0))La()}if((d|0)==(b|0)){c[5958]=c[5958]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5962]|0)>>>0)La();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else La()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5963]|0)){c[5960]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{o=a;p=b}}else{c[5958]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24136+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5959]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5962]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else La()}}else{c[5959]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[5966]|0)+-1|0;c[5966]=q;if(!q)a=24288;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[5966]=-1;return}function zb(a,d,f,j,k,l,m,n){a=a|0;d=d|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0.0;ba=i;i=i+480|0;O=ba+344|0;M=ba+336|0;v=ba+328|0;S=ba+288|0;L=ba+280|0;$=ba+468|0;aa=ba+464|0;B=ba+476|0;Y=ba+474|0;D=ba+472|0;G=ba+460|0;H=ba+272|0;Q=ba+264|0;R=ba+256|0;P=ba+248|0;T=ba+240|0;U=ba+456|0;N=ba+416|0;F=ba+376|0;V=ba+160|0;W=ba+80|0;X=ba;Z=ba+368|0;I=ba+364|0;J=ba+360|0;K=ba+356|0;z=ih(a)|0;A=L;c[A>>2]=z;c[A+4>>2]=((z|0)<0)<<31>>31;c[$>>2]=Yc(n,17566)|0;c[aa>>2]=-2003829722;b[B>>1]=4;b[Y>>1]=0;b[D>>1]=0;c[G>>2]=0;A=H;c[A>>2]=0;c[A+4>>2]=0;A=Q;c[A>>2]=0;c[A+4>>2]=0;A=R;c[A>>2]=0;c[A+4>>2]=0;A=P;c[A>>2]=0;c[A+4>>2]=0;A=T;c[A>>2]=0;c[A+4>>2]=0;c[U>>2]=0;if(!l)Tc(a,d,I,Z,J);else rc(a,d,I,Z,J);A=c[Z>>2]|0;if(!m){z=c[I>>2]|0;y=qc(a)|0;n=0;l=0;m=a;a:while(1){if(!m){t=n;u=l;break}switch(c[m+16>>2]|0){case 1:{d=12;break}case 2:{d=8;break}case 3:{d=4;break}default:{x=14;break a}}d=Zg((_(e[m+32>>1]|0,d)|0)+24|0,0,n|0,l|0)|0;n=d;l=C;m=c[m>>2]|0}if((x|0)==14){c[v>>2]=17549;c[v+4>>2]=780;rh(17528,v)}m=Fg(t|0,u|0,1)|0;v=C;c[S>>2]=0;x=(k|0)!=0&1;o=+(m>>>0)+4294967296.0*+(v>>>0);u=0;t=0;d=y*10|0;while(1){n=oc(a,A,d)|0;c[S>>2]=n;n=eg(n)|0;n=Bg(n|0,C|0,x|0)|0;l=C;if(l>>>0<v>>>0|(l|0)==(v|0)&n>>>0<m>>>0|(n|0)==(u|0)&(l|0)==(t|0))break;y=~~(+(d|0)*1.1*(+(n>>>0)+4294967296.0*+(l>>>0))/o);ca=d<<1;Dg(S);u=n;t=l;d=(y|0)<(ca|0)?ca:y}b[Y>>1]=1;c[N>>2]=c[S>>2];c[F>>2]=d;m=d;n=((d|0)<0)<<31>>31;l=0;while(1){if((l|0)>=9)break;m=Bg(m|0,n|0,2)|0;n=C;if(n>>>0>0|(n|0)==0&m>>>0>1e9)break;ca=ee(c[N+((e[Y>>1]|0)+-1<<2)>>2]|0,A,m)|0;c[S>>2]=ca;ca=eg(ca)|0;if((ca|0)==(u|0)&(C|0)==(t|0))d=c[S>>2]|0;else{d=c[S>>2]|0;ca=b[Y>>1]|0;y=ca&65535;c[N+(y<<2)>>2]=d;c[F+(y<<2)>>2]=m;b[Y>>1]=ca+1<<16>>16}if((ih(d)|0)<=(z|0))break;else l=l+1|0}}else{c[F>>2]=30;d=oc(a,A,30)|0;c[N>>2]=d;n=1;while(1){if((n|0)==10)break;ca=c[140+(n<<2)>>2]|0;c[F+(n<<2)>>2]=ca;ca=ee(d,A,ca)|0;c[N+(n<<2)>>2]=ca;d=ca;n=n+1|0}b[Y>>1]=10}rf(c[$>>2]|0,aa,4);rf(c[$>>2]|0,B,2);rf(c[$>>2]|0,Y,2);y=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,P,8);z=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,Q,8);A=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,R,8);rf(c[$>>2]|0,D,2);rf(c[$>>2]|0,D,2);rf(c[$>>2]|0,H,8);x=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,T,8);B=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,U,4);rf(c[$>>2]|0,H,8);if((Xi(c[$>>2]|0)|0)==64)E=0;else za(17569,17549,1014,17584);while(1){if((E|0)>=(e[Y>>1]|0|0))break;rf(c[$>>2]|0,F+(E<<2)|0,4);rf(c[$>>2]|0,G,4);D=Xi(c[$>>2]|0)|0;ca=V+(E<<3)|0;c[ca>>2]=D;c[ca+4>>2]=((D|0)<0)<<31>>31;rf(c[$>>2]|0,H,8);rf(c[$>>2]|0,H,8);E=E+1|0}d=S;n=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(n|0));ca=Xi(c[$>>2]|0)|0;n=T;c[n>>2]=ca;c[n+4>>2]=((ca|0)<0)<<31>>31;Ag(c[$>>2]|0,S);n=Xi(c[$>>2]|0)|0;ca=P;c[ca>>2]=n;c[ca+4>>2]=((n|0)<0)<<31>>31;ca=c[I>>2]|0;sc(c[Z>>2]|0,16,ca,((ca|0)<0)<<31>>31,(ca|0)>(f|0)?f:ca,2,c[J>>2]|0,3,8,c[$>>2]|0);ca=Xi(c[$>>2]|0)|0;n=Q;c[n>>2]=ca;c[n+4>>2]=((ca|0)<0)<<31>>31;rf(c[$>>2]|0,L,8);n=a;while(1){d=c[$>>2]|0;if(!n)break;d=Qb(n,k,d)|0;if(d>>>0>(c[U>>2]|0)>>>0)c[U>>2]=d;n=c[n>>2]|0}d=Xi(d)|0;n=R;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;n=L;n=Bg(c[n>>2]|0,c[n+4>>2]|0,2)|0;c[K>>2]=Jh(n)|0;n=0;d=a;while(1){if(!d)break;c[(c[K>>2]|0)+(n<<2)>>2]=d;n=n+1|0;d=c[d>>2]|0}ca=L;d=R;Ib(c[K>>2]|0,4,c[ca>>2]|0,c[ca+4>>2]|0,f,1,0,2,6,c[d>>2]|0,c[d+4>>2]|0,c[$>>2]|0);Gh(K);c[M>>2]=e[Y>>1];Ig(2,17635,M);d=0;while(1){if((d|0)>=(e[Y>>1]|0|0))break;L=Xi(c[$>>2]|0)|0;M=W+(d<<3)|0;K=M;c[K>>2]=L;c[K+4>>2]=((L|0)<0)<<31>>31;K=Jc(c[N+(d<<2)>>2]|0,f,j,k,c[$>>2]|0)|0;L=C;ca=X+(d<<3)|0;a=ca;c[a>>2]=K;c[a+4>>2]=L;M=Ng(K|0,L|0,c[M>>2]|0,c[M+4>>2]|0)|0;L=Xi(c[$>>2]|0)|0;ca=Ng(L|0,0,c[ca>>2]|0,c[ca+4>>2]|0)|0;c[O>>2]=M;c[O+4>>2]=ca;c[O+8>>2]=d;Ig(3,17667,O);d=d+1|0}d=c[N>>2]|0;if(!d){ca=T;c[ca>>2]=0;c[ca+4>>2]=0}else{l=c[d+16>>2]|0;t=S;c[t>>2]=l;c[t+4>>2]=0;r=+g[d+20>>2];t=S+8|0;h[t>>3]=r;s=+g[d+24>>2];u=S+16|0;h[u>>3]=s;w=+g[d+28>>2];v=S+24|0;h[v>>3]=w;m=d;n=0;o=+g[d+32>>2];while(1){d=c[m>>2]|0;if(!d)break;l=Zg(l|0,n|0,c[d+16>>2]|0,0)|0;n=C;ca=S;c[ca>>2]=l;c[ca+4>>2]=n;p=+g[d+20>>2];if(p<r)h[t>>3]=p;else p=r;q=+g[d+24>>2];if(q>s)h[u>>3]=q;else q=s;da=w+ +g[d+28>>2];h[v>>3]=da;m=d;r=p;s=q;w=da;o=o+ +g[d+32>>2]}h[S+32>>3]=o;qi(c[$>>2]|0,c[T>>2]|0,0)|0;Ag(c[$>>2]|0,S)}qi(c[$>>2]|0,z,0)|0;rf(c[$>>2]|0,Q,8);qi(c[$>>2]|0,A,0)|0;rf(c[$>>2]|0,R,8);qi(c[$>>2]|0,y,0)|0;rf(c[$>>2]|0,P,8);qi(c[$>>2]|0,x,0)|0;rf(c[$>>2]|0,T,8);if(!k)n=0;else{d=j<<5;if(d>>>0>(c[U>>2]|0)>>>0)c[U>>2]=d;qi(c[$>>2]|0,B,0)|0;rf(c[$>>2]|0,U,4);n=0}while(1){d=c[$>>2]|0;if((n|0)>=(e[Y>>1]|0|0))break;qi(d,c[V+(n<<3)>>2]|0,0)|0;rf(c[$>>2]|0,W+(n<<3)|0,8);rf(c[$>>2]|0,X+(n<<3)|0,8);n=n+1|0}qi(d,0,2)|0;rf(c[$>>2]|0,aa,4);Gh(Z);Uh($);i=ba;return}function Ab(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}wb(f,f+2840|0);wb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}wb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)lc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Mb(f,9848,11e3);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[20841+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Hb(f,g,q);h=f+2440|0;Hb(f,h,r);Mb(f,g,h)}while(0);xc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Bb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5962]|0;if(l>>>0<i>>>0)La();if((l|0)==(c[5963]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5960]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=23872+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)La();if((c[a+12>>2]|0)!=(l|0))La()}if((b|0)==(a|0)){c[5958]=c[5958]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)La();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else La()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)La();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)La();d=e+12|0;if((c[d>>2]|0)!=(l|0))La();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else La()}while(0);if(f){d=c[l+28>>2]|0;a=24136+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5959]=c[5959]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5962]|0)>>>0)La();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5962]|0;if(j>>>0<b>>>0)La();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5962]|0)>>>0)La();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5962]|0;if(o>>>0<h>>>0)La();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5964]|0)){q=(c[5961]|0)+g|0;c[5961]=q;c[5964]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5963]|0))return;c[5963]=0;c[5960]=0;return}if((o|0)==(c[5963]|0)){q=(c[5960]|0)+g|0;c[5960]=q;c[5963]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)La();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)La();d=e+12|0;if((c[d>>2]|0)!=(o|0))La();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else La()}while(0);if(f|0){d=c[o+28>>2]|0;a=24136+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5959]=c[5959]&~(1<<d);break}}else{if(f>>>0<(c[5962]|0)>>>0)La();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5962]|0;if(n>>>0<b>>>0)La();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5962]|0)>>>0)La();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=23872+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)La();if((c[a+12>>2]|0)!=(o|0))La()}if((b|0)==(a|0)){c[5958]=c[5958]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)La();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else La()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5963]|0)){c[5960]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=23872+(d<<1<<2)|0;a=c[5958]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5962]|0)>>>0)La();else{p=d;q=a}}else{c[5958]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24136+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5959]|0;a=1<<b;if(!(d&a)){c[5959]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5962]|0)>>>0)La();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5962]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))La();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){Ub(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=dc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,Xd(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[20585+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[20073+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,Xd(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,Xd(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,Xd(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Db(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(we(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Fc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(nh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0}while((ui(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Vc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Vc(b)|0;if((d[23403+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){zf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23403+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;zf(b,0);c[(nh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Vc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=cg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Zg(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23659+((e*23|0)>>>5&7)>>0]|0;j=a[23403+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Fg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Bg(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23403+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Kh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=cg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Zg(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23403+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0}while((d[23403+i>>0]|0)>>>0<e>>>0);c[(nh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(nh()|0)>>2]=34;g=Zg(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(nh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Ng(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Fb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){Ub(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=dc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[20585+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[20073+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,Xd(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,Xd(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,Xd(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Gb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ce(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Qe(r,14647)|0)){j=g;h=k;N=4;break}s=wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(ui(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Ed(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Sh(Q,o,(m|0)==0?15069:m)|0;else{l=jg(o,f)|0;if(!l){l=jg(o,124)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Nh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Mh(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Bi(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Bi(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?15069:m;l=jg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=ah(Q,o)|0;l=Og(m)|0;if(!n){Sh(Q,o,l)|0;break}else{Cg(n,l);break}}Sh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;rh(14658,z);break}case 34:{c[A>>2]=o;rh(14684,A);break}case 36:{c[K>>2]=o;rh(14723,K);break}case 38:{c[L>>2]=o;rh(14759,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;rh(14792,B);break}case 43:{c[C>>2]=o;rh(14759,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;rh(14834,D);break}case 48:{c[E>>2]=o;rh(14878,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;rh(14913,F);break}case 53:{c[G>>2]=o;rh(14953,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;rh(14989,H);break}case 57:{c[I>>2]=c[l>>2];rh(15030,I);break}case 65:{rh(15072,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Ib(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=lg(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=pb[k&15](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=Ze(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=cg(z|0,y|0,b|0,v|0)|0;p=a+p|0;nb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=Zg(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=pb[k&15](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=Zg(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=cg(q|0,C|0,b|0,v|0)|0;nb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=Zg(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}ag(Q);c[H>>2]=ih(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Ig(2,12880,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}Ze(I,48)|0;y=vh(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}ag(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;ag(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;rf(n,P,4);rf(n,M,4);rf(n,L,8);rf(n,g+12|0,4);rf(n,g+16|0,4);rf(n,g+20|0,4);rf(n,g+24|0,4);rf(n,O,8);rf(n,N,4);rf(n,K,4);if((g|0)!=(Q|0))hc(g,c[M>>2]|0,o,n);ph(R);i=S;return}function Jb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Db(d,15847)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){ue(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Pf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(nh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Nf(16353,f)|0))m=c[F>>2]|0;else{of(F)|0;f=of(F)|0;if(!f){O=20;break a}if((((Nf(16980,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Qe(f,16983)|0)if(Qe(f,16987)|0){if(I?(g=Qe(f,16991)|0,!((H|g|0)==0&G)):0)if(!(Qe(f,16995)|0)){f=o;break}else{O=30;break a}if(!(Qe(f,17082)|0)){O=34;break a}if(!(Qe(f,16991)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Gg(f+1|0)|0}if(!(Ve(m,17134)|0)){if(o|0)c[e>>2]=eh(f)|0;if(k)h=eh(f)|0}}while(!(I&(Ve(m,17143)|0)==0));if((Nf(17157,f)|0)!=0?(q=(wh(f,32)|0)+1|0,r=wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=bd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=bd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=Yd(f)|0;c[z+4>>2]=d;Vg(16791,z);f=0;break}case 10:{c[v>>2]=d;Vg(16828,v);f=0;break}case 11:{c[x>>2]=d;Vg(16884,x);f=0;break}case 15:{c[y>>2]=2e3;Vg(16916,y);f=0;break}case 20:{c[u>>2]=d;Vg(16954,u);f=0;break}case 30:{if(!g)Vg(16999,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Vg(17042,E);f=0;break}case 34:{c[w>>2]=d;Vg(17086,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Vg(17111,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;hg(N,256,15957,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Vg(17164,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24456:17258;c[K+8>>2]=f?16983:16987;c[K+12>>2]=h|0?h:17274;Vg(17284,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;hg(N,256,15957,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Vg(17325,M);f=0}break}}i=P;return f|0}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=ib[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Wh(h)|0;c[b+16>>2]=e;f=kd(c[f>>2]|0)|0;if(!f){s=0;break}s=Ed(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Di(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}$d(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)sf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Jf(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;$d(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Cf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Gd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;rh(12631,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Gd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Gd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Lb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5962]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))La();f=c[k+4>>2]|0;if(!(f&1))La();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6078]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Bb(m,d);return a|0}if((k|0)==(c[5964]|0)){d=(c[5961]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5964]=l;c[5961]=m;return a|0}if((k|0)==(c[5963]|0)){e=(c[5960]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5960]=d;c[5963]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)La();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)La();d=g+12|0;if((c[d>>2]|0)!=(k|0))La();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else La()}while(0);if(h|0){d=c[k+28>>2]|0;e=24136+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5959]=c[5959]&~(1<<d);break}}else{if(h>>>0<(c[5962]|0)>>>0)La();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5962]|0;if(j>>>0<f>>>0)La();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)La();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5962]|0)>>>0)La();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=23872+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)La();if((c[e+12>>2]|0)!=(k|0))La()}if((f|0)==(e|0)){c[5958]=c[5958]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)La();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else La()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Bb(l,m);return a|0}return 0}function Mb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[20585+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[328+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[680+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[20073+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[464+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[796+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Nb(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){Ub(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,Xd(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,Xd(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,Xd(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Ab(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,Xd(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Ob(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;ug(0,13967,b)|0}b=d+112|0;if(c[b>>2]|0)Af(b);b=d+128|0;if(c[b>>2]|0)Af(b);Di(c[d+4>>2]|0);Di(c[d+8>>2]|0);Gh(d+12|0);Di(c[d+40>>2]|0);Di(c[d+44>>2]|0);Di(c[d+48>>2]|0);Di(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Af(b);zh(d+80|0)}Gh(a);i=e;return}function Pb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)za(19193,19213,448,19229);h=va()|0;c[s>>2]=h;if((h|0)<0)yf(19242,l);if(h|0)if(!(fg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;yf(19780,k)}r=yh()|0;c[s>>2]=r;if(fg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;yf(19253,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Vf(m)|0;j=va()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}uf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))xf(t);if(c[k>>2]|0)xf(m);g=0;f=0;j=h;h=k}if((b|0)==14)yf(19242,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){ad(k,l,h,e);x=k+8|0;w=c[x>>2]|0;sa(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];yf(19487,o)}ad(k,0,h,e);h=Of(1,f,g)|0;if((h|0)<0)yf(19398,p);if((h|0)==(g|0)){ig(1)|0;Ma(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;rh(19433,q)}}else if((b|0)==28){ig(0)|0;ig(1)|0;Eg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=gb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;uf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)yf(19560,u);else if((b|0)==35){c[v>>2]=h;rh(19575,v)}else if((b|0)==39){v=ye(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;rh(19605,w)}else if((b|0)==41)za(19660,19213,242,19684);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2317]|0;v=ye(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;ug(h,19703,x)|0;h=c[k>>2]|0}Ma(h>>>8&255|0)}else if((b|0)==47)za(19750,19213,396,19770);else if((b|0)==49)Ma(0)}}function Qb(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;o=t+8|0;j=t;m=f+16|0;s=c[m>>2]|0;l=s&255;switch(s|0){case 1:{k=12;break}case 2:{k=8;break}case 3:{k=4;break}default:{c[j>>2]=17549;c[j+4>>2]=67;rh(17528,j)}}p=f+32|0;q=(_(e[p>>1]|0,k)|0)+24|0;r=i;i=i+((1*q|0)+15&-16)|0;s=r;k=Xi(h)|0;j=f+40|0;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;j=f+36|0;c[r>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+8|0;c[r+4>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+12|0;c[r+8>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+24|0;c[r+12>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+28|0;c[r+16>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[r+20>>0]=l;a[r+21>>0]=0;j=d[p>>0]|d[p+1>>0]<<8;b[r+22>>1]=j;k=r+24|0;a:do switch(c[m>>2]|0){case 1:{j=f+20|0;while(1){j=c[j>>2]|0;if(!j){n=k;break a}o=j+4|0;f=k;p=k;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;p=f+4|0;o=j+8|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;p=f+8|0;o=j+12|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;k=f+12|0}}case 2:{m=j;l=0;j=c[f+20>>2]|0;while(1){if((l|0)>=(m&65535|0)){n=k;break a}f=k;m=k;o=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[m>>0]=o;a[m+1>>0]=o>>8;a[m+2>>0]=o>>16;a[m+3>>0]=o>>24;m=f+4|0;o=j+4|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[m>>0]=o;a[m+1>>0]=o>>8;a[m+2>>0]=o>>16;a[m+3>>0]=o>>24;m=b[p>>1]|0;k=f+8|0;l=l+1|0;j=j+8|0}}case 3:{m=j;l=0;j=c[f+20>>2]|0;while(1){if((l|0)>=(m&65535|0)){n=k;break a}m=k;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;m=b[p>>1]|0;k=k+4|0;l=l+1|0;j=j+4|0}}default:{c[o>>2]=17549;c[o+4>>2]=123;rh(17528,o)}}while(0);if((q|0)!=(n-s|0))za(17594,17549,126,17619);if(!g)rf(h,r,q);else{s=zi(q)|0;g=Na()|0;f=i;i=i+((1*s|0)+15&-16)|0;rf(h,f,Ge(r,q,f,s)|0);ya(g|0)}i=t;return q|0}function Rb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=vf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((vf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Zg(m|0,l|0,-1,-1)|0;d=C;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;Ng(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Ng(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){Wc(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Wc(a,d,e,f,o);else fc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}fc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;fc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;fc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function Tb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(te(a,b,d)|0){b=Ug()|0;if((b|0)>=0){if((Id(b,1)|0)<0){ig(b)|0;b=-1;break}b:do if((Me(b,d,16)|0)<0){n=nh()|0;d=c[n>>2]|0;if((d|0)!=115){w=Yd(d)|0;c[e>>2]=d;c[e+4>>2]=w;Vg(15778,e);ig(b)|0;b=-1;break a}bb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=jf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}bb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=Yd(d)|0;c[t>>2]=d;c[t+4>>2]=C;Vg(15554,t);ig(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Vg(15686,u);ig(b)|0;e=23;break}c[r>>2]=4;do if((ze(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=Yd(d)|0;c[w>>2]=d;c[w+4>>2]=C;Vg(15642,w);ig(b)|0;break}}else{B=c[n>>2]|0;C=Yd(B)|0;c[v>>2]=B;c[v+4>>2]=C;Vg(15612,v);ig(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Id(b,0)|0)<0){ig(b)|0;b=-1;break}if((Se(b,120)|0)<0){ig(b)|0;b=-1}}}else b=-1;else{Vg(15434,x+24|0);b=-1}while(0);i=x;return b|0}function Ub(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;Xd(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;Xd(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=Yb(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=ac(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;se((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;se((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function Vb(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,sf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){se(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(Vb(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(nh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function Wb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Db(b,15838)|0))e=Ke(b,0,r)|0;else{if((Nf(16363,b)|0)==0?(Nf(16371,b)|0)==0:0){if(!(Nf(16380,b)|0)){c[g>>2]=b;rh(16724,g)}$b(b,o);if(Qe(o,15869)|0){c[f>>2]=b;rh(16387,f)}b=o+4112|0;g=cd(b,Bd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(kh(g,16434,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,hg(m,256,16441,j)|0,(kh(g,m,0,0)|0)==0):0){ig(g)|0;e=-1;break}j=o+6176|0;s=(a[(Ed(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?16453:16458;c[k+4>>2]=j;hg(m,256,16463,k)|0;bi(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=wh(j,40)|0;a[(wh(j,41)|0)>>0]=0;if((ne(s+1|0,16471,k,7)|0)!=6)rh(16473,h);f=(Bd(c[k+16>>2]|0)|0)<<8;f=Tb(b,(Bd(c[k+20>>2]|0)|0)+f|0)|0;th(l);if((f|0)<0){ig(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((dd(f,1e6)|0)>0){b=26;break}if((dd(g,0)|0)>0?(pc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Vg(16509,n);ig(g)|0;ig(f)|0;e=-1;break}else if((b|0)==24){ig(g)|0;ig(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}fd(c[2346]|0)|0;fd(c[2287]|0)|0;fd(c[2317]|0)|0;b=Sd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;Xd(b+20|0,o|0,10280)|0;f=b+4|0;if(Jg(f)|0){c[p>>2]=Yd(c[(nh()|0)>>2]|0)|0;rh(16574,p)}b=Ta(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=Yd(b)|0;c[q>>2]=b;c[q+4>>2]=s;rh(16678,q)}}}else{ig(g)|0;e=-1}while(0)}break}e=Oh(b,16359,0)|0}while(0);i=r;return e|0}function Xb(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Fg(d|0,m|0,52)|0;e=e&2047;j=Fg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Bg(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Bg(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Bg(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Bg(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Bg(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Bg(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Bg(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Bg(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Ng(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Bg(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Ng(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Bg(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Zg(d|0,f|0,0,-1048576)|0;d=C;e=Bg(e|0,0,52)|0;d=d|C;e=o|e}else{e=Fg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function Zb(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=3;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=ib[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=ib[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=ib[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=ib[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=ib[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Ac(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[235];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}kb[c[o>>2]&3](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function _b(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=ih(b)|0;c[t>>2]=q;c[v>>2]=Jh(q<<2)|0;rf(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=zi(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=Xi(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}rf(g,r,Ge(p,h-s|0,r,q)|0);u=u-o|0}x=Xi(g)|0;u=((x|0)<0)<<31>>31;Ib(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,1,4,x,u,g);Gh(v);C=u;i=w;return x|0}function $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Ed(b)|0)>>>0>4095){c[e>>2]=b;rh(15819,e)}xi(f,b)|0;oh(f)|0;b=Db(f,15838)|0;if(!b){a[d>>0]=a[15842]|0;a[d+1>>0]=a[15843]|0;a[d+2>>0]=a[15844]|0;a[d+3>>0]=a[15845]|0;a[d+4>>0]=a[15846]|0}else{a[b>>0]=0;sg(f)|0;cf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=wh(f,47)|0;if(g){ue(g,b,e,1);if(!((Ve(d,15842)|0)!=0?(Ve(d,15859)|0)!=0:0)){e=yd(g,19143,15865)|0;cf(d+6176|0,4096,e);Di(e)}a[g>>0]=0;if(!(Ve(d,15869)|0)){g=g+1|0;Dd(g,d+6176|0,Ed(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=wh(f,64)|0;if(!g){if(!((Ve(d,15842)|0)!=0?(Ve(d,15859)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Ve(d,15869)|0)){b=d+16|0;e=15873;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=15883;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=wh(f,58)|0;if(!b){e=d+16|0;cf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;cf(e,2048,f);f=d+2064|0;cf(f,2048,b+1|0);b=f}nd(e,e,Ed(e)|0);nd(b,b,Ed(b)|0);f=g+1|0}b=wh(f,58)|0;do if(!b){if(!(Ve(d,15842)|0)){h=d+6160|0;a[h>>0]=a[15901]|0;a[h+1>>0]=a[15902]|0;a[h+2>>0]=a[15903]|0}if(!(Ve(d,15859)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Ve(d,15869)|0)){h=d+6160|0;a[h>>0]=a[15904]|0;a[h+1>>0]=a[15905]|0;a[h+2>>0]=a[15906]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){cf(d+6160|0,16,e);break}else{c[h>>2]=e;rh(15907,h)}}while(0);cf(d+4112|0,2048,f);i=j;return}function ac(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[956+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+4>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+8>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+12>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+16>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+20>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+24>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+28>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[956+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function bc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ah(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ah(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Ah(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Ah(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Ka(6,p|0)|0}d=Ah(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ah(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ah(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function cc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Tg(512)|0;$b(b,s);h=Oa(16161)|0;p=(h|0)!=0;if(p){$b(h,q);Xd(r|0,q|0,10280)|0;h=Ae(r,b)|0}else{Xd(r|0,s|0,10280)|0;h=Ae(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=eh(b)|0;j=ii(b,59)|0;if((j|0)!=0?(Nf(15847,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;vg(k,16172,l);Di(b);c[m>>2]=f;vg(k,16183,m);if((Qe(s,15842)|0)==0?(Qe(15901,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Qe(s,15859)|0)==0?(Qe(15936,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;vg(k,16211,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;vg(k,16200,n)}b=c[t>>2]|0;Xd(r|0,s|0,10280)|0;fe(r,16225,b);if(p){Xd(r|0,q|0,10280)|0;fe(r,16239,b);k=c[t>>2]|0}else k=b;ci(k,16259);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;vg(k,16298,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;vg(k,16273,u);break}}while(0);if(g|0)ci(c[t>>2]|0,g);v=c[t>>2]|0;ci(v,16319);Je(h,c[v+4>>2]|0,c[v+12>>2]|0);th(t)}i=w;return h|0}function dc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function ec(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 fc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(pb[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((pb[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((pb[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((pb[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){td(b,p,e);Wc(a,b,d,g,h)}i=r;return}function gc(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=+k;l=+l;m=m|0;n=n|0;var o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+32|0;z=A+24|0;y=A;u=e>>>0>b>>>0?b:e;s=h;t=j;r=+(f>>>0);f=c[n>>2]|0;while(1){if(u>>>0<=d>>>0){v=19;break}do if(f){e=f+4|0;if((c[e>>2]|0)==(a|0)?(w=c[f+12>>2]|0,w>>>0>d>>>0):0){o=w;break}o=Sd(48)|0;c[o+4>>2]=a;if((c[e>>2]|0)==(a|0)?(x=c[f+12>>2]|0,(x+m|0)>>>0>d>>>0):0){c[o+8>>2]=x;q=x;e=o;f=o;v=11}else{e=o;f=o;v=9}}else{f=Sd(48)|0;c[f+4>>2]=a;e=f;v=9}while(0);if((v|0)==9){c[e+8>>2]=d;q=d;v=11}if((v|0)==11){v=0;o=q+m|0;c[e+12>>2]=o>>>0>b>>>0?b:o;g[e+20>>2]=s;g[e+24>>2]=t;c[e>>2]=c[n>>2];c[n>>2]=e;o=c[f+12>>2]|0}e=f+8|0;o=ch(d,u,c[e>>2]|0,o)|0;if((o|0)<1){v=13;break}p=+(o|0)/+(u-d|0);e=f+16|0;c[e>>2]=~~(r*p+ +((c[e>>2]|0)>>>0))>>>0;e=f+20|0;if(+g[e>>2]>h)g[e>>2]=s;e=f+24|0;if(+g[e>>2]<j)g[e>>2]=t;q=f+28|0;g[q>>2]=p*k+ +g[q>>2];q=f+32|0;g[q>>2]=p*l+ +g[q>>2];d=o+d|0}if((v|0)==13){m=c[e>>2]|0;A=c[f+12>>2]|0;c[y>>2]=d;c[y+4>>2]=u;c[y+8>>2]=m;c[y+12>>2]=A;c[y+16>>2]=a;c[y+20>>2]=b;Vg(14127,y);c[z>>2]=14111;c[z+4>>2]=419;rh(17528,z)}else if((v|0)==19){i=A;return}}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}lf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=Xi(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=cg(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=Zg(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Ig(2,12927,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Ig(2,12959,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Ig(2,12987,o);f=f+1|0}Ig(2,16024,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;tc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=Xi(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=Xi(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=13053;rh(12991,s)}else if((f|0)==14){Ec(b,a,0,d+-2|0,e);i=t;return}}function ic(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=cg(f|0,b|0,10,0)|0;f=C;e=Zg(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Zg(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Ng(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function jc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=Zg(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;rf(o,z,1);rf(o,B,1);rf(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;se(r|0,0,m|0)|0;kb[l&3](G,r);rf(o,r,m);rf(o,A,8);G=A;G=Zg(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;Sg(o,0,x);p=p+1|0}k=t}if((d|0)==9)za(14573,14556,491,14600);else if((d|0)==13){i=E;return w|0}return 0}function kc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;rf(n,B,1);rf(n,D,1);rf(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=Zg(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=cg(o|0,p|0,f|0,x|0)|0;p=d+p|0;se(v|0,0,k|0)|0;kb[j&3](p,v);rf(n,v,k);rf(n,mb[l&3](p)|0,m);p=Zg(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;Sg(n,0,y);r=Zg(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=Ng(u|0,t|0,p|0,0)|0;q=C;p=Zg(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)za(14616,14556,529,14632);else if((o|0)==11){i=E;return}}function lc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function mc(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[5945]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ah(fb(146,n|0)|0)|0}else{ua(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ah(fb(146,m|0)|0)|0;la(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 nc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Fc(23398,f<<24>>24,4)|0){e=qb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Ra(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5946]|0))c[e+76>>2]=-1;Ya(23808);f=c[5951]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5951]=e;Sa(23808)}}else{c[(nh()|0)>>2]=22;e=0}i=o;return e|0}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;q=r;p=r+8|0;c[p>>2]=0;a:while(1){if(!a){a=15;break}n=a+36|0;o=c[b+(c[n>>2]<<4)+12>>2]|0;b:do switch(c[a+16>>2]|0){case 1:{f=a+20|0;while(1){f=c[f>>2]|0;if(!f)break b;Uf(c[n>>2]|0,o,c[f+4>>2]|0,c[f+8>>2]|0,+g[f+12>>2],d,p)}}case 2:{f=a+32|0;h=a+28|0;j=0;k=c[a+20>>2]|0;while(1){if((j|0)>=(e[f>>1]|0|0))break b;m=c[k>>2]|0;Uf(c[n>>2]|0,o,m,(c[h>>2]|0)+m|0,+g[k+4>>2],d,p);j=j+1|0;k=k+8|0}}case 3:{f=a+32|0;h=a+28|0;j=a+24|0;k=0;l=c[a+20>>2]|0;m=c[a+8>>2]|0;while(1){if((k|0)>=(e[f>>1]|0|0))break b;Uf(c[n>>2]|0,o,m,(c[h>>2]|0)+m|0,+g[l>>2],d,p);k=k+1|0;l=l+4|0;m=(c[j>>2]|0)+m|0}}default:{a=13;break a}}while(0);a=c[a>>2]|0}if((a|0)==13){c[q>>2]=17549;c[q+4>>2]=866;rh(17528,q)}else if((a|0)==15){ag(p);i=r;return c[p>>2]|0}return 0}function pc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Tg(4096)|0;while(1){if((dd(b,1e6)|0)<=0){j=3;break}g=Pf(b,m,4096)|0;if(g){Le(c[o>>2]|0,m,g);if(!(zg(c[(c[o>>2]|0)+4>>2]|0,16024)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Ed(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Ed(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Vg(15980,n);g=0}else if((j|0)==18){g=Bd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Vg(16026,p);g=0;break}if(!e)th(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function qc(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+16|0;m=n;do if(a){d=0;b=0;k=a;a=0;a:while(1){if(!k){f=15;break}b:do switch(c[k+16>>2]|0){case 1:{g=k+20|0;f=1073741823;while(1){g=c[g>>2]|0;if(!g)break b;j=(c[g+8>>2]|0)-(c[g+4>>2]|0)|0;f=(f|0)>(j|0)?j:f}}case 2:{g=e[k+32>>1]|0;h=1;j=c[k+20>>2]|0;f=1073741823;while(1){if((h|0)>=(g|0))break;p=j+8|0;o=(c[p>>2]|0)-(c[j>>2]|0)|0;h=h+1|0;j=p;f=f>>>0>o>>>0?o:f}if((f|0)==1073741823)f=c[k+28>>2]|0;break}case 3:{f=c[k+24>>2]|0;break}default:{f=13;break a}}while(0);p=Zg(f|0,((f|0)<0)<<31>>31|0,d|0,b|0)|0;d=p;b=C;k=c[k>>2]|0;a=a+1|0}if((f|0)==13){c[m>>2]=17549;c[m+4>>2]=754;rh(17528,m)}else if((f|0)==15){l=Zg(a>>>1|0,0,d|0,b|0)|0;l=Kh(l|0,C|0,a|0,0)|0;break}}else l=1;while(0);i=n;return l|0}function rc(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;q=i;i=i+16|0;o=q;h=q+4|0;n=c[b+24>>2]|0;l=Jh(n<<2)|0;Ie(h,b);g=l;j=md(h)|0;k=0;while(1){if(!j)break;m=j+4|0;c[g>>2]=c[m>>2];m=Ed(c[m>>2]|0)|0;g=g+4|0;j=md(h)|0;k=m>>>0>k>>>0?m:k}Sb(l,n,4,5);m=Jh(n<<4)|0;g=0;while(1){if((g|0)>=(n|0)){h=0;g=24456;l=a;break}j=l+(g<<2)|0;c[m+(g<<4)+4>>2]=c[j>>2];c[m+(g<<4)+8>>2]=g;c[m+(g<<4)+12>>2]=oi(b,c[j>>2]|0)|0;g=g+1|0}while(1){if(!l){p=18;break}j=c[l+4>>2]|0;if(!(Qe(j,g)|0))c[l+36>>2]=h;else{g=0;while(1){if((g|0)>=(n|0))break;if(!(Qe(j,c[m+(g<<4)+4>>2]|0)|0)){p=11;break}g=g+1|0}if((p|0)==11){p=0;c[l+36>>2]=g}if((g|0)==(n|0)){p=14;break}h=c[l+36>>2]|0;g=j}l=c[l>>2]|0}if((p|0)==14){c[o>>2]=j;rh(17486,o)}else if((p|0)==18){c[d>>2]=n;c[e>>2]=m;c[f>>2]=k;i=q;return}}function sc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;rf(l,n,4);rf(l,p,4);rf(l,r,4);rf(l,s,4);rf(l,o,8);rf(l,m,4);rf(l,m,4);f=Xi(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=jc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=Xi(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=14556;c[q+4>>2]=572;rh(17528,q)}else if((f|0)==8){kc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function tc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=ih(c[k>>2]|0)|0;rf(m,n,1);rf(m,o,1);rf(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;rf(m,k+12|0,4);rf(m,k+16|0,4);rf(m,k+20|0,4);rf(m,k+24|0,4);rf(m,q,8);j=q;j=Zg(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;Sg(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=tc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function uc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23828:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9500+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(nh()|0)>>2]=84;f=-1}i=l;return f|0}function vc(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Va(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Pf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Ng(1,0,g|0,e|0)|0;b=Zg(b|0,C|0,d|0,h|0)|0}r=(Of(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)qf(16622,l);if((b|0)==-1)qf(16653,o);ig(c[m>>2]|0)|0;ig(c[a+12>>2]|0)|0;ig(c[n>>2]|0)|0;i=q;return 0}function xc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){sd(b);break}if((ig(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];rh(19938,k)}}else{if(!(c[a+20>>2]&2)){if(dg(d)|0){c[f>>2]=c[a+12>>2];rh(19907,f)}}else{fd(d)|0;if(dg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];rh(19877,e)}}if((ge(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];rh(19938,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((gb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)yf(19560,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;rh(19968,l)}if(b|0)za(20009,19213,435,20027);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;rh(20043,m)}i=n;return d>>>8&255|0}function zc(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+120|0;r=s+80|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((tb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=fj(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=tb(b,d,o,q,r)|0;if(h){ib[c[b+36>>2]&7](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=tb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)ej(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Ac(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=ac(0,0,0)|0;else d=Yb(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Hf(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;se(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[188+(h*12|0)+2>>1];c[a+140>>2]=e[188+(h*12|0)>>1];c[a+144>>2]=e[188+(h*12|0)+4>>1];c[a+124>>2]=e[188+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=eh(24456)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Sd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;hg(h,4,12364,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Tg(512)|0;c[h>>2]=f;ci(f,b);ci(f,15838);d=b+16|0;if(a[d>>0]|0){d=Bc(d)|0;ci(f,d);Di(d);d=b+2064|0;if(a[d>>0]|0){ci(f,15932);d=Bc(d)|0;ci(f,d);Di(d)}ci(f,15934)}ci(f,b+4112|0);if(!((Qe(b,15869)|0)==0?!(Qe(15904,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Qe(b,15842)|0)==0?(Qe(15901,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Qe(b,15859)|0)==0?(Qe(15936,d)|0)==0:0)break;ci(f,15932);ci(f,d)}while(0);ci(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,vg(f,15940,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;vg(f,15957,k)}k=rg(h)|0;i=l;return k|0}function Dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Jb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}ig(a)|0;if((h|0)>0)Di(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Nf(16363,f)|0)==0?(Nf(16371,f)|0)==0:0){g=11;break}f=Zd(g,f)|0;c[j>>2]=f;a=Wb(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Vg(17373,k);g=14}else if((g|0)==11){c[l>>2]=f;Vg(17427,l);g=14}else if((g|0)==13){c[m>>2]=f;Vg(17457,m);g=14}if((g|0)==14)if((b|0)>0){Di(f);b=0}else b=0;i=n;return b|0}function Ec(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=ih(c[g>>2]|0)|0;rf(j,k,1);rf(j,l,1);rf(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;rf(j,g+12|0,4);rf(j,g+16|0,4);rf(j,g+20|0,4);rf(j,g+24|0,4);f=g+32|0;rf(j,f,8);h=g+40|0;f=Ng(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;rf(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;Sg(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Ec(d,g,k,h,j)}}while(0);i=o;return}function Fc(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|0)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?b:0)|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,l=0,m=0;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ah(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(nh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ah(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;bc(e,2,j)|0}if(b&2048){c[h>>2]=bc(e,3,k)|0|2048;bc(e,4,h)|0}}}}while(0);i=l;return e|0}function Hc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5945]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ah(eb(145,h|0)|0)|0}else{ua(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ah(eb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Jc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=ih(a)|0;c[j>>2]=h;c[k>>2]=Jh(h<<2)|0;rf(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=Xi(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;rf(f,e+4|0,4);rf(f,e+8|0,4);rf(f,e+12|0,4);rf(f,e+16|0,4);Qg(f,+g[e+20>>2]);Qg(f,+g[e+24>>2]);Qg(f,+g[e+28>>2]);Qg(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=Xi(f)|0;e=((h|0)<0)<<31>>31;Ib(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,1,4,h,e,f);Gh(k)}else{h=_b(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=Wb(a,0)|0;if((d|0)<0){c[e>>2]=a;Vg(17457,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Nf(16363,a)|0)==0?(Nf(16371,a)|0)==0:0){e=0;g=7}else if(!(Dc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=eh(a)|0;nd(a,b,Ed(a)|0);do if(!(zg(b,17474)|0)){if(zg(b,17478)|0){Di(b);g=12;break}f=(zg(b,17481)|0)==0;Di(b);if(f)b=Qf(a,1,d)|0;else g=12}else{Di(b);g=12}while(0);if((g|0)==12)b=kg(a,1,d)|0;if(e)Di(e)}}i=h;return b|0}function Lc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)za(15219,15271,388,15283);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Jh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)ag(b);d=d+1|0}Di(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;kb[c[b>>2]&3](c[e>>2]|0,d);d=b;b=c[f>>2]|0}kb[c[d>>2]&3](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Sd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Tg(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){ci(e,19139);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){ci(e,19143);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}ci(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=rg(j)|0;if(!(c[a>>2]|0))rh(19145,k);if(!(b&8))e=0;else{Cg(l,me(180,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Cg(l,me(d,l)|0);e=e+1|0}i=m;return l|0}function Oc(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(!(Ne(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=ib[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((ib[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Xd(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 Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Qc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Ed(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Sd(16)|0;else l=Ze(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=di(d,e)|0;else{k=Ze(h,e+1|0)|0;c[l+4>>2]=k;Xd(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Lc(b,dh(m)|0);return l|0}function Sc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=kj()|0;$i(23700)|0;if((c[5932]|0)!=0&(a|0)==(c[5933]|0)){Of(2,12369,61)|0;Ma(1)}Zi(23700)|0;$i(23736)|0;$i(23700)|0;c[5933]=a;c[5932]=1;Zi(23700)|0;if(!(c[5941]|0))c[5941]=ce(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;hg(d,64,15957,b)|0;a=Be(c[5941]|0,d)|0;if(!a){a=Sd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Sh(c[5941]|0,d,a)|0}$i(23700)|0;c[5932]=0;Zi(23700)|0;Zi(23736)|0;i=e;return c[a+8>>2]|0}function Tc(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;m=i;i=i+16|0;l=m;c[l>>2]=0;k=0;h=24456;j=0;while(1){if(!a)break;g=c[a+4>>2]|0;if(!(Qe(g,h)|0))g=h;else{$g(l,g);h=Ed(g)|0;k=k+1|0;j=(h|0)>(j|0)?h:j}c[a+36>>2]=k+-1;h=g;a=c[a>>2]|0}ag(l);g=Jh(k<<4)|0;h=0;a=l;while(1){a=c[a>>2]|0;if((h|0)>=(k|0))break;n=c[a+4>>2]|0;c[g+(h<<4)+4>>2]=n;c[g+(h<<4)+8>>2]=h;c[g+(h<<4)+12>>2]=oi(b,n)|0;h=h+1|0}Dg(l);c[d>>2]=k;c[e>>2]=g;c[f>>2]=j;i=m;return}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Vc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=tf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Wc(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((pb[d&15](k,j)|0)>-1?(pb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((pb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);td(b,o,e);i=p;return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9704;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(nh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=zc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Qe(b,13392)|0){if(!(Qe(b,13398)|0)){f=c[2287]|0;break}e=Ld(b,d)|0;if(!e){a:do if(!d)e=24456;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=13426;break a}case 119:{e=13416;break a}default:{e=e<<24>>24==97?13405:24456;break a}}}while(0);d=Yd(c[(nh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;rh(13435,g)}else f=e}else f=c[2346]|0;while(0);i=h;return f|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ee(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=ab(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Qi(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;Wi(f);break}else{b=Ua(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Vg(13140,f);b=0;break}}else{Pe(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function _c(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Sd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[18750+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[18750+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[18750+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[18750+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function $c(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[18934+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[18934+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ca(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))yf(19286,k);l=yh()|0;if(fg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;yf(19309,f)}if(b|0?(Df(b,0)|0)<0:0)yf(19336,g);if((d|0)!=1?(Df(d,1)|0)<0:0)yf(19356,h);if((e|0)!=2?(Df(e,2)|0)<0:0)yf(19377,j);Eg();i=k;return}function bd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(ui(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=cg(c|0,d|0,10,0)|0;b=b+1|0;c=Ng(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Ng(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function cd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=Tb(a,b)|0;if((a|0)<0)a=-1;else{if((dd(a,1e6)|0)>0)kh(a,24456,0,0)|0;c[g>>2]=0;c[h>>2]=d;hg(f,256,16069,h)|0;do if(kh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,hg(f,256,16079,j)|0,(kh(a,f,0,0)|0)==0):0){ig(a)|0;a=-1;break}if(!(kh(a,16089,0,0)|0)){ig(a)|0;a=-1}}else{ig(a)|0;a=-1}while(0)}i=k;return a|0}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=jf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(nh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=Yd(a)|0;Vg(15962,m)}i=n;return a|0}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Ke(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Sd(5)|0;c[g>>2]=f;if((Pf(e,f,4)|0)<4)Gh(g);else a[f+4>>0]=0;ig(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Od(e)|0,Gh(h),(g|0)!=0):0){h=Tf(qe(b)|0,33,b,0)|0;e=Qf(b,d,Oi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function fd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Nd(a)|0;break}d=(fj(a)|0)==0;b=Nd(a)|0;if(!d)ej(a)}else{if(!(c[2316]|0))b=0;else b=fd(c[2316]|0)|0;Ya(23808);a=c[5951]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=fj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Nd(a)|0|b;if(d|0)ej(a);a=c[a+56>>2]|0}while((a|0)!=0);Sa(23808)}while(0);return b|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;d=0;e=f;while(1){if(!e){g=d;break}d=d+1|0;e=c[e>>2]|0}if((g|0)>1){h=Vd(g<<2)|0;d=f;e=0;while(1){if(!d)break;c[h+(e<<2)>>2]=d;d=c[d>>2]|0;e=e+1|0}Sb(h,g,4,b);d=0;e=0;while(1){if((d|0)==(g|0))break;b=h+(d<<2)|0;c[c[b>>2]>>2]=e;d=d+1|0;e=c[b>>2]|0}Di(h);d=0;while(1){if(!e)break;g=c[e>>2]|0;c[e>>2]=d;h=e;e=g;d=h}c[a>>2]=d}return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=wf(e,0)|0;c[n>>2]=g;Kf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=wf(d,e)|0;else if(!f){e=Ke(d,0,h)|0;if((e|0)<0){c[k>>2]=d;yf(19846,k)}else j=e}else j=0;c[m>>2]=j;e=Xe(a,b,j,g)|0;xf(m);if(!l)xf(n);i=o;return e|0}function id(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[(nh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=yh()|0;c[g>>2]=f;hg(a,256,18862,g)|0;d=He(a,1)|0;c[g>>2]=d;if(!d){j=c[2317]|0;c[b>>2]=a;ug(j,18899,b)|0;a=j}else{while(1){if(!(Gf(d,e)|0))break;a=c[e>>2]|0;if(Db(a,18878)|0){j=5;break}}if((j|0)==5){j=c[2317]|0;c[h>>2]=f;c[h+4>>2]=a;ug(j,18885,h)|0}sd(g);a=c[2317]|0}fd(a)|0;i=k;return}function kd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Vd(k)|0;Xd(j|0,d|0,e|0)|0;Di(c);d=j;e=k;c=j}k=xb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=eh(d)|0;Di(c);c=l}i=h;return c|0}function ld(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function md(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;do if(b){g=c[b>>2]|0;c[f>>2]=g;if(!g){g=a+4|0;e=c[a>>2]|0;d=c[e+16>>2]|0;e=e+8|0;a=c[g>>2]|0;while(1){a=a+1|0;if((a|0)>=(d|0)){d=5;break}if(c[(c[e>>2]|0)+(a<<2)>>2]|0){d=7;break}}if((d|0)==5){c[g>>2]=a;break}else if((d|0)==7){c[g>>2]=a;c[f>>2]=c[(c[e>>2]|0)+(a<<2)>>2];break}}}else b=0;while(0);return b|0}function nd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((xg(f,12360,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function od(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;se(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){Oc(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;Oc(h,f,a)|0}while(0);i=j;return}function pd(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(!(Ne(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((ib[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function qd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){wg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Xc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;wg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function rd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(fj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=pd(d,b)|0;ej(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=pd(d,b)|0}while(0);return e|0}function sd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(uh(c[2346]|0)|0):0){ig(c[d>>2]|0)|0;Di(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Ob(d)}else Wg(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)jb[d&3](f);Di(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Hd(g);Gh(b)}return}function td(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;Xd(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;Xd(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function ud(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=Ng(h^a|0,g^b|0,h|0,g|0)|0;b=C;Rb(a,b,Ng(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Ng(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function vd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Pf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;yf(13495,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;rh(13520,g)}else if((d|0)==8){i=h;return}}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(ui(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(ui(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ed(b)|0;h=Ed(c)|0;d=0;e=Db(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Db(e+g|0,b)|0}f=Ed(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Sd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Db(a,b)|0;d=f;while(1){if(!a)break;xi(d,e)|0;j=a+g|0;i=d+(a-e)|0;xi(i,c)|0;e=j;a=Db(j,b)|0;d=i+h|0}xi(d,e)|0;return f|0}function zd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Bh(f,-1,20067,56)|0;if(a|0){f=a;i=g;return f|0}a=rb(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Mc(f)|0;i=g;return f|0}else{Mc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Ad(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Bg(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Bd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(ui(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(ib[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((ib[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Dd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((xg(f,12360,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ed(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 Fd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Fg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Fd(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 Gd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Be(c[e>>2]|0,d)|0)){Sh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;ug(g,12627,h)|0}}}while(0);i=j;return}function Hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;si(d);d=g}e=e+1|0}}else{ph(b);b=d+8|0}while(0);Di(c[b>>2]|0);Gh(a)}return}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=bc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((bc(a,4,f)|0)<0){c[g>>2]=Yd(c[(nh()|0)>>2]|0)|0;Vg(15523,g);d=-1}else d=0}else{c[e>>2]=Yd(c[(nh()|0)>>2]|0)|0;Vg(15492,e);d=-1}i=h;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;Xg(e,b,16);c[2]=pe(12294,c[2]|0)|0;c[3]=pe(12304,c[3]|0)|0;c[5921]=Ji(12317)|0;c[5922]=(Ji(12322)|0)==0&1;c[5923]=Ji(12326)|0;c[5924]=Ji(12345)|0;if((c[e>>2]|0)!=4)yg();Kg(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);if((gj()|0)>1)jd();i=d;return 0}function Kd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[18942+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[18950+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[18950+f>>0]}while(0);return}function Ld(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Fc(23398,a[d>>0]|0,4)|0){h=df(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ah(_a(5,e|0)|0)|0;if((e|0)>=0){b=nc(e,d)|0;if(!b){c[f>>2]=e;Ka(6,f|0)|0;b=0}}else b=0}else{c[(nh()|0)>>2]=22;b=0}i=g;return b|0}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;rh(14306,d)}d=Ai(a,b)|0;if(!d){g=c[(nh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;rh(14370,e)}else{i=f;return d|0}return 0}function Nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(ib[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)ib[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Nf(12489,a)|0))if(!(Nf(12492,a)|0))if(!(Nf(12496,a)|0))if(!(Nf(12499,a)|0))a=0;else{a=12504;e=5}else{a=12508;e=5}else{a=12512;e=5}else{a=12514;e=5}if((e|0)==5){c[d>>2]=a;hg(b,20,12517,d)|0;a=eh(b)|0}i=f;return a|0}function Pd(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=Ng(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Ng((Rb(h,g,Ng(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;zf(h,0);e=+sb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Rd(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=Rf(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Kh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Sd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;rh(14442,b)}b=Ui(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(14495,d)}else{se(b|0,0,a|0)|0;i=e;return b|0}return 0}function Td(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)ib[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Ud(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=13296;break}case 2:{a=13275;break}case -1:{a=13264;break}case -2:{a=13248;break}case -3:{a=13248;break}case -4:{a=13233;break}case -5:{a=13218;break}case -6:{a=13199;break}case 0:{a=0;break}default:{c[b>>2]=a;hg(24328,128,13180,b)|0;a=24328}}i=d;return a|0}function Vd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;rh(14182,b)}b=Ui(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(14240,d)}else{i=e;return b|0}return 0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=qb(b)|0;return a|0}if(b>>>0>4294967231){c[(nh()|0)>>2]=12;a=0;return a|0}d=Lb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=qb(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;Xd(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;yb(a);a=d;return a|0}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ga(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 Yd(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21466+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21554;e=5;break}}if((e|0)==2)if(!c)b=21554;else{b=21554;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 Zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;$b(b,g);$b(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){cf(e,2048,d);cf(f+2064|0,2048,g+2064|0)}g=Cc(f)|0;i=h;return g|0}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Gf(b,d)|0))break;if((Nf(12816,c[d>>2]|0)|0)==0?(Nf(12824,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Ig(2,12867,f)}if((g|0)==5){c[e>>2]=c[d>>2];Ig(2,12830,e);a[b+48>>0]=1}i=h;return}function $d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ae(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;rh(13068,k)}else{c[j>>2]=e;Ih(d,j)}return 0}function be(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;m=o+4|0;l=ve(b)|0;b=lg(0)|0;c[m>>2]=b;b=vb(a,f,l,e,b)|0;if(!b){c[n>>2]=a;rh(18730,n)}else{zb(b,l,d,e,g,h,j,k);ph(m);i=o;return}}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)za(15219,15271,357,15326);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=lg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Jh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function de(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;zf(j,0);e=Eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;i=i+16|0;e=f;c[e>>2]=0;while(1){if(!a)break;h=c[a+4>>2]|0;gc(h,c[b+(h<<4)+12>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,+g[a+20>>2],+g[a+24>>2],+g[a+28>>2],+g[a+32>>2],d,e);a=c[a>>2]|0}ag(e);i=f;return c[e>>2]|0}function fe(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;hg(h,256,16140,j)|0;j=_c(h,Ed(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;vg(e,16146,k);Gh(g)}i=l;return}function ge(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ya(23808);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5951]|0)==(a|0))c[5951]=b;Sa(23808)}b=fd(a)|0;b=mb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)yb(d);if(!e)yb(a);return b|0}function he(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=ff(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=13697;else e=(d|0)==2?13656:13665;else e=13688;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;yf(13706,g);return 0}function ie(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2287]|0;if((c[f+76>>2]|0)>-1)g=fj(f)|0;else g=0;do if((mi(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=(pd(f,10)|0)<0}while(0);if(g|0)ej(f);return d<<31>>31|0}function je(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Di(e);f=f+1|0}Di(b);Di(i);i=h}Gh(g+12|0);Gh(g+28|0);Gh(a)}return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Bi(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;rh(12768,g);return +(0.0)}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;rh(12720,f)}j=Bd(d)|0;i=g;return j|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Sd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=eh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Ic(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Pc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2287]|0);if((b|0)==(c[2346]|0)|d)if(d){fd(b)|0;b=1}else b=1;else if(!(ge(b)|0))b=1;else{qf(13751,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=gg(b)|0;do if((f|0)!=0?(Qe(f,15069)|0)!=0:0){d=Nh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;rh(14792,h)}else e=d;while(0);i=j;return e|0}function qe(a){a=a|0;var b=0;b=eh(a)|0;if(!(((Nf(16363,a)|0)==0?(Nf(16371,a)|0)==0:0)?!(Nf(16380,a)|0):0))nd(a,b,Ed(a)|0);if(!(zg(b,17474)|0))if(!(zg(b,17478)|0))if(!(zg(b,17481)|0)){a=(zg(b,12529)|0)==0;a=a?0:72}else a=108;else a=96;else a=84;Di(b);return a|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Jh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;rh(15190,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function se(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 te(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=wi(e&65535)|0;if(d){h=Ri(Zc(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=ii(b,59)|0;if((g|0?Nf(15847,g)|0:0)?(i=(wh(g,61)|0)+1|0,h=wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=bd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=bd(b)|0;c[e>>2]=f}}return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ce(0,1)|0;b=qh(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(_f(b,f,2)|0))break;b=c[f>>2]|0;_h(d,b,hh(c[a>>2]|0)|0)|0;b=c[e>>2]|0}sd(e);i=g;return d|0}function we(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 xe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ah(pa(102,h|0)|0)|0;i=g;return e|0}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Tg(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){ci(e,19143);b=c[d>>2]|0}ci(e,b);f=f+1|0}g=rg(g)|0;i=h;return g|0}
-function ze(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ah(pa(102,h|0)|0)|0;i=g;return e|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Qe(a,15842)|0)if(!(Qe(a,15859)|0)){d=Rg(a+4112|0,Bd(a+6160|0)|0)|0;break}else{c[e>>2]=b;rh(16098,e)}else d=Tb(a+4112|0,Bd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Qe(c[e+4>>2]|0,d)|0)!=0);return e|0}function Ce(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((Ah(cb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function De(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;if(((a[e>>0]|0)+-48|0)>>>0<10){f=hh(e)|0;i=g;return f|0}else{h=c[b+28>>2]|0;g=c[b+4>>2]|0;c[f>>2]=d;c[f+4>>2]=e;c[f+8>>2]=h;c[f+12>>2]=g;rh(17818,f)}return 0}function Ee(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Fe(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Ed(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(ui(d<<24>>24)|0)!=0;d=d&1}return d|0}function Ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=zd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=Ud(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;rh(13312,g)}return 0}function He(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Qe(a,13392)|0){if(qe(a)|0){c=ed(a,b)|0;break}c=Ke(a,0,c)|0;if((c|0)==-1)c=0;else c=Qf(a,b,c)|0}else c=ji(b)|0;while(0);i=d;return c|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=b+8|0;e=c[b+16>>2]|0;d=0;while(1){if((d|0)>=(e|0)){e=0;break}if(c[(c[f>>2]|0)+(d<<2)>>2]|0){g=5;break}d=d+1|0}if((g|0)==5)e=c[(c[f>>2]|0)+(d<<2)>>2]|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;return}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Of(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)yf(13562,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;rh(13588,e)}}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ah(_a(5,f|0)|0)|0;i=e;return d|0}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);wg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;Xd(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ah(pa(102,f|0)|0)|0;i=e;return d|0}function Ne(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 Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Zg(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Je(b,d,e);return}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((Vb(2,a,d)|0)<0){b=Yd(c[(nh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Vg(13099,e);a=0}else{c[b>>2]=Qi(c[d>>2]|0)|0;a=1}i=f;return a|0}function Qe(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 Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Zg(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;vd(b,d,e);return}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((xe(a,1,20,d,8)|0)>=0)if((xe(a,1,21,d,8)|0)<0){Vg(15387,e);a=-1}else a=0;else{Vg(15337,f);a=-1}i=f;return a|0}function Te(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,Ra(54,f|0)|0):0)a[b+75>>0]=-1;f=mc(b,d,e)|0;i=g;return f|0}function Ue(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Kb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=xd(f,d,e)|0;if(f|0)break}i=j;return f|0}function Ve(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=gi(a[e>>0]|0)|0;c=c<<24>>24;b=(gi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function We(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 Xe(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;Kf(b);a=Nc(a,b)|0;if(!(b&1)){b=Vf(a+16|0)|0;c[f>>2]=b;Pb(a,b,d,e,0,0);xf(f)}else Ff(a,d,e,0,0);i=g;return a|0}function Ye(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=ub(e,b,d)|0;i=g;return h|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=re(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function _e(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=ib[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Xc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;rh(13765,g)}return 0}function af(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[b>>2]|0;a=Qe(c[e+4>>2]|0,c[d+4>>2]|0)|0;if(!a){b=c[e+8>>2]|0;a=c[d+8>>2]|0;if((b|0)==(a|0))a=(c[e+12>>2]|0)-(c[d+12>>2]|0)|0;else a=b-a|0}return a|0}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Fc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;Xd(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Ed(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;rh(13346,f)}else{xi(a,d)|0;i=g;return}}function df(b){b=b|0;var c=0,d=0,e=0;d=(wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wh(b,120)|0)==0;d=e?d:d|128;b=(wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(12680,e)}}function ff(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ah(cb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function gf(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=(fj(e)|0)==0;a=Oc(a,f,e)|0;if(!g)ej(e)}else a=Oc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function hf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2287]|0;else{ie(12431)|0;ie(12456)|0;d=c[2287]|0;zc(d,a,b)|0;rd(10,d)|0;fd(d)|0}fd(d)|0;d=c[2317]|0;zc(d,a,b)|0;rd(10,d)|0;fd(d)|0}return}function jf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ah(db(142,h|0)|0)|0;i=g;return d|0}function kf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)lf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function mf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Vd(h)|0;a=a+136|0;bg(a,b,d+64|0,0)|0;Re(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=He(a,b)|0;if(!b){e=Yd(c[(nh()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;rh(12605,d)}else{i=e;return b|0}return 0}function of(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Gg(e)|0,(a[d>>0]|0)!=0):0){e=Ef(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function pf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=Yd(c[(nh()|0)>>2]|0)|0;c[g+4>>2]=a;tg(f,12483,g)|0;Yg(f,e);i=d;return}function rf(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?(gf(b,d,1,a)|0)!=1:0){a=Yd(dg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;rh(13465,e)}i=f;return}function sf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Xd(b,c,d)|0;return b|0}function tf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Td(a)|0)!=0:0)b=-1;else if((ib[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;rh(19503,e)}}function vf(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 wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Ke(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;yf(19814,d)}else{i=e;return b|0}return 0}function xf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((ig(b)|0)<0){c[d>>2]=b;yf(19538,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=Yd(c[(nh()|0)>>2]|0)|0;c[f+4>>2]=a;tg(e,12483,f)|0;Ih(e,d)}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((ig(b)|0)<0)yf(13738,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;b=c[e+4>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0))a=(c[e+8>>2]|0)-(c[a+8>>2]|0)|0;else a=b-d|0;return a|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Rh(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else za(12549,12571,352,12587)}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=qa(63,e|0)|0}while((d|0)==-16);e=Ah(d)|0;i=f;return e|0}function Ef(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(ui(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Ff(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[a+16>>2]=Vf(h)|0;Pb(a,b,c[h>>2]|0,d,e,f);xf(h);i=g;return}function Gf(b,d){b=b|0;d=d|0;a:while(1){if(!(Kb(b,d,0)|0)){b=0;break}switch(a[(Gg(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Hf(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=308;c[a+2852>>2]=a+2440;c[a+2860>>2]=444;c[a+2864>>2]=a+2684;c[a+2872>>2]=584;b[a+5816>>1]=0;c[a+5820>>2]=0;xc(a);return}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Xd(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Pf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Kf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{rh(19010,c);break}default:{}}if((a&18|0)==16)rh(19076,b);else{i=c;return}}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;a=Be(a,b)|0;if(!a){c[d>>2]=b;rh(15294,d)}else{i=e;return c[a+8>>2]|0}return 0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(fj(a)|0)==0;b=Cd(a,b,d)|0;if(!e)ej(a)}else b=Cd(a,b,d)|0;return b|0}function Nf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah($a(4,f|0)|0)|0;i=e;return a|0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(Wa(3,f|0)|0)|0;i=e;return a|0}function Qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Sd(104)|0;c[f+4>>2]=eh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Sd(65537)|0;return f|0}function Rf(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;Rb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Xe(g,b,d,e)|0;i=f;return e|0}function Tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=hd(g,b,d,e)|0;i=f;return e|0}function Uf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0;i=d-c|0;h=+(i|0)*e;gc(a,b,c,d,i,e,e,h,h*e,f,g);return}function Vf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Jg(b)|0)<0)yf(19175,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Wf(b){b=b|0;var c=0,d=0;c=Ed(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(ui(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+36>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;if((c[30]|0)>=(a|0)){a=c[5942]|0;if(!a){a=c[2317]|0;c[5942]=a}zc(a,b,d)|0;fd(c[5942]|0)|0}return}function _f(a,b,c){a=a|0;b=b|0;c=c|0;b=Ue(a,b,c)|0;if(b)if((b|0)<(c|0)){ef(a,c,b);b=1}else b=1;else b=0;return b|0}function $f(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return he(b,d,e)|0}function cg(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=kf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function dg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(fj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)ej(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function eg(a){a=a|0;var b=0,d=0,e=0;b=0;d=0;while(1){if(!a)break;e=Zg(b|0,d|0,32,0)|0;b=e;d=C;a=c[a>>2]|0}C=d;return b|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ah(Qa(57,e|0)|0)|0;i=d;return a|0}function gg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5943]|0;if(!b)rh(15158,d);else{a=ah(b,a)|0;i=d;return a|0}return 0}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=$e(a,b,d,g)|0;i=f;return e|0}function ig(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ka(6,d|0)|0;a=Ah((a|0)==-4?-115:a)|0;i=b;return a|0}function jg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Qe(d,a)|0))break;b=b+8|0}return b|0}function kg(a,b,d){a=a|0;b=b|0;d=d|0;d=Sf(qe(a)|0,33,d,2)|0;b=Qf(a,b,Oi(d)|0)|0;c[b+56>>2]=d;return b|0}function lg(a){a=a|0;var b=0;b=Sd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;re(b,a)|0;return b|0}function mg(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=Ah(Ka(6,d|0)|0)|0;i=b;return a|0}function ng(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]}function og(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return lb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function qg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Sd(d+1|0)|0;c=(c|0)<(d|0)?c:d;Xd(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function rg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)za(18815,18826,40,18842);else{b=c[b+4>>2]|0;Gh(a);return b|0}return 0}function sg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=hi(c<<24>>24)|0;d=d+1|0}return b|0}function tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Vh(a,b,f)|0;i=e;return d|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=zc(a,b,f)|0;i=e;return d|0}function vg(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;qd(a,b,f);i=e;return}function wg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Rh(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ye(a,b,f)|0;i=e;return d|0}function yg(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=4;c[a+4>>2]=d;c[a+8>>2]=b;rh(11120,a)}function zg(a,b){a=a|0;b=b|0;var c=0;c=Ed(a)|0;c=c-(Ed(b)|0)|0;if((c|0)<0)c=0;else c=(Qe(a+c|0,b)|0)==0&1;return c|0}function Ag(a,b){a=a|0;b=b|0;rf(a,b,8);rf(a,b+8|0,8);rf(a,b+16|0,8);rf(a,b+24|0,8);rf(a,b+32|0,8);return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Cg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Dg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Di(b);b=d}c[a>>2]=0;return}function Eg(){var a=0,b=0;a=Xa(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;ig(b)|0;b=b+1|0}return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Gg(b){b=b|0;if(!b)b=0;else while(1)if(!(ui(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Hg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(fj(a)|0)==0;a=_e(a)|0}else a=_e(a)|0;return a|0}function Ig(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;Zf(a,b,f);i=e;return}function Jg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ah(ta(42,d|0)|0)|0;i=b;return a|0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;be(a,b,c[2]|0,c[3]|0,c[5921]|0,c[5922]|0,c[5923]|0,c[5924]|0,d);return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;a=Md(a,c)|0;if(c>>>0>b>>>0)se(a+b|0,0,c-b|0)|0;return a|0}function Mg(){}function Ng(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 (C=d,a-c>>>0|0)|0}function Og(a){a=a|0;var b=0;if(!a)a=Sd(8)|0;else{b=Sd((Ed(a)|0)+8|0)|0;xi(b+4|0,a)|0;a=b}return a|0}function Pg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[30]=a;c[d>>2]=0;i=b;return}function Qg(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;rf(a,d,4);i=c;return}function Rg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;rh(18958,d);return 0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;rd(b,a)|0;c=c+-1|0}return}function Tg(a){a=a|0;var b=0;b=Sd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Sd(a+1|0)|0;c[b+8>>2]=a;return b|0}function Ug(){var a=0,b=0;b=i;i=i+16|0;a=Gc(2,1,0)|0;if((a|0)<0)Vg(15462,b);i=b;return a|0}function Vg(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;Yg(a,e);i=d;return}function Wg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=yc(b)|0;je(a)}return b|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5943]|0)){Fh(Gb(a,b,0,d,0)|0);c[5944]=d}return}function Yg(a,b){a=a|0;b=b|0;var d=0;d=Sc()|0;kb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=Sh(a,b,d)|0;c[e>>2]=c[d+4>>2];return d|0}function $g(a,b){a=a|0;b=b|0;var d=0;d=Sd(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function ah(a,b){a=a|0;b=b|0;a=Be(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function bh(a,b){a=a|0;b=b|0;if((xd(a,0,5)|0)>(b|0))a=1;else a=fh(a)|0;return a|0}function ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function dh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function eh(a){a=a|0;var b=0;if(!a)a=0;else{b=Ed(a)|0;a=qg(a,b,b)|0}return a|0}function fh(a){a=a|0;if(!(Fe(17732,a)|0))a=(Fe(17745,a)|0)!=0;else a=1;return a&1|0}function gh(a,b){a=a|0;b=b|0;return Qe(c[(c[a>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0}function hh(a){a=a|0;var b=0;b=i;i=i+16|0;a=ae(a,0,b)|0;i=b;return a|0}function ih(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function jh(a,b){a=a|0;b=b|0;return (c[(c[a>>2]|0)+4>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bi(a,b);return pc(a,b,c,d)|0}function lh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function mh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function nh(){var a=0;if(!(c[5945]|0))a=23824;else a=c[(kj()|0)+64>>2]|0;return a|0}function oh(a){a=a|0;if(!a)a=0;else{a=Gg(a)|0;Wf(a)}return a|0}function ph(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Dg(b);Di(b);c[a>>2]=0}return}function qh(a){a=a|0;a=Kc(a)|0;if(!a)xh();else return a|0;return 0}function rh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ih(a,d)}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ib[a&7](b|0,c|0,d|0)|0}function th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Di(c[b+4>>2]|0);Gh(a)}return}function uh(a){a=a|0;if((c[a+76>>2]|0)>-1?fj(a)|0:0)ej(a);return c[a+60>>2]|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;a=Ze(a,c)|0;Xd(a|0,b|0,c|0)|0;return a|0}function wh(b,c){b=b|0;c=c|0;b=Qc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xh(){var a=0;a=Sc()|0;ob[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Ma(-1)}function yh(){var a=0,b=0;b=i;i=i+16|0;a=xa(20,b|0)|0;i=b;return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Af(b+52|0);Gh(a)}return}function Ah(a){a=a|0;if(a>>>0>4294963200){c[(nh()|0)>>2]=0-a;a=-1}return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zb(a,b,8,15,8,0,c,d)|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nb[a&3](b|0,c|0,d|0)}function Dh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Eh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=id(a,b,0)|0;return a|0}function Fh(a){a=a|0;c[5943]=a;if(gg(14650)|0)Pg(pe(14650,0)|0);return}function Gh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)Yi(b);return}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Ih(a,b){a=a|0;b=b|0;c[(Sc()|0)+4>>2]=1;Yg(a,b);xh()}function Jh(a){a=a|0;var b=0;b=Vd(a)|0;se(b|0,0,a|0)|0;return b|0}function Kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Rb(a,b,c,d,0)|0}function Lh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,b,c,0,-2147483648)|0;return a|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,b,c,-2147483648,0)|0;return a|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;return cc(a,b,16322,16331,c)|0}function Ph(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;return pb[a&15](b|0,c|0)|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return Rc(a,b,Ed(b)|0,c)|0}function Th(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Uh(a){a=a|0;if(!(oe(a)|0))xh();else return}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,2147483647,b,c)|0}function Wh(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;kb[a&3](b|0,c|0)}function Yh(a,b){a=a|0;b=b|0;return Qe(c[a>>2]|0,c[b>>2]|0)|0}function Zh(){if((Oa(12464)|0)==0?(Oa(12474)|0)==0:0)Ma(-1);La()}function _h(a,b,c){a=a|0;b=b|0;c=c|0;return Sh(a,b,0+c|0)|0}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return qb(_(c,b)|0)|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return bf(a,b,c)|0}function bi(a,b){a=a|0;b=b|0;Je(a,b,Ed(b)|0);return}function ci(a,b){a=a|0;b=b|0;Le(a,b,Ed(b)|0);return}function di(a,b){a=a|0;b=b|0;return qg(a,Ed(a)|0,b)|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,0,c)|0}function fi(a,b){a=a|0;b=b|0;xi(b,c[a+4>>2]|0)|0;return}function gi(a){a=a|0;var b=0;b=(Mi(a)|0)==0;return (b?a:a&95)|0}function hi(a){a=a|0;var b=0;b=(Li(a)|0)==0;return (b?a:a|32)|0}function ii(a,b){a=a|0;b=b|0;return $f(a,b,(Ed(a)|0)+1|0)|0}function ji(a){a=a|0;return Qf(13392,a,uh(c[2346]|0)|0)|0}function ki(a){a=a|0;if(!(c[a+68>>2]|0))ej(a);return}function li(a){a=a|0;if(!(c[a+68>>2]|0))ej(a);return}function mi(a,b){a=a|0;b=b|0;return (gf(a,Ed(a)|0,1,b)|0)+-1|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,1,c)|0}function oi(a,b){a=a|0;b=b|0;return dj(Lf(a,b)|0)|0}function pi(a){a=a|0;return ((a+-48|0)>>>0<10|(Ei(a)|0)!=0)&1|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return Mf(a,b,c)|0}function ri(a,b){a=a|0;b=b|0;return mb[a&3](b|0)|0}function si(a){a=a|0;Di(c[a+4>>2]|0);Di(a);return}function ti(a,b){a=a|0;b=b|0;i=a;j=b}function ui(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function vi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function xi(a,b){a=a|0;b=b|0;Uc(a,b)|0;return a|0}function yi(a,b){a=a|0;b=b|0;jb[a&3](b|0)}function zi(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Ai(a,b){a=a|0;b=b|0;return Wd(a,b)|0}function Bi(a,b){a=a|0;b=b|0;return +(+Qd(a,b,1))}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Di(a){a=a|0;if(a|0)Yi(a);return}function Ei(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Fi(a,b){a=+a;b=+b;return +(+pf(a,b))}function Gi(a,b){a=+a;b=b|0;return +(+Ad(a,b))}function Hi(a,b){a=+a;b=b|0;return +(+Fd(a,b))}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;ba(5)}function Ji(a){a=a|0;return (gg(a)|0)!=0|0}function Ki(b){b=b|0;a[b+48>>0]=1;return}function Li(a){a=a|0;return (a+-65|0)>>>0<26|0}function Mi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Ni(a,b){a=a|0;b=b|0;yb(b);return}function Oi(a){a=a|0;return c[a+16>>2]|0}function Pi(a,b){a=+a;b=+b;return +(+Xb(a,b))}function Qi(a){a=a|0;return Ph(a|0)|0}function Ri(a){a=a|0;return Ph(a|0)|0}function Si(a,b){a=a|0;b=b|0;ba(7);return 0}function Ti(a){a=a|0;ob[a&1]()}function Ui(a){a=a|0;return qb(a)|0}function Vi(a){a=a|0;return a+8|0}function Wi(a){a=a|0;yb(a);return}function Xi(a){a=a|0;return Hg(a)|0}function Yi(a){a=a|0;yb(a);return}function Zi(a){a=a|0;return 0}function _i(a,b){a=a|0;b=b|0;ba(2)}function $i(a){a=a|0;return 0}function aj(a){a=a|0;i=a}function bj(a){a=a|0;C=a}function cj(a){a=a|0;ba(4);return 0}function dj(a){a=a|0;return a|0}function ej(a){a=a|0;return}function fj(a){a=a|0;return 0}function gj(){return c[30]|0}function hj(){return C|0}function ij(){return i|0}function jj(a){a=a|0;ba(1)}function kj(){return 0}function lj(){ba(6)}
+function qb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+16|0;p=O;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[5958]|0;b=k>>>a;if(b&3|0){b=(b&1^1)+a|0;d=23872+(b<<1<<2)|0;e=d+8|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[5962]|0)>>>0)La();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else La()}else c[5958]=k&~(1<<b);while(0);N=b<<3;c[f+4>>2]=N|3;N=f+N+4|0;c[N>>2]=c[N>>2]|1;N=g;i=O;return N|0}h=c[5960]|0;if(q>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;j=d>>>12&16;d=d>>>j;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|j|g|e|b)+(d>>>b)|0;d=23872+(b<<1<<2)|0;e=d+8|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[5962]|0)>>>0)La();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;l=c[5960]|0;break}else La()}else{c[5958]=k&~(1<<b);l=h}while(0);h=(b<<3)-q|0;c[g+4>>2]=q|3;e=g+q|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(l|0){f=c[5963]|0;b=l>>>3;d=23872+(b<<1<<2)|0;a=c[5958]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{m=a;n=b}}else{c[5958]=a|b;m=d+8|0;n=d}c[m>>2]=f;c[n+12>>2]=f;c[f+8>>2]=n;c[f+12>>2]=d}c[5960]=h;c[5963]=e;N=j;i=O;return N|0}a=c[5959]|0;if(a){d=(a&0-a)+-1|0;M=d>>>12&16;d=d>>>M;L=d>>>5&8;d=d>>>L;N=d>>>2&4;d=d>>>N;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[24136+((L|M|N|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-q|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){k=e;break}}b=(c[a+4>>2]&-8)-q|0;N=b>>>0<d>>>0;d=N?b:d;b=a;e=N?a:e}g=c[5962]|0;if(k>>>0<g>>>0)La();j=k+q|0;if(k>>>0>=j>>>0)La();h=c[k+24>>2]|0;e=c[k+12>>2]|0;do if((e|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)La();else{c[b>>2]=0;o=a;break}}else{f=c[k+8>>2]|0;if(f>>>0<g>>>0)La();a=f+12|0;if((c[a>>2]|0)!=(k|0))La();b=e+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=e;c[b>>2]=f;o=e;break}else La()}while(0);do if(h|0){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=o;if(!o){c[5959]=c[5959]&~(1<<a);break}}else{if(h>>>0<(c[5962]|0)>>>0)La();a=h+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=o;else c[h+20>>2]=o;if(!o)break}b=c[5962]|0;if(o>>>0<b>>>0)La();c[o+24>>2]=h;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[o+20>>2]=a;c[a+24>>2]=o;break}}while(0);if(d>>>0<16){N=d+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}else{c[k+4>>2]=q|3;c[j+4>>2]=d|1;c[j+d>>2]=d;a=c[5960]|0;if(a|0){f=c[5963]|0;b=a>>>3;e=23872+(b<<1<<2)|0;a=c[5958]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{r=a;s=b}}else{c[5958]=a|b;r=e+8|0;s=e}c[r>>2]=f;c[s+12>>2]=f;c[f+8>>2]=s;c[f+12>>2]=e}c[5960]=d;c[5963]=j}N=k+8|0;i=O;return N|0}}}else if(a>>>0<=4294967231){a=a+11|0;q=a&-8;k=c[5959]|0;if(k){d=0-q|0;a=a>>>8;if(a)if(q>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;G=a<<s;r=(G+520192|0)>>>16&4;G=G<<r;j=(G+245760|0)>>>16&2;j=14-(r|s|j)+(G<<j>>>15)|0;j=q>>>(j+7|0)&1|j<<1}else j=0;b=c[24136+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;G=86}else{f=d;a=0;g=q<<((j|0)==31?0:25-(j>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-q|0;if(d>>>0<f>>>0)if((e|0)==(q|0)){a=h;b=h;G=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){G=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((G|0)==86){if((a|0)==0&(b|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;m=s>>>5&8;s=s>>>m;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;a=s>>>1&1;a=c[24136+((m|n|o|r|a)+(s>>>a)<<2)>>2]|0}if(!a){j=d;k=b}else G=90}if((G|0)==90)while(1){G=0;s=(c[a+4>>2]&-8)-q|0;e=s>>>0<d>>>0;d=e?s:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;G=90;continue}a=c[a+20>>2]|0;if(!a){j=d;k=b;break}else G=90}if((k|0)!=0?j>>>0<((c[5960]|0)-q|0)>>>0:0){f=c[5962]|0;if(k>>>0<f>>>0)La();h=k+q|0;if(k>>>0>=h>>>0)La();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+20|0;a=c[b>>2]|0;if(!a){b=k+16|0;a=c[b>>2]|0;if(!a){u=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)La();else{c[b>>2]=0;u=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)La();a=e+12|0;if((c[a>>2]|0)!=(k|0))La();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;u=d;break}else La()}while(0);do if(g|0){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=u;if(!u){c[5959]=c[5959]&~(1<<a);break}}else{if(g>>>0<(c[5962]|0)>>>0)La();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=u;else c[g+20>>2]=u;if(!u)break}b=c[5962]|0;if(u>>>0<b>>>0)La();c[u+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[u+16>>2]=a;c[a+24>>2]=u;break}while(0);a=c[k+20>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[u+20>>2]=a;c[a+24>>2]=u;break}}while(0);do if(j>>>0>=16){c[k+4>>2]=q|3;c[h+4>>2]=j|1;c[h+j>>2]=j;a=j>>>3;if(j>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{w=a;x=b}}else{c[5958]=b|a;w=d+8|0;x=d}c[w>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}a=j>>>8;if(a)if(j>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=j>>>(d+7|0)&1|d<<1}else d=0;e=24136+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=j<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(j|0)){d=a;G=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=145;break}else{f=f<<1;a=d}}if((G|0)==145)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((G|0)==148){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else La()}}else{N=j+q|0;c[k+4>>2]=N|3;N=k+N+4|0;c[N>>2]=c[N>>2]|1}while(0);N=k+8|0;i=O;return N|0}}}else q=-1;while(0);d=c[5960]|0;if(d>>>0>=q>>>0){a=d-q|0;b=c[5963]|0;if(a>>>0>15){N=b+q|0;c[5963]=N;c[5960]=a;c[N+4>>2]=a|1;c[N+a>>2]=a;c[b+4>>2]=q|3}else{c[5960]=0;c[5963]=0;c[b+4>>2]=d|3;N=b+d+4|0;c[N>>2]=c[N>>2]|1}N=b+8|0;i=O;return N|0}a=c[5961]|0;if(a>>>0>q>>>0){L=a-q|0;c[5961]=L;N=c[5964]|0;M=N+q|0;c[5964]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}if(!(c[6076]|0)){c[6078]=4096;c[6077]=4096;c[6079]=-1;c[6080]=-1;c[6081]=0;c[6069]=0;x=p&-16^1431655768;c[p>>2]=x;c[6076]=x}h=q+48|0;g=c[6078]|0;j=q+47|0;f=g+j|0;g=0-g|0;k=f&g;if(k>>>0<=q>>>0){N=0;i=O;return N|0}a=c[6068]|0;if(a|0?(w=c[6066]|0,x=w+k|0,x>>>0<=w>>>0|x>>>0>a>>>0):0){N=0;i=O;return N|0}b:do if(!(c[6069]&4)){a=c[5964]|0;c:do if(a){d=24280;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(t=d+4|0,(b+(c[t>>2]|0)|0)>>>0>a>>>0):0){e=d;d=t;break}d=c[d+8>>2]|0;if(!d){G=171;break c}}a=f-(c[5961]|0)&g;if(a>>>0<2147483647){b=Fa(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}else G=181}}else G=171;while(0);do if((G|0)==171?(v=Fa(0)|0,(v|0)!=(-1|0)):0){a=v;b=c[6077]|0;d=b+-1|0;if(!(d&a))a=k;else a=k-a+(d+a&0-b)|0;b=c[6066]|0;d=b+a|0;if(a>>>0>q>>>0&a>>>0<2147483647){x=c[6068]|0;if(x|0?d>>>0<=b>>>0|d>>>0>x>>>0:0)break;b=Fa(a|0)|0;if((b|0)==(v|0)){h=v;f=a;G=191;break b}else G=181}}while(0);d:do if((G|0)==181){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(y=c[6078]|0,y=j-a+y&0-y,y>>>0<2147483647):0)if((Fa(y|0)|0)==(-1|0)){Fa(d|0)|0;break d}else{a=y+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;G=191;break b}}while(0);c[6069]=c[6069]|4;G=188}else G=188;while(0);if((((G|0)==188?k>>>0<2147483647:0)?(z=Fa(k|0)|0,A=Fa(0)|0,z>>>0<A>>>0&((z|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(B=A-z|0,B>>>0>(q+40|0)>>>0):0){h=z;f=B;G=191}if((G|0)==191){a=(c[6066]|0)+f|0;c[6066]=a;if(a>>>0>(c[6067]|0)>>>0)c[6067]=a;j=c[5964]|0;do if(j){e=24280;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){C=a;D=b;E=d;F=e;G=201;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((G|0)==201?(c[F+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=C>>>0:0){c[D>>2]=E+f;N=j+8|0;N=(N&7|0)==0?0:0-N&7;M=j+N|0;N=f-N+(c[5961]|0)|0;c[5964]=M;c[5961]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5965]=c[6080];break}a=c[5962]|0;if(h>>>0<a>>>0){c[5962]=h;k=h}else k=a;d=h+f|0;a=24280;while(1){if((c[a>>2]|0)==(d|0)){b=a;G=209;break}a=c[a+8>>2]|0;if(!a){b=24280;break}}if((G|0)==209)if(!(c[a+12>>2]&8)){c[b>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+f;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;l=m+q|0;g=a-m-q|0;c[m+4>>2]=q|3;do if((a|0)!=(j|0)){if((a|0)==(c[5963]|0)){N=(c[5960]|0)+g|0;c[5960]=N;c[5963]=l;c[l+4>>2]=N|1;c[l+N>>2]=N;break}b=c[a+4>>2]|0;if((b&3|0)==1){j=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){L=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){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<k>>>0)La();else{c[d>>2]=0;L=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<k>>>0)La();b=f+12|0;if((c[b>>2]|0)!=(a|0))La();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;L=e;break}else La()}while(0);if(!h)break;b=c[a+28>>2]|0;d=24136+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[5962]|0)>>>0)La();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=L;else c[h+20>>2]=L;if(!L)break e}else{c[d>>2]=L;if(L|0)break;c[5959]=c[5959]&~(1<<b);break e}while(0);e=c[5962]|0;if(L>>>0<e>>>0)La();c[L+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)La();else{c[L+16>>2]=d;c[d+24>>2]=L;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[5962]|0)>>>0)La();else{c[L+20>>2]=b;c[b+24>>2]=L;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=23872+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<k>>>0)La();if((c[d+12>>2]|0)==(a|0))break;La()}while(0);if((e|0)==(d|0)){c[5958]=c[5958]&~(1<<f);break}do if((e|0)==(b|0))I=e+8|0;else{if(e>>>0<k>>>0)La();b=e+8|0;if((c[b>>2]|0)==(a|0)){I=b;break}La()}while(0);c[d+12>>2]=e;c[I>>2]=d}while(0);a=a+j|0;g=j+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=g|1;c[l+g>>2]=g;a=g>>>3;if(g>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;do if(!(b&a)){c[5958]=b|a;M=d+8|0;N=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[5962]|0)>>>0){M=a;N=b;break}La()}while(0);c[M>>2]=l;c[N+12>>2]=l;c[l+8>>2]=N;c[l+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=24136+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;G=279;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=276;break}else{f=f<<1;a=d}}if((G|0)==276)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((G|0)==279){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;c[l+24>>2]=0;break}else La()}}else{N=(c[5961]|0)+g|0;c[5961]=N;c[5964]=l;c[l+4>>2]=N|1}while(0);N=m+8|0;i=O;return N|0}else b=24280;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(H=a+(c[b+4>>2]|0)|0,H>>>0>j>>>0):0){b=H;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=j+16|0;d=d>>>0<g>>>0?j:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;N=h+e|0;e=f+-40-e|0;c[5964]=N;c[5961]=e;c[N+4>>2]=e|1;c[N+e+4>>2]=40;c[5965]=c[6080];e=d+4|0;c[e>>2]=27;c[a>>2]=c[6070];c[a+4>>2]=c[6071];c[a+8>>2]=c[6072];c[a+12>>2]=c[6073];c[6070]=h;c[6071]=f;c[6073]=0;c[6072]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(j|0)){h=d-j|0;c[e>>2]=c[e>>2]&-2;c[j+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{J=a;K=b}}else{c[5958]=b|a;J=d+8|0;K=d}c[J>>2]=j;c[K+12>>2]=j;c[j+8>>2]=K;c[j+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{M=(a+1048320|0)>>>16&8;N=a<<M;L=(N+520192|0)>>>16&4;N=N<<L;d=(N+245760|0)>>>16&2;d=14-(L|M|d)+(N<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=24136+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[g>>2]=0;a=c[5959]|0;b=1<<d;if(!(a&b)){c[5959]=a|b;c[f>>2]=j;c[j+24>>2]=f;c[j+12>>2]=j;c[j+8>>2]=j;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;G=305;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){G=302;break}else{e=e<<1;a=d}}if((G|0)==302)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((G|0)==305){a=d+8|0;b=c[a>>2]|0;N=c[5962]|0;if(b>>>0>=N>>>0&d>>>0>=N>>>0){c[b+12>>2]=j;c[a>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;c[j+24>>2]=0;break}else La()}}}else{N=c[5962]|0;if((N|0)==0|h>>>0<N>>>0)c[5962]=h;c[6070]=h;c[6071]=f;c[6073]=0;c[5967]=c[6076];c[5966]=-1;a=0;do{N=23872+(a<<1<<2)|0;c[N+12>>2]=N;c[N+8>>2]=N;a=a+1|0}while((a|0)!=32);N=h+8|0;N=(N&7|0)==0?0:0-N&7;M=h+N|0;N=f+-40-N|0;c[5964]=M;c[5961]=N;c[M+4>>2]=N|1;c[M+N+4>>2]=40;c[5965]=c[6080]}while(0);a=c[5961]|0;if(a>>>0>q>>>0){L=a-q|0;c[5961]=L;N=c[5964]|0;M=N+q|0;c[5964]=M;c[M+4>>2]=L|1;c[N+4>>2]=q|3;N=N+8|0;i=O;return N|0}}c[(nh()|0)>>2]=12;N=0;i=O;return N|0}function rb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;if(!e){e=-2;return e|0}N=e+28|0;O=c[N>>2]|0;if(f>>>0>5|(O|0)==0){e=-2;return e|0}R=e+12|0;do if(c[R>>2]|0){if((c[e>>2]|0)==0?c[e+4>>2]|0:0)break;K=O+4|0;g=c[K>>2]|0;L=(f|0)!=4;if(!(L&(g|0)==666)){Q=e+16|0;if(!(c[Q>>2]|0)){c[e+24>>2]=c[236];e=-5;return e|0}c[O>>2]=e;M=O+40|0;C=c[M>>2]|0;c[M>>2]=f;do if((g|0)==42){if((c[O+24>>2]|0)!=2){h=(c[O+48>>2]<<12)+-30720|0;if((c[O+136>>2]|0)<=1?(i=c[O+132>>2]|0,(i|0)>=2):0)if((i|0)<6)g=64;else g=(i|0)==6?128:192;else g=0;q=g|h;B=O+108|0;q=(c[B>>2]|0)==0?q:q|32;c[K>>2]=113;h=O+20|0;g=c[h>>2]|0;c[h>>2]=g+1;i=O+8|0;a[(c[i>>2]|0)+g>>0]=q>>>8;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[i>>2]|0)+g>>0]=((q>>>0)%31|0|q)^31;g=e+48|0;if(c[B>>2]|0){B=c[g>>2]|0;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>24;q=c[h>>2]|0;c[h>>2]=q+1;a[(c[i>>2]|0)+q>>0]=B>>>16;q=c[g>>2]|0;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q>>>8;B=c[h>>2]|0;c[h>>2]=B+1;a[(c[i>>2]|0)+B>>0]=q}c[g>>2]=Yb(0,0,0)|0;g=c[K>>2]|0;B=30;break}i=e+48|0;c[i>>2]=ac(0,0,0)|0;k=O+20|0;g=c[k>>2]|0;c[k>>2]=g+1;l=O+8|0;a[(c[l>>2]|0)+g>>0]=31;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=-117;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=8;g=O+28|0;h=c[g>>2]|0;if(!h){g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[l>>2]|0)+g>>0]=0;g=c[O+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[O+136>>2]|0)>1)?4:0;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=g;w=c[k>>2]|0;c[k>>2]=w+1;a[(c[l>>2]|0)+w>>0]=3;c[K>>2]=113;break}B=((c[h+44>>2]|0?2:0)|(c[h>>2]|0)!=0|((c[h+16>>2]|0)==0?0:4)|((c[h+28>>2]|0)==0?0:8)|((c[h+36>>2]|0)==0?0:16))&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[(c[g>>2]|0)+4>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=(c[(c[g>>2]|0)+4>>2]|0)>>>16&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+4>>2]|0)>>>24&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[O+132>>2]|0;if((h|0)==9)h=2;else h=((h|0)<2?1:(c[O+136>>2]|0)>1)?4:0;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=c[(c[g>>2]|0)+12>>2]&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0;if(c[h+16>>2]|0){h=c[h+20>>2]&255;B=c[k>>2]|0;c[k>>2]=B+1;a[(c[l>>2]|0)+B>>0]=h;B=(c[(c[g>>2]|0)+20>>2]|0)>>>8&255;h=c[k>>2]|0;c[k>>2]=h+1;a[(c[l>>2]|0)+h>>0]=B;h=c[g>>2]|0}if(c[h+44>>2]|0)c[i>>2]=ac(c[i>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;c[O+32>>2]=0;c[K>>2]=69;B=32}else B=30;while(0);if((B|0)==30)if((g|0)==69){g=O+28|0;B=32}else B=53;do if((B|0)==32){h=c[g>>2]|0;if(!(c[h+16>>2]|0)){c[K>>2]=73;B=55;break}p=O+20|0;i=c[p>>2]|0;q=O+32|0;j=c[q>>2]|0;a:do if(j>>>0<(c[h+20>>2]&65535)>>>0){l=O+12|0;m=e+48|0;n=O+8|0;o=e+20|0;k=i;while(1){if((k|0)==(c[l>>2]|0)){if(k>>>0>i>>>0&(c[h+44>>2]|0)!=0)c[m>>2]=ac(c[m>>2]|0,(c[n>>2]|0)+i|0,k-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(r=i+16|0,Xd(c[R>>2]|0,c[r>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[r>>2]=(c[r>>2]|0)+h,c[o>>2]=(c[o>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[r>>2]=c[i+8>>2];i=c[p>>2]|0;if((i|0)==(c[l>>2]|0))break;h=c[g>>2]|0;j=c[q>>2]|0;k=i}j=a[(c[h+16>>2]|0)+j>>0]|0;c[p>>2]=k+1;a[(c[n>>2]|0)+k>>0]=j;j=(c[q>>2]|0)+1|0;c[q>>2]=j;h=c[g>>2]|0;if(j>>>0>=(c[h+20>>2]&65535)>>>0)break a;k=c[p>>2]|0}h=c[g>>2]|0}while(0);if((c[h+44>>2]|0)!=0?(s=c[p>>2]|0,s>>>0>i>>>0):0){h=e+48|0;c[h>>2]=ac(c[h>>2]|0,(c[O+8>>2]|0)+i|0,s-i|0)|0;h=c[g>>2]|0}if((c[q>>2]|0)==(c[h+20>>2]|0)){c[q>>2]=0;c[K>>2]=73;B=55;break}else{g=c[K>>2]|0;B=53;break}}while(0);if((B|0)==53)if((g|0)==73){h=O+28|0;g=h;h=c[h>>2]|0;B=55}else B=73;do if((B|0)==55){if(!(c[h+28>>2]|0)){c[K>>2]=91;B=75;break}m=O+20|0;i=c[m>>2]|0;k=O+12|0;n=e+48|0;o=O+8|0;l=e+20|0;p=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=ac(c[n>>2]|0,(c[o>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(t=i+16|0,Xd(c[R>>2]|0,c[t>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[t>>2]=(c[t>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[t>>2]=c[i+8>>2];i=c[m>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[p>>2]|0;c[p>>2]=j+1;j=a[(c[(c[g>>2]|0)+28>>2]|0)+j>>0]|0;c[m>>2]=h+1;a[(c[o>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[m>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(u=c[m>>2]|0,u>>>0>i>>>0):0)c[n>>2]=ac(c[n>>2]|0,(c[o>>2]|0)+i|0,u-i|0)|0;if(!h){c[p>>2]=0;c[K>>2]=91;B=75;break}else{g=c[K>>2]|0;B=73;break}}while(0);if((B|0)==73)if((g|0)==91){g=O+28|0;B=75}else{j=g;B=93}do if((B|0)==75){if(!(c[(c[g>>2]|0)+36>>2]|0)){c[K>>2]=103;B=95;break}n=O+20|0;i=c[n>>2]|0;k=O+12|0;o=e+48|0;p=O+8|0;l=e+20|0;m=O+32|0;h=i;while(1){if((h|0)==(c[k>>2]|0)){if(h>>>0>i>>>0?(c[(c[g>>2]|0)+44>>2]|0)!=0:0)c[o>>2]=ac(c[o>>2]|0,(c[p>>2]|0)+i|0,h-i|0)|0;i=c[N>>2]|0;ld(i);j=i+20|0;h=c[j>>2]|0;B=c[Q>>2]|0;h=h>>>0>B>>>0?B:h;if(h|0?(v=i+16|0,Xd(c[R>>2]|0,c[v>>2]|0,h|0)|0,c[R>>2]=(c[R>>2]|0)+h,c[v>>2]=(c[v>>2]|0)+h,c[l>>2]=(c[l>>2]|0)+h,c[Q>>2]=(c[Q>>2]|0)-h,B=c[j>>2]|0,c[j>>2]=B-h,(B|0)==(h|0)):0)c[v>>2]=c[i+8>>2];i=c[n>>2]|0;if((i|0)==(c[k>>2]|0)){h=1;break}else h=i}j=c[m>>2]|0;c[m>>2]=j+1;j=a[(c[(c[g>>2]|0)+36>>2]|0)+j>>0]|0;c[n>>2]=h+1;a[(c[p>>2]|0)+h>>0]=j;if(!(j<<24>>24)){h=j&255;break}h=c[n>>2]|0}if(c[(c[g>>2]|0)+44>>2]|0?(w=c[n>>2]|0,w>>>0>i>>>0):0)c[o>>2]=ac(c[o>>2]|0,(c[p>>2]|0)+i|0,w-i|0)|0;if(!h){c[K>>2]=103;B=95;break}else{j=c[K>>2]|0;B=93;break}}while(0);if((B|0)==93?(j|0)==103:0){g=O+28|0;B=95}do if((B|0)==95){if(!(c[(c[g>>2]|0)+44>>2]|0)){c[K>>2]=113;break}h=O+20|0;i=O+12|0;if((((c[h>>2]|0)+2|0)>>>0>(c[i>>2]|0)>>>0?(y=c[N>>2]|0,ld(y),z=y+20|0,x=c[z>>2]|0,B=c[Q>>2]|0,x=x>>>0>B>>>0?B:x,x|0):0)?(A=y+16|0,Xd(c[R>>2]|0,c[A>>2]|0,x|0)|0,c[R>>2]=(c[R>>2]|0)+x,c[A>>2]=(c[A>>2]|0)+x,B=e+20|0,c[B>>2]=(c[B>>2]|0)+x,c[Q>>2]=(c[Q>>2]|0)-x,B=c[z>>2]|0,c[z>>2]=B-x,(B|0)==(x|0)):0)c[A>>2]=c[y+8>>2];g=c[h>>2]|0;if((g+2|0)>>>0<=(c[i>>2]|0)>>>0){B=e+48|0;y=c[B>>2]&255;c[h>>2]=g+1;z=O+8|0;a[(c[z>>2]|0)+g>>0]=y;y=(c[B>>2]|0)>>>8&255;A=c[h>>2]|0;c[h>>2]=A+1;a[(c[z>>2]|0)+A>>0]=y;c[B>>2]=ac(0,0,0)|0;c[K>>2]=113}}while(0);w=O+20|0;if(!(c[w>>2]|0)){if((c[e+4>>2]|0)==0?L&((f<<1)-((f|0)>4?9:0)|0)<=((C<<1)-((C|0)>4?9:0)|0):0){c[e+24>>2]=c[236];e=-5;return e|0}}else{j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;Xd(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;C=c[k>>2]|0;c[k>>2]=C-i;if((C|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}h=(c[K>>2]|0)==666;g=(c[e+4>>2]|0)==0;if(h)if(g)B=116;else{c[e+24>>2]=c[236];e=-5;return e|0}else if(g)B=116;else B=117;if((B|0)==116?!((c[O+116>>2]|0)==0&((f|0)==0|h)):0)B=117;do if((B|0)==117){b:do switch(c[O+136>>2]|0){case 2:{l=O+116|0;m=O+96|0;s=O+108|0;r=O+56|0;n=O+5792|0;o=O+5796|0;p=O+5784|0;q=O+5788|0;t=O+92|0;while(1){if((c[l>>2]|0)==0?(Ub(O),(c[l>>2]|0)==0):0)break;c[m>>2]=0;J=a[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0;g=c[n>>2]|0;b[(c[o>>2]|0)+(g<<1)>>1]=0;c[n>>2]=g+1;a[(c[p>>2]|0)+g>>0]=J;J=O+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;J=(c[n>>2]|0)==((c[q>>2]|0)+-1|0);c[l>>2]=(c[l>>2]|0)+-1;g=(c[s>>2]|0)+1|0;c[s>>2]=g;if(!J)continue;h=c[t>>2]|0;if((h|0)>-1)i=(c[r>>2]|0)+h|0;else i=0;Ab(O,i,g-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,D=i+16|0,Xd(c[J>>2]|0,c[D>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[D>>2]=(c[D>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[D>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}if(f){c[O+5812>>2]=0;if((f|0)==4){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,1);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,E=i+16|0,Xd(c[J>>2]|0,c[E>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[E>>2]=(c[E>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[E>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[n>>2]|0){h=c[t>>2]|0;if((h|0)>-1)g=(c[r>>2]|0)+h|0;else g=0;Ab(O,g,(c[s>>2]|0)-h|0,0);c[t>>2]=c[s>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,F=i+16|0,Xd(c[K>>2]|0,c[F>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[F>>2]=(c[F>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[F>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}}else B=191;break}case 3:{m=O+116|0;n=(f|0)==0;o=O+96|0;u=O+108|0;p=O+5792|0;q=O+5796|0;r=O+5784|0;s=O+5788|0;t=O+56|0;v=O+92|0;while(1){g=c[m>>2]|0;if(g>>>0<259){Ub(O);g=c[m>>2]|0;if(n&g>>>0<259){B=191;break b}if(!g)break;c[o>>2]=0;if(g>>>0>2)B=150;else{g=c[u>>2]|0;B=165}}else{c[o>>2]=0;B=150}if((B|0)==150){B=0;l=c[u>>2]|0;if(l){h=(c[t>>2]|0)+l|0;i=h+-1|0;k=a[i>>0]|0;i=i+1|0;if((k<<24>>24==(a[i>>0]|0)?(G=i+1|0,k<<24>>24==(a[G>>0]|0)):0)?k<<24>>24==(a[G+1>>0]|0):0){j=h+258|0;i=G;do{h=i+2|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+3|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+4|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+5|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+6|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i+7|0;if(k<<24>>24!=(a[h>>0]|0))break;h=i;i=i+8|0;if(k<<24>>24!=(a[i>>0]|0)){h=i;break}h=h+9|0}while(h>>>0<j>>>0?k<<24>>24==(a[h>>0]|0):0);F=h-j+258|0;g=F>>>0>g>>>0?g:F;c[o>>2]=g;if(g>>>0>2){g=g+253|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=1;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((d[20585+(g&255)>>0]|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=O+2440+(d[20073]<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;i=c[o>>2]|0;c[m>>2]=(c[m>>2]|0)-i;i=(c[u>>2]|0)+i|0;c[u>>2]=i;c[o>>2]=0}else{g=l;B=165}}else{g=l;B=165}}else{g=0;B=165}}if((B|0)==165){B=0;g=a[(c[t>>2]|0)+g>>0]|0;i=c[p>>2]|0;b[(c[q>>2]|0)+(i<<1)>>1]=0;c[p>>2]=i+1;a[(c[r>>2]|0)+i>>0]=g;g=O+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[p>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[m>>2]=(c[m>>2]|0)+-1;i=(c[u>>2]|0)+1|0;c[u>>2]=i}if(!g)continue;g=c[v>>2]|0;if((g|0)>-1)h=(c[t>>2]|0)+g|0;else h=0;Ab(O,h,i-g|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;F=c[k>>2]|0;g=g>>>0>F>>>0?F:g;if(g|0?(F=h+12|0,H=i+16|0,Xd(c[F>>2]|0,c[H>>2]|0,g|0)|0,c[F>>2]=(c[F>>2]|0)+g,c[H>>2]=(c[H>>2]|0)+g,F=h+20|0,c[F>>2]=(c[F>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,F=c[j>>2]|0,c[j>>2]=F-g,(F|0)==(g|0)):0)c[H>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0)){B=191;break b}}c[O+5812>>2]=0;if((f|0)==4){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,1);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;J=c[k>>2]|0;g=g>>>0>J>>>0?J:g;if(g|0?(J=h+12|0,I=i+16|0,Xd(c[J>>2]|0,c[I>>2]|0,g|0)|0,c[J>>2]=(c[J>>2]|0)+g,c[I>>2]=(c[I>>2]|0)+g,J=h+20|0,c[J>>2]=(c[J>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,J=c[j>>2]|0,c[j>>2]=J-g,(J|0)==(g|0)):0)c[I>>2]=c[i+8>>2];g=(c[(c[O>>2]|0)+16>>2]|0)==0?2:3;B=188;break b}if(c[p>>2]|0){h=c[v>>2]|0;if((h|0)>-1)g=(c[t>>2]|0)+h|0;else g=0;Ab(O,g,(c[u>>2]|0)-h|0,0);c[v>>2]=c[u>>2];h=c[O>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;K=c[k>>2]|0;g=g>>>0>K>>>0?K:g;if(g|0?(K=h+12|0,J=i+16|0,Xd(c[K>>2]|0,c[J>>2]|0,g|0)|0,c[K>>2]=(c[K>>2]|0)+g,c[J>>2]=(c[J>>2]|0)+g,K=h+20|0,c[K>>2]=(c[K>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,K=c[j>>2]|0,c[j>>2]=K-g,(K|0)==(g|0)):0)c[J>>2]=c[i+8>>2];if(!(c[(c[O>>2]|0)+16>>2]|0))B=191}break}default:{g=pb[c[188+((c[O+132>>2]|0)*12|0)+8>>2]&15](O,f)|0;B=188}}while(0);if((B|0)==188){if((g|1|0)==3)c[K>>2]=666;if((g|2|0)!=2){if((g|0)!=1)break}else B=191}if((B|0)==191){if(c[Q>>2]|0){e=0;return e|0}c[M>>2]=-1;e=0;return e|0}switch(f|0){case 1:{vc(O);break}case 5:break;default:{lc(O,0,0,0);if((f|0)==3?(f=c[O+76>>2]|0,K=c[O+68>>2]|0,b[K+(f+-1<<1)>>1]=0,se(K|0,0,(f<<1)+-2|0)|0,(c[O+116>>2]|0)==0):0){c[O+108>>2]=0;c[O+92>>2]=0;c[O+5812>>2]=0}}}j=c[N>>2]|0;ld(j);k=j+20|0;i=c[k>>2]|0;g=c[Q>>2]|0;i=i>>>0>g>>>0?g:i;if(i){h=j+16|0;Xd(c[R>>2]|0,c[h>>2]|0,i|0)|0;c[R>>2]=(c[R>>2]|0)+i;c[h>>2]=(c[h>>2]|0)+i;g=e+20|0;c[g>>2]=(c[g>>2]|0)+i;g=(c[Q>>2]|0)-i|0;c[Q>>2]=g;f=c[k>>2]|0;c[k>>2]=f-i;if((f|0)==(i|0))c[h>>2]=c[j+8>>2]}if(!g){c[M>>2]=-1;e=0;return e|0}}while(0);if(L){e=0;return e|0}j=O+24|0;g=c[j>>2]|0;if((g|0)<1){e=1;return e|0}h=e+48|0;i=c[h>>2]|0;if((g|0)==2){f=c[w>>2]|0;c[w>>2]=f+1;M=O+8|0;a[(c[M>>2]|0)+f>>0]=i;f=(c[h>>2]|0)>>>8&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=(c[h>>2]|0)>>>16&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=L;f=(c[h>>2]|0)>>>24&255;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=f;L=e+8|0;f=c[L>>2]&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;O=(c[L>>2]|0)>>>8&255;f=c[w>>2]|0;c[w>>2]=f+1;a[(c[M>>2]|0)+f>>0]=O;f=(c[L>>2]|0)>>>16&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=f;L=(c[L>>2]|0)>>>24&255;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}else{L=c[w>>2]|0;c[w>>2]=L+1;M=O+8|0;a[(c[M>>2]|0)+L>>0]=i>>>24;L=c[w>>2]|0;c[w>>2]=L+1;a[(c[M>>2]|0)+L>>0]=i>>>16;L=c[h>>2]|0;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L>>>8;O=c[w>>2]|0;c[w>>2]=O+1;a[(c[M>>2]|0)+O>>0]=L}h=c[N>>2]|0;ld(h);i=h+20|0;g=c[i>>2]|0;O=c[Q>>2]|0;g=g>>>0>O>>>0?O:g;if(g|0?(P=h+16|0,Xd(c[R>>2]|0,c[P>>2]|0,g|0)|0,c[R>>2]=(c[R>>2]|0)+g,c[P>>2]=(c[P>>2]|0)+g,e=e+20|0,c[e>>2]=(c[e>>2]|0)+g,c[Q>>2]=(c[Q>>2]|0)-g,e=c[i>>2]|0,c[i>>2]=e-g,(e|0)==(g|0)):0)c[P>>2]=c[h+8>>2];g=c[j>>2]|0;if((g|0)>0)c[j>>2]=0-g;e=(c[w>>2]|0)==0&1;return e|0}}while(0);c[e+24>>2]=c[233];e=-2;return e|0}function sb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0}while((ui(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Vc(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23668+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Vc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[23677+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Vc(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Vc(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(nh()|0)>>2]=22;zf(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Vc(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Vc(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;k=Zg(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Zg(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Vc(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,o|0):0)c[E>>2]=z+-2}else zf(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Zg(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=ic(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){zf(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Bg(o|0,n|0,2)|0;H=Zg(H|0,C|0,-32,-1)|0;e=Zg(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Zg(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=Ng(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Zg(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Fi(+Ad(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(nh()|0)>>2]=34;g=+Gi(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Vc(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Zg(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Zg(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Vc(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=ic(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){zf(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Zg(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(nh()|0)>>2]=22;zf(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(nh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[9816+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[9816+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[9816+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w){y=l;break i}if((c[x>>2]|0)>>>0>=9007199){h=18;y=l;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Bg(c[p>>2]|0,0,29)|0;o=Zg(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Kh(o|0,n|0,1e9,0)|0;o=Rf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){l=y+1&127;x=H+((y+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(y|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(y|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;l=y;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(y|0))k=y;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(y|0))break;else o=k}if(!n)continue;if((l|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(y<<2)>>2]=n;y=l}if((A|0)==220)if(p){c[H+(l+-1<<2)>>2]=0;h=y}else{h=o;l=y}g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Fi(+Ad(1.0,105-o|0),j);m=+Pi(j,+Ad(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Pi(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(nh()|0)>>2]=34}while(0);g=+Gi(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(nh()|0)>>2]=22;zf(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function tb(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,w=0,x=0.0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;$=aa+12|0;aa=aa+11|0;ba=$;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(nh()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)Oc(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[20976+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}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]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}ec(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=Fg(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=21456;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=21456;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=Ng(0,0,f|0,o|0)|0;o=C;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=21456;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?21456:21458;L=76}else{p=1;r=21457;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=21456;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=21456;o=N;break}case 109:{o=Yd(c[(nh()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:23358;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){od(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>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?23366:23371}else{G=1;H=23368}else{q=-q;G=1;H=23365}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+Hi(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;D=u|32;if((D|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=Rd(f,((f|0)<0)<<31>>31,$)|0;if((f|0)==($|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[21440+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;od(e,32,K,r,I);if(!(c[e>>2]&32))Oc(y,w,e)|0;od(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))Oc(ea,o,e)|0;f=ba-p|0;od(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))Oc(t,f,e)|0;od(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;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[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=Bg(c[r>>2]|0,0,t|0)|0;B=Zg(B|0,C|0,o|0,0)|0;o=C;A=Rf(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Kh(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[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(D|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>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=(D|0)==103;B=(f|0)!=0;r=f-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<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;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);D=r+4|0;z=s;p=p>>>0>D>>>0?D:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;D=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[D+-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))}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=Rd(r,((r|0)<0)<<31>>31,$)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;od(e,32,K,w,I);if(!(c[e>>2]&32))Oc(H,G,e)|0;od(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=Rd(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;se(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))Oc(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;Oc(23396,1,e)|0}while(0);if((f|0)>0&o>>>0<D>>>0){p=o;while(1){o=Rd(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){se(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))Oc(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<D>>>0)){f=o;break}else f=o}}od(e,48,f+9|0,9,0)}else{t=y?D:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=Rd(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))Oc(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}Oc(23396,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;se(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))Oc(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}od(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Oc(u,ba-u|0,e)|0}while(0);od(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;od(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){Oc(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))Oc(s?(t?23677:23392):t?23384:23388,3,e)|0;od(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=21456;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[21440+(o&15)>>0]|r;o=Fg(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=21456;L=77}else{o=t;t=2;r=21456+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=21456;L=77}}else if((L|0)==76){f=Rd(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Fc(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=21456;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=Eh(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}od(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=Eh(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))Oc(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;od(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;od(e,32,o,s,p);if(!(c[e>>2]&32))Oc(v,w,e)|0;od(e,48,o,s,p^65536);od(e,48,r,t,0);if(!(c[e>>2]&32))Oc(f,t,e)|0;od(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;ec(j+(m<<3)|0,n,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=ia;return m|0}function ub(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=fj(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;D=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(ui(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=154;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{zf(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Vc(e)|0}while((ui(o)|0)!=0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}zf(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((Vc(e)|0)<0){N=154;break b}q=c[M>>2]|0}if(q|0)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r|16|0)==115){se(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{r=n+1|0;s=(a[r>>0]|0)==94;o=s&1;n=s?n+2|0:r;se(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=n+1|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=n+1|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=qb(r<<2)|0;if(!f){l=0;N=154;break b}}else f=x;c[J>>2]=0;c[D>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Vc(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(uc(K,y,1,J)|0){case -1:{l=0;N=154;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Wd(f,l<<2)|0;if(!o){l=0;N=154;break b}else{q=r;r=l;f=o;l=q}}if(!(Lh(J)|0)){l=0;N=154;break b}else{q=l;l=0}}else{if(t){l=qb(r)|0;if(!l){l=0;f=0;N=154;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Wd(l,f)|0;if(!o){f=0;N=154;break b}else{q=r;r=f;l=o;o=q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Vc(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);if(!(c[M>>2]|0))o=c[L>>2]|0;else{o=(c[L>>2]|0)+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f|0)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=136;break}case 111:{o=8;N=136;break}case 117:case 100:{o=10;N=136;break}case 105:{o=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+sb(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;o=Eb(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{v=x;c[v>>2]=o;c[v+4>>2]=C;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;zf(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Vc(e)|0;if((m|0)!=(d[n>>0]|0)){N=22;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ui(d[m>>0]|0)|0))break;else n=m}zf(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Vc(e)|0}while((ui(m)|0)!=0);if(!(c[M>>2]|0))m=c[L>>2]|0;else{m=(c[L>>2]|0)+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==22){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=155}}else if((N|0)==154)if(!k){k=m;N=155}if((N|0)==155){m=k;k=-1}if(m){yb(l);yb(f)}}else k=0;while(0);if(O|0)ej(e);i=P;return k|0}function vb(a,d,e,f,j){a=a|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0.0;aa=i;i=i+368|0;$=aa+280|0;W=aa+256|0;V=aa+232|0;T=aa+216|0;S=aa+192|0;R=aa+176|0;Q=aa+160|0;P=aa+136|0;O=aa+128|0;N=aa+120|0;M=aa+112|0;K=aa+88|0;J=aa+80|0;I=aa+72|0;H=aa+48|0;G=aa+40|0;U=aa+24|0;L=aa+16|0;F=aa+8|0;E=aa;A=aa+352|0;B=aa+344|0;D=aa+336|0;X=aa+316|0;z=aa+296|0;C=aa+292|0;Z=aa+288|0;v=nf(a,1)|0;c[Z>>2]=0;_d(v);w=(e|0)==0;x=v+28|0;y=v+4|0;t=(d|0)==0;u=A+4|0;a:while(1){if(!(Gf(v,C)|0)){Y=106;break}c[E>>2]=c[C>>2];Ig(2,17873,E);a=c[C>>2]|0;if(!(Db(a,17888)|0)){if((xd(eh(a)|0,z,5)|0)!=4){Y=77;break}q=c[z>>2]|0;r=le(v,z,1)|0;s=le(v,z,2)|0;ba=+ke(v,z,3);c[S>>2]=q;c[S+4>>2]=r;c[S+8>>2]=s;h[S+16>>3]=ba;Ig(2,18582,S);Ki(v);c[A>>2]=ce(0,1)|0;c[B>>2]=0;while(1){if(!(Gf(v,D)|0))break;if(fh(c[D>>2]|0)|0){Y=81;break}ef(v,4,xd(c[D>>2]|0,X,5)|0);d=c[X>>2]|0;a=ah(c[A>>2]|0,d)|0;if(!a){a=Ze(c[(c[A>>2]|0)+20>>2]|0,16)|0;_g(c[A>>2]|0,d,a,a+4|0)|0;if(w)d=1073741823;else d=oi(e,d)|0;c[a+8>>2]=d;c[a>>2]=c[B>>2];c[B>>2]=a}k=Ze(j,16)|0;d=k+4|0;c[d>>2]=le(v,X,1)|0;l=k+8|0;c[l>>2]=le(v,X,2)|0;g[k+12>>2]=+ke(v,X,3);d=c[d>>2]|0;l=c[l>>2]|0;if(d>>>0>l>>>0){Y=87;break a}d=c[a+8>>2]|0;if(l>>>0>d>>>0){r=c[y>>2]|0;s=c[a+4>>2]|0;c[V>>2]=c[x>>2];c[V+4>>2]=r;c[V+8>>2]=s;c[V+12>>2]=d;c[V+16>>2]=l;Vg(18661,V);if(t){Y=90;break a}}else{s=a+12|0;c[k>>2]=c[s>>2];c[s>>2]=k}}if((Y|0)==81){Y=0;Ki(v)}gd(B,8);a=B;while(1){a=c[a>>2]|0;if(!a)break;d=a+12|0;gd(d,9);o=a+4|0;m=c[d>>2]|0;while(1){n=c[m>>2]|0;if(!n)break;k=c[m+8>>2]|0;l=c[n+4>>2]|0;if(k>>>0>l>>>0){Y=98;break a}else m=n}m=c[d>>2]|0;while(1){if(!m)break;else{d=m;l=m;k=0}while(1){if((l|0)==0|(k|0)>=(f|0))break;d=l;l=c[l>>2]|0;k=k+1|0}c[d>>2]=0;s=Ze(j,48)|0;c[s+4>>2]=eh(c[o>>2]|0)|0;c[s+8>>2]=c[m+4>>2];c[s+12>>2]=c[d+8>>2];c[s+16>>2]=1;c[s+20>>2]=m;b[s+32>>1]=k;c[s>>2]=c[Z>>2];c[Z>>2]=s;m=l}}Hd(A);continue}c[z>>2]=a;a=of(z)|0;if(Qe(a,17895)|0)if(!(Qe(a,17908)|0))o=3;else{Y=6;break}else o=2;m=0;d=0;k=0;n=0;while(1){a=of(z)|0;if(!a){s=m;r=n;break}if((wd(a,61,A,2)|0)!=2){Y=10;break a}a=c[A>>2]|0;l=c[u>>2]|0;do if(!(Qe(a,17970)|0)){m=eh(l)|0;a=n}else{if(!(Qe(a,17976)|0)){d=De(v,a,l)|0;a=n;break}if(!(Qe(a,18037)|0)){a=De(v,a,l)|0;break}if(Qe(a,18042)|0){Y=19;break a}k=De(v,a,l)|0;a=n}while(0);n=a}if(!s){Y=22;break}if(w)n=1073741823;else n=oi(e,s)|0;if(k>>>0>n>>>0?(q=c[y>>2]|0,c[H>>2]=c[x>>2],c[H+4>>2]=q,c[H+8>>2]=s,c[H+12>>2]=n,c[H+16>>2]=k,Vg(18122,H),t):0){Y=27;break}a=(k|0)==0;if((o|0)==3){if(a){Y=30;break}if(!r){Y=32;break}q=(d|0)==0?r:d;m=k+-1|0;c[A>>2]=lg(0)|0;c[X>>2]=0;a=0;l=m;while(1){if(!(Gf(v,D)|0))break;if(bh(c[D>>2]|0,1)|0){Y=36;break}xd(c[D>>2]|0,B,1)|0;d=Ze(c[A>>2]|0,8)|0;g[d+4>>2]=+ke(v,B,0);k=l+q|0;if(k>>>0>n>>>0){p=c[y>>2]|0;c[K>>2]=c[x>>2];c[K+4>>2]=p;c[K+8>>2]=s;c[K+12>>2]=n;c[K+16>>2]=k;Vg(18262,K);if(t){Y=39;break a}}else{c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}l=l+r|0}if((Y|0)==36){Y=0;Ki(v)}ag(X);p=q-r|0;k=m;d=c[X>>2]|0;while(1){if(!d)break;o=(a|0)>(f|0)?f:a;n=Ze(j,48)|0;c[n+4>>2]=s;c[n+8>>2]=k;k=(_(o,r)|0)+k|0;c[n+12>>2]=p+k;c[n+16>>2]=3;c[n+24>>2]=r;c[n+28>>2]=q;b[n+32>>1]=o;l=Ze(j,o<<2)|0;c[n+20>>2]=l;m=0;while(1){if((m|0)>=(o|0))break;c[l>>2]=c[d+4>>2];m=m+1|0;d=c[d>>2]|0;l=l+4|0}c[n>>2]=c[Z>>2];c[Z>>2]=n;a=a-o|0}ph(A)}else{if(!a){Y=50;break}if(r|0){Y=52;break}o=(d|0)==0?1:d;c[A>>2]=lg(0)|0;c[X>>2]=0;a=0;b:while(1){while(1){if(!(Gf(v,D)|0))break b;if(bh(c[D>>2]|0,2)|0){Y=57;break b}xd(c[D>>2]|0,B,2)|0;d=Ze(c[A>>2]|0,12)|0;k=le(v,B,0)|0;if((k|0)<1){Y=59;break a}r=d+4|0;c[r>>2]=k+-1;g[d+8>>2]=+ke(v,B,1);k=(c[r>>2]|0)+o|0;if(k>>>0<=n>>>0)break;r=c[y>>2]|0;c[P>>2]=c[x>>2];c[P+4>>2]=r;c[P+8>>2]=s;c[P+12>>2]=n;c[P+16>>2]=k;Vg(18262,P);if(t){Y=62;break a}}c[d>>2]=c[X>>2];c[X>>2]=d;a=a+1|0}if((Y|0)==57){Y=0;Ki(v)}gd(X,7);d=c[X>>2]|0;if(!d)d=0;else{while(1){k=d;d=c[d>>2]|0;if(!d)break;k=c[k+4>>2]|0;l=c[d+4>>2]|0;if((k+o|0)>>>0>l>>>0){Y=67;break a}}d=c[X>>2]|0}while(1){if(!d)break;n=(a|0)>(f|0)?f:a;m=Ze(j,n<<3)|0;l=0;k=m;while(1){if((l|0)>=(n|0))break;c[k>>2]=c[d+4>>2];c[k+4>>2]=c[d+8>>2];l=l+1|0;d=c[d>>2]|0;k=k+8|0}r=Ze(j,48)|0;c[r+4>>2]=s;c[r+8>>2]=c[m>>2];c[r+12>>2]=(c[m+(n+-1<<3)>>2]|0)+o;c[r+16>>2]=2;c[r+20>>2]=m;c[r+28>>2]=o;b[r+32>>1]=n;c[r>>2]=c[Z>>2];c[Z>>2]=r;a=a-n|0}ph(A)}}switch(Y|0){case 6:{c[F>>2]=a;rh(17918,F);break}case 10:{aa=c[y>>2]|0;c[L>>2]=c[x>>2];c[L+4>>2]=aa;rh(17935,L);break}case 19:{$=c[x>>2]|0;aa=c[y>>2]|0;c[U>>2]=a;c[U+4>>2]=l;c[U+8>>2]=$;c[U+12>>2]=aa;rh(18048,U);break}case 22:{aa=c[y>>2]|0;c[G>>2]=c[x>>2];c[G+4>>2]=aa;rh(18084,G);break}case 27:{xh();break}case 30:{aa=c[y>>2]|0;c[I>>2]=c[x>>2];c[I+4>>2]=aa;rh(18187,I);break}case 32:{aa=c[y>>2]|0;c[J>>2]=c[x>>2];c[J+4>>2]=aa;rh(18225,J);break}case 39:{xh();break}case 50:{aa=c[y>>2]|0;c[M>>2]=c[x>>2];c[M+4>>2]=aa;rh(18325,M);break}case 52:{aa=c[y>>2]|0;c[N>>2]=c[x>>2];c[N+4>>2]=aa;rh(18361,N);break}case 59:{aa=c[y>>2]|0;c[O>>2]=c[x>>2];c[O+4>>2]=aa;rh(18396,O);break}case 62:{xh();break}case 67:{c[Q>>2]=s;c[Q+4>>2]=k;c[Q+8>>2]=l;rh(18462,Q);break}case 77:{$=c[y>>2]|0;aa=c[C>>2]|0;c[R>>2]=c[x>>2];c[R+4>>2]=$;c[R+8>>2]=aa;rh(18550,R);break}case 87:{$=c[x>>2]|0;aa=c[y>>2]|0;c[T>>2]=d;c[T+4>>2]=l;c[T+8>>2]=$;c[T+12>>2]=aa;rh(18604,T);break}case 90:{xh();break}case 98:{$=c[o>>2]|0;Z=c[m+4>>2]|0;aa=c[n+8>>2]|0;c[W>>2]=$;c[W+4>>2]=Z;c[W+8>>2]=k;c[W+12>>2]=$;c[W+16>>2]=l;c[W+20>>2]=aa;rh(18737,W);break}case 106:{gd(Z,10);a=c[Z>>2]|0;while(1){if(!a){Y=112;break}d=a;a=c[a>>2]|0;if(!a){a=0;continue}k=c[d+4>>2]|0;if(Qe(k,c[a+4>>2]|0)|0)continue;l=c[a+8>>2]|0;if((c[d+12>>2]|0)>>>0>l>>>0){Y=111;break}}if((Y|0)==111){c[$>>2]=k;c[$+4>>2]=l+1;rh(18813,$)}else if((Y|0)==112){i=aa;return c[Z>>2]|0}break}}return 0}function wb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;A=c[g>>2]|0;x=g+8|0;t=c[x>>2]|0;m=c[t>>2]|0;t=c[t+12>>2]|0;w=f+5200|0;c[w>>2]=0;y=f+5204|0;c[y>>2]=573;if((t|0)>0){j=-1;h=0;do{if(!(b[A+(h<<2)>>1]|0))b[A+(h<<2)+2>>1]=0;else{j=(c[w>>2]|0)+1|0;c[w>>2]=j;c[f+2908+(j<<2)>>2]=h;a[f+5208+h>>0]=0;j=h}h=h+1|0}while((h|0)!=(t|0));h=c[w>>2]|0;if((h|0)<2)k=3;else z=j}else{h=0;j=-1;k=3}if((k|0)==3){l=f+5800|0;k=f+5804|0;if(!m){do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;h=c[w>>2]|0}while((h|0)<2);z=j}else{do{v=(j|0)<2;z=j+1|0;j=v?z:j;z=v?z:0;h=h+1|0;c[w>>2]=h;c[f+2908+(h<<2)>>2]=z;b[A+(z<<2)>>1]=1;a[f+5208+z>>0]=0;c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)-(e[m+(z<<2)+2>>1]|0);h=c[w>>2]|0}while((h|0)<2);z=j}}v=g+4|0;c[v>>2]=z;j=h;s=(h|0)/2|0;while(1){r=c[f+2908+(s<<2)>>2]|0;p=f+5208+r|0;k=s<<1;a:do if((k|0)>(j|0))h=s;else{q=A+(r<<2)|0;h=s;while(1){do if((k|0)<(j|0)){j=k|1;l=c[f+2908+(j<<2)>>2]|0;m=b[A+(l<<2)>>1]|0;n=c[f+2908+(k<<2)>>2]|0;o=b[A+(n<<2)>>1]|0;if((m&65535)>=(o&65535)){if(m<<16>>16!=o<<16>>16){m=k;break}if((d[f+5208+l>>0]|0)>(d[f+5208+n>>0]|0)){m=k;break}}m=j}else m=k;while(0);j=b[q>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break a;if(j<<16>>16==l<<16>>16?(d[p>>0]|0)<=(d[f+5208+k>>0]|0):0)break a;c[f+2908+(h<<2)>>2]=k;k=m<<1;j=c[w>>2]|0;if((k|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;if((s|0)<=1)break;j=c[w>>2]|0;s=s+-1|0}u=f+2912|0;h=c[w>>2]|0;do{s=c[u>>2]|0;j=h+-1|0;c[w>>2]=j;r=c[f+2908+(h<<2)>>2]|0;c[u>>2]=r;q=f+5208+r|0;b:do if((h|0)<3)h=1;else{p=A+(r<<2)|0;h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break b;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break b;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=r;r=c[u>>2]|0;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=s;p=(c[y>>2]|0)+-1|0;c[y>>2]=p;c[f+2908+(p<<2)>>2]=r;p=A+(t<<2)|0;b[p>>1]=(e[A+(r<<2)>>1]|0)+(e[A+(s<<2)>>1]|0);j=a[f+5208+s>>0]|0;o=a[f+5208+r>>0]|0;q=f+5208+t|0;a[q>>0]=(((j&255)<(o&255)?o:j)&255)+1;j=t&65535;b[A+(r<<2)+2>>1]=j;b[A+(s<<2)+2>>1]=j;c[u>>2]=t;j=c[w>>2]|0;c:do if((j|0)<2)h=1;else{h=1;o=2;while(1){do if((o|0)<(j|0)){j=o|1;k=c[f+2908+(j<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;m=c[f+2908+(o<<2)>>2]|0;n=b[A+(m<<2)>>1]|0;if((l&65535)>=(n&65535)){if(l<<16>>16!=n<<16>>16){m=o;break}if((d[f+5208+k>>0]|0)>(d[f+5208+m>>0]|0)){m=o;break}}m=j}else m=o;while(0);j=b[p>>1]|0;k=c[f+2908+(m<<2)>>2]|0;l=b[A+(k<<2)>>1]|0;if((j&65535)<(l&65535))break c;if(j<<16>>16==l<<16>>16?(d[q>>0]|0)<=(d[f+5208+k>>0]|0):0)break c;c[f+2908+(h<<2)>>2]=k;o=m<<1;j=c[w>>2]|0;if((o|0)>(j|0)){h=m;break}else h=m}}while(0);c[f+2908+(h<<2)>>2]=t;t=t+1|0;h=c[w>>2]|0}while((h|0)>1);t=c[u>>2]|0;u=(c[y>>2]|0)+-1|0;c[y>>2]=u;c[f+2908+(u<<2)>>2]=t;u=c[g>>2]|0;t=c[v>>2]|0;j=c[x>>2]|0;p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;j=c[j+16>>2]|0;h=f+2876|0;k=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(k|0));h=c[y>>2]|0;b[u+(c[f+2908+(h<<2)>>2]<<2)+2>>1]=0;h=h+1|0;d:do if((h|0)<573){s=f+5800|0;o=f+5804|0;if(!p){n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=_(e[u+(m<<2)>>1]|0,k+l|0)|0;c[s>>2]=y+(c[s>>2]|0)}n=n+1|0}while((n|0)!=573)}else{n=h;h=0;do{m=c[f+2908+(n<<2)>>2]|0;y=u+(m<<2)+2|0;l=e[u+(e[y>>1]<<2)+2>>1]|0;x=(l|0)<(j|0);l=x?l+1|0:j;h=(x&1^1)+h|0;b[y>>1]=l;if((m|0)<=(t|0)){y=f+2876+(l<<1)|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;if((m|0)<(r|0))k=0;else k=c[q+(m-r<<2)>>2]|0;y=e[u+(m<<2)>>1]|0;x=_(y,k+l|0)|0;c[s>>2]=x+(c[s>>2]|0);y=_((e[p+(m<<2)+2>>1]|0)+k|0,y)|0;c[o>>2]=y+(c[o>>2]|0)}n=n+1|0}while((n|0)!=573)}if(h|0){o=f+2876+(j<<1)|0;n=h;while(1){h=j;while(1){m=h+-1|0;l=f+2876+(m<<1)|0;k=b[l>>1]|0;if(!(k<<16>>16))h=m;else break}b[l>>1]=k+-1<<16>>16;h=f+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=h;if((n|0)>2)n=n+-2|0;else break}if(j|0){k=573;while(1){o=j&65535;if(h<<16>>16){n=h&65535;do{do{k=k+-1|0;h=c[f+2908+(k<<2)>>2]|0}while((h|0)>(t|0));l=u+(h<<2)+2|0;m=e[l>>1]|0;if((j|0)!=(m|0)){y=_(e[u+(h<<2)>>1]|0,j-m|0)|0;c[s>>2]=y+(c[s>>2]|0);b[l>>1]=o}n=n+-1|0}while((n|0)!=0)}j=j+-1|0;if(!j)break d;h=b[f+2876+(j<<1)>>1]|0}}}}while(0);h=1;j=0;do{j=(e[f+2876+(h+-1<<1)>>1]|0)+(j&65534)<<1;b[B+(h<<1)>>1]=j;h=h+1|0}while((h|0)!=16);if((z|0)<0){i=C;return}else l=0;while(1){f=b[A+(l<<2)+2>>1]|0;h=f&65535;if(f<<16>>16){j=B+(h<<1)|0;k=b[j>>1]|0;b[j>>1]=k+1<<16>>16;j=h;k=k&65535;h=0;while(1){h=h|k&1;if((j|0)>1){j=j+-1|0;k=k>>>1;h=h<<1}else break}b[A+(l<<2)>>1]=h}if((l|0)==(z|0))break;else l=l+1|0}i=C;return}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;ca=i;i=i+64|0;aa=ca+40|0;$=ca+32|0;Y=ca;W=ca+52|0;X=ca+48|0;V=ca+44|0;ba=a+224|0;Z=ba;Z=Zg(c[Z>>2]|0,c[Z+4>>2]|0,1,0)|0;c[ba>>2]=Z;c[ba+4>>2]=C;if(19707==0?(Qe(c[a+8>>2]|0,19721)|0)!=0:0){ba=a+32|0;T=ba;T=lb[c[(c[a+12>>2]|0)+4>>2]&0](c[a+4>>2]|0,c[T>>2]|0,c[T+4>>2]|0,d,b,a)|0;S=((T|0)<0)<<31>>31;aa=ba;aa=Zg(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C;ba=a+232|0;aa=ba;aa=Zg(c[aa>>2]|0,c[aa+4>>2]|0,T|0,S|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}else n=4;a:do if((n|0)==4){ba=a+232|0;j=ba;j=Zg(c[j>>2]|0,c[j+4>>2]|0,d|0,e|0)|0;c[ba>>2]=j;c[ba+4>>2]=C;ba=a+32|0;j=ba;h=c[j>>2]|0;j=c[j+4>>2]|0;U=a+24|0;g=U;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(j>>>0>g>>>0|(j|0)==(g|0)&h>>>0>f>>>0)){R=Zg(h|0,j|0,d|0,e|0)|0;F=C;G=F>>>0>g>>>0|(F|0)==(g|0)&R>>>0>f>>>0;R=G?f:R;F=G?g:F;G=a+60|0;H=a+64|0;I=a+72|0;J=a+88|0;Z=a+176|0;K=a+56|0;L=a+80|0;M=a+104|0;N=a+12|0;O=a+4|0;P=a+136|0;Q=a+96|0;k=h;e=0;n=0;b:while(1){h=Ng(R|0,F|0,k|0,j|0)|0;g=C;if(!(c[G>>2]|0)){l=k;D=j;E=n}else{d=I;f=c[d>>2]|0;d=c[d+4>>2]|0;l=Zg(f|0,d|0,4096,0)|0;m=C;if((j>>>0>d>>>0|(j|0)==(d|0)&k>>>0>=f>>>0)&(j>>>0<m>>>0|(j|0)==(m|0)&k>>>0<l>>>0)){o=m>>>0<F>>>0|(m|0)==(F|0)&l>>>0<R>>>0;o=Ng((o?l:R)|0,(o?m:F)|0,k|0,j|0)|0;E=C;B=c[H>>2]|0;f=Ng(k|0,j|0,f|0,d|0)|0;Xd(b|0,B+f|0,o|0)|0;e=Zg(o|0,E|0,e|0,n|0)|0;f=C;d=Ng(h|0,g|0,o|0,E|0)|0;k=C;B=ba;B=Zg(c[B>>2]|0,c[B+4>>2]|0,o|0,E|0)|0;D=ba;c[D>>2]=B;c[D+4>>2]=C;if((h|0)==(o|0)&(g|0)==(E|0)){S=f;T=e;break a}else{j=m;h=d;g=k;b=b+o|0}}else{l=k;f=n}c[G>>2]=0;bg(Z,c[K>>2]|0,l,0)|0;D=j;E=f}if(g>>>0<0|(g|0)==0&h>>>0<4096){c[G>>2]=1;if(!(c[H>>2]|0))c[H>>2]=Sd(4096)|0;d=I;c[d>>2]=l;c[d+4>>2]=D;d=Zg(l|0,D|0,4096,0)|0;f=C;A=U;B=c[A>>2]|0;A=c[A+4>>2]|0;g=f>>>0>A>>>0|(f|0)==(A|0)&d>>>0>B>>>0;h=Ng(B|0,A|0,l|0,D|0)|0;f=g?A:f;d=g?B:d;h=g?h:4096;g=g?C:0}else{f=F;d=R}B=J;A=c[B+4>>2]|0;if(!(!(D>>>0<A>>>0|((D|0)==(A|0)?l>>>0<(c[B>>2]|0)>>>0:0))?(B=Q,A=c[B+4>>2]|0,!(f>>>0>A>>>0|((f|0)==(A|0)?d>>>0>(c[B>>2]|0)>>>0:0))):0)){c:do if(19707){y=Zg(h|0,g|0,l|0,D|0)|0;z=C;j=D;k=l;while(1){if(!(j>>>0<z>>>0|(j|0)==(z|0)&k>>>0<y>>>0))break c;A=Zg(k|0,j|0,262144,0)|0;B=C;m=B>>>0>z>>>0|(B|0)==(z|0)&A>>>0>y>>>0;A=m?y:A;B=m?z:B;m=c[L>>2]|0;d=c[m+24>>2]|0;f=c[M>>2]|0;if((d|0)!=(f|0)){n=33;break b}x=m+4|0;w=c[x>>2]|0;v=Kh(k|0,j|0,w|0,0)|0;t=Zg(A|0,B|0,-1,-1)|0;t=Zg(t|0,C|0,w|0,0)|0;w=Kh(t|0,C|0,w|0,0)|0;t=m+52|0;mf(a,c[t>>2]|0,v,w,V,X);r=c[X>>2]|0;u=c[V>>2]|0;d=v-r|0;s=w-r|0;if((ei(u,d,s)|0)<(s|0))f=0;else{Di(u);j=B;k=A;continue}while(1){o=ei(u,d,s)|0;if((o|0)>=(s|0)){n=27;break}d=ni(u,o,s)|0;n=d-o|0;p=o+r|0;j=c[x>>2]|0;f=((j|0)<0)<<31>>31;p=cg(j|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;q=C;f=cg(j|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Zg(p|0,q|0,f|0,C|0)|0;j=C;m=U;da=c[m>>2]|0;m=c[m+4>>2]|0;k=j>>>0>m>>>0|(j|0)==(m|0)&f>>>0>da>>>0;f=k?da:f;j=k?m:j;if(j>>>0>q>>>0|(j|0)==(q|0)&f>>>0>p>>>0){j=Ng(f|0,j|0,p|0,q|0)|0;k=C;f=Vd(j)|0;c[W>>2]=f;m=lb[c[(c[N>>2]|0)+4>>2]&0](c[O>>2]|0,p,q,j,f,a)|0;if(!((m|0)==(j|0)&(((m|0)<0)<<31>>31|0)==(k|0))){n=24;break b}bg(Z,c[K>>2]|0,p,0)|0;Oe(Z,c[K>>2]|0,f,j);Gh(W)}Kd(u,o,n);if((d|0)>=(s|0)){n=28;break}else f=1}if((n|0)==27?(n=0,f|0):0)n=28;if((n|0)==28){da=(v|0)/8|0;bg(P,c[t>>2]|0,da+64|0,0)|0;Oe(P,c[t>>2]|0,u,((w+7|0)/8|0)-da|0)}Di(u);d=c[x>>2]|0;j=_(d,v)|0;d=_(d,w)|0;k=J;f=c[k>>2]|0;k=c[k+4>>2]|0;n=Q;m=c[n>>2]|0;n=c[n+4>>2]|0;da=k>>>0>0|(k|0)==0&f>>>0>j>>>0;w=da?k:0;x=n>>>0<0|(n|0)==0&m>>>0<d>>>0;v=x?n:0;if(v>>>0<w>>>0|((v|0)==(w|0)?(x?m:d)>>>0<(da?f:j)>>>0:0)){k=0;f=0}else{x=0>k>>>0|0==(k|0)&j>>>0>f>>>0;da=0<n>>>0|0==(n|0)&d>>>0<m>>>0;j=x?f:j;k=x?k:0;d=da?m:d;f=da?n:0}da=J;c[da>>2]=j;c[da+4>>2]=k;j=Q;c[j>>2]=d;c[j+4>>2]=f;j=B;k=A}}while(0);bg(Z,c[K>>2]|0,l,0)|0}j=c[K>>2]|0;if(!(c[G>>2]|0)){d=E;f=b;n=36;break}Re(Z,j,c[H>>2]|0,h);k=l;j=D;n=E}if((n|0)==24){da=c[O>>2]|0;ba=Y;c[ba>>2]=j;c[ba+4>>2]=k;c[Y+8>>2]=da;da=Y+16|0;c[da>>2]=p;c[da+4>>2]=q;c[Y+24>>2]=m;rh(19733,Y)}else if((n|0)==33){c[$>>2]=d;c[$+4>>2]=f;Ig(4,19789,$);Ig(4,19835,aa);S=0;T=0;break}else if((n|0)==36){Re(Z,j,f,h);S=ba;S=Zg(c[S>>2]|0,c[S+4>>2]|0,h|0,g|0)|0;T=ba;c[T>>2]=S;c[T+4>>2]=C;T=Zg(h|0,g|0,e|0,d|0)|0;S=C;break}}else{S=0;T=0}}while(0);C=S;i=ca;return T|0}function yb(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;if(!a)return;d=a+-8|0;h=c[5962]|0;if(d>>>0<h>>>0)La();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)La();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)La();if((k|0)==(c[5963]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[5960]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=23872+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)La();if((c[b+12>>2]|0)!=(k|0))La()}if((d|0)==(b|0)){c[5958]=c[5958]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)La();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else La()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)La();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)La();a=e+12|0;if((c[a>>2]|0)!=(k|0))La();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else La()}while(0);if(f){a=c[k+28>>2]|0;b=24136+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[5959]=c[5959]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[5962]|0)>>>0)La();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[5962]|0;if(i>>>0<d>>>0)La();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)La();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[5962]|0)>>>0)La();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)La();a=m+4|0;b=c[a>>2]|0;if(!(b&1))La();if(!(b&2)){if((m|0)==(c[5964]|0)){p=(c[5961]|0)+g|0;c[5961]=p;c[5964]=q;c[q+4>>2]=p|1;if((q|0)!=(c[5963]|0))return;c[5963]=0;c[5960]=0;return}if((m|0)==(c[5963]|0)){p=(c[5960]|0)+g|0;c[5960]=p;c[5963]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();d=b+12|0;if((c[d>>2]|0)!=(m|0))La();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else La()}while(0);if(f|0){a=c[m+28>>2]|0;b=24136+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[5959]=c[5959]&~(1<<a);break}}else{if(f>>>0<(c[5962]|0)>>>0)La();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[5962]|0;if(n>>>0<d>>>0)La();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)La();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[5962]|0)>>>0)La();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=23872+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[5962]|0)>>>0)La();if((c[b+12>>2]|0)!=(m|0))La()}if((d|0)==(b|0)){c[5958]=c[5958]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[5962]|0)>>>0)La();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else La()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[5963]|0)){c[5960]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=23872+(a<<1<<2)|0;b=c[5958]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[5962]|0)>>>0)La();else{o=a;p=b}}else{c[5958]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=24136+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[5959]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[5962]|0)>>>0)La();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[5962]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else La()}}else{c[5959]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[5966]|0)+-1|0;c[5966]=q;if(!q)a=24288;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[5966]=-1;return}function zb(a,d,f,j,k,l,m,n){a=a|0;d=d|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,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,$=0,aa=0,ba=0,ca=0,da=0.0;ba=i;i=i+480|0;O=ba+344|0;M=ba+336|0;v=ba+328|0;S=ba+288|0;L=ba+280|0;$=ba+468|0;aa=ba+464|0;B=ba+476|0;Y=ba+474|0;D=ba+472|0;G=ba+460|0;H=ba+272|0;Q=ba+264|0;R=ba+256|0;P=ba+248|0;T=ba+240|0;U=ba+456|0;N=ba+416|0;F=ba+376|0;V=ba+160|0;W=ba+80|0;X=ba;Z=ba+368|0;I=ba+364|0;J=ba+360|0;K=ba+356|0;z=ih(a)|0;A=L;c[A>>2]=z;c[A+4>>2]=((z|0)<0)<<31>>31;c[$>>2]=Yc(n,17729)|0;c[aa>>2]=-2003829722;b[B>>1]=4;b[Y>>1]=0;b[D>>1]=0;c[G>>2]=0;A=H;c[A>>2]=0;c[A+4>>2]=0;A=Q;c[A>>2]=0;c[A+4>>2]=0;A=R;c[A>>2]=0;c[A+4>>2]=0;A=P;c[A>>2]=0;c[A+4>>2]=0;A=T;c[A>>2]=0;c[A+4>>2]=0;c[U>>2]=0;if(!l)Tc(a,d,I,Z,J);else rc(a,d,I,Z,J);A=c[Z>>2]|0;if(!m){z=c[I>>2]|0;y=qc(a)|0;n=0;l=0;m=a;a:while(1){if(!m){t=n;u=l;break}switch(c[m+16>>2]|0){case 1:{d=12;break}case 2:{d=8;break}case 3:{d=4;break}default:{x=14;break a}}d=Zg((_(e[m+32>>1]|0,d)|0)+24|0,0,n|0,l|0)|0;n=d;l=C;m=c[m>>2]|0}if((x|0)==14){c[v>>2]=17712;c[v+4>>2]=780;rh(17691,v)}m=Fg(t|0,u|0,1)|0;v=C;c[S>>2]=0;x=(k|0)!=0&1;o=+(m>>>0)+4294967296.0*+(v>>>0);u=0;t=0;d=y*10|0;while(1){n=oc(a,A,d)|0;c[S>>2]=n;n=eg(n)|0;n=Bg(n|0,C|0,x|0)|0;l=C;if(l>>>0<v>>>0|(l|0)==(v|0)&n>>>0<m>>>0|(n|0)==(u|0)&(l|0)==(t|0))break;y=~~(+(d|0)*1.1*(+(n>>>0)+4294967296.0*+(l>>>0))/o);ca=d<<1;Dg(S);u=n;t=l;d=(y|0)<(ca|0)?ca:y}b[Y>>1]=1;c[N>>2]=c[S>>2];c[F>>2]=d;m=d;n=((d|0)<0)<<31>>31;l=0;while(1){if((l|0)>=9)break;m=Bg(m|0,n|0,2)|0;n=C;if(n>>>0>0|(n|0)==0&m>>>0>1e9)break;ca=ee(c[N+((e[Y>>1]|0)+-1<<2)>>2]|0,A,m)|0;c[S>>2]=ca;ca=eg(ca)|0;if((ca|0)==(u|0)&(C|0)==(t|0))d=c[S>>2]|0;else{d=c[S>>2]|0;ca=b[Y>>1]|0;y=ca&65535;c[N+(y<<2)>>2]=d;c[F+(y<<2)>>2]=m;b[Y>>1]=ca+1<<16>>16}if((ih(d)|0)<=(z|0))break;else l=l+1|0}}else{c[F>>2]=30;d=oc(a,A,30)|0;c[N>>2]=d;n=1;while(1){if((n|0)==10)break;ca=c[100+(n<<2)>>2]|0;c[F+(n<<2)>>2]=ca;ca=ee(d,A,ca)|0;c[N+(n<<2)>>2]=ca;d=ca;n=n+1|0}b[Y>>1]=10}rf(c[$>>2]|0,aa,4);rf(c[$>>2]|0,B,2);rf(c[$>>2]|0,Y,2);y=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,P,8);z=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,Q,8);A=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,R,8);rf(c[$>>2]|0,D,2);rf(c[$>>2]|0,D,2);rf(c[$>>2]|0,H,8);x=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,T,8);B=Xi(c[$>>2]|0)|0;rf(c[$>>2]|0,U,4);rf(c[$>>2]|0,H,8);if((Xi(c[$>>2]|0)|0)==64)E=0;else za(17732,17712,1014,17747);while(1){if((E|0)>=(e[Y>>1]|0|0))break;rf(c[$>>2]|0,F+(E<<2)|0,4);rf(c[$>>2]|0,G,4);D=Xi(c[$>>2]|0)|0;ca=V+(E<<3)|0;c[ca>>2]=D;c[ca+4>>2]=((D|0)<0)<<31>>31;rf(c[$>>2]|0,H,8);rf(c[$>>2]|0,H,8);E=E+1|0}d=S;n=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(n|0));ca=Xi(c[$>>2]|0)|0;n=T;c[n>>2]=ca;c[n+4>>2]=((ca|0)<0)<<31>>31;Ag(c[$>>2]|0,S);n=Xi(c[$>>2]|0)|0;ca=P;c[ca>>2]=n;c[ca+4>>2]=((n|0)<0)<<31>>31;ca=c[I>>2]|0;sc(c[Z>>2]|0,16,ca,((ca|0)<0)<<31>>31,(ca|0)>(f|0)?f:ca,2,c[J>>2]|0,3,8,c[$>>2]|0);ca=Xi(c[$>>2]|0)|0;n=Q;c[n>>2]=ca;c[n+4>>2]=((ca|0)<0)<<31>>31;rf(c[$>>2]|0,L,8);n=a;while(1){d=c[$>>2]|0;if(!n)break;d=Qb(n,k,d)|0;if(d>>>0>(c[U>>2]|0)>>>0)c[U>>2]=d;n=c[n>>2]|0}d=Xi(d)|0;n=R;c[n>>2]=d;c[n+4>>2]=((d|0)<0)<<31>>31;n=L;n=Bg(c[n>>2]|0,c[n+4>>2]|0,2)|0;c[K>>2]=Jh(n)|0;n=0;d=a;while(1){if(!d)break;c[(c[K>>2]|0)+(n<<2)>>2]=d;n=n+1|0;d=c[d>>2]|0}ca=L;d=R;Ib(c[K>>2]|0,4,c[ca>>2]|0,c[ca+4>>2]|0,f,1,0,2,6,c[d>>2]|0,c[d+4>>2]|0,c[$>>2]|0);Gh(K);c[M>>2]=e[Y>>1];Ig(2,17798,M);d=0;while(1){if((d|0)>=(e[Y>>1]|0|0))break;L=Xi(c[$>>2]|0)|0;M=W+(d<<3)|0;K=M;c[K>>2]=L;c[K+4>>2]=((L|0)<0)<<31>>31;K=Jc(c[N+(d<<2)>>2]|0,f,j,k,c[$>>2]|0)|0;L=C;ca=X+(d<<3)|0;a=ca;c[a>>2]=K;c[a+4>>2]=L;M=Ng(K|0,L|0,c[M>>2]|0,c[M+4>>2]|0)|0;L=Xi(c[$>>2]|0)|0;ca=Ng(L|0,0,c[ca>>2]|0,c[ca+4>>2]|0)|0;c[O>>2]=M;c[O+4>>2]=ca;c[O+8>>2]=d;Ig(3,17830,O);d=d+1|0}d=c[N>>2]|0;if(!d){ca=T;c[ca>>2]=0;c[ca+4>>2]=0}else{l=c[d+16>>2]|0;t=S;c[t>>2]=l;c[t+4>>2]=0;r=+g[d+20>>2];t=S+8|0;h[t>>3]=r;s=+g[d+24>>2];u=S+16|0;h[u>>3]=s;w=+g[d+28>>2];v=S+24|0;h[v>>3]=w;m=d;n=0;o=+g[d+32>>2];while(1){d=c[m>>2]|0;if(!d)break;l=Zg(l|0,n|0,c[d+16>>2]|0,0)|0;n=C;ca=S;c[ca>>2]=l;c[ca+4>>2]=n;p=+g[d+20>>2];if(p<r)h[t>>3]=p;else p=r;q=+g[d+24>>2];if(q>s)h[u>>3]=q;else q=s;da=w+ +g[d+28>>2];h[v>>3]=da;m=d;r=p;s=q;w=da;o=o+ +g[d+32>>2]}h[S+32>>3]=o;qi(c[$>>2]|0,c[T>>2]|0,0)|0;Ag(c[$>>2]|0,S)}qi(c[$>>2]|0,z,0)|0;rf(c[$>>2]|0,Q,8);qi(c[$>>2]|0,A,0)|0;rf(c[$>>2]|0,R,8);qi(c[$>>2]|0,y,0)|0;rf(c[$>>2]|0,P,8);qi(c[$>>2]|0,x,0)|0;rf(c[$>>2]|0,T,8);if(!k)n=0;else{d=j<<5;if(d>>>0>(c[U>>2]|0)>>>0)c[U>>2]=d;qi(c[$>>2]|0,B,0)|0;rf(c[$>>2]|0,U,4);n=0}while(1){d=c[$>>2]|0;if((n|0)>=(e[Y>>1]|0|0))break;qi(d,c[V+(n<<3)>>2]|0,0)|0;rf(c[$>>2]|0,W+(n<<3)|0,8);rf(c[$>>2]|0,X+(n<<3)|0,8);n=n+1|0}qi(d,0,2)|0;rf(c[$>>2]|0,aa,4);Gh(Z);Uh($);i=ba;return}function Ab(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((c[f+132>>2]|0)>0){m=(c[f>>2]|0)+44|0;if((c[m>>2]|0)==2){j=-201342849;k=0;while(1){if(j&1|0?b[f+148+(k<<2)>>1]|0:0){j=0;break}k=k+1|0;if((k|0)>=32){l=6;break}else j=j>>>1}a:do if((l|0)==6)if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){j=32;while(1){if(b[f+148+(j<<2)>>1]|0){j=1;break a}j=j+1|0;if((j|0)>=256){j=0;break}}}else j=1;while(0);c[m>>2]=j}wb(f,f+2840|0);wb(f,f+2852|0);p=c[f+2844>>2]|0;r=b[f+150>>1]|0;q=r<<16>>16==0;b[f+148+(p+1<<2)+2>>1]=-1;t=f+2752|0;u=f+2756|0;v=f+2748|0;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;b:while(1){k=0;do{if((j|0)>(p|0))break b;j=j+1|0;m=b[f+148+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}p=c[f+2856>>2]|0;r=b[f+2442>>1]|0;q=r<<16>>16==0;b[f+2440+(p+1<<2)+2>>1]=-1;o=q?138:7;q=q?3:4;j=0;r=r&65535;s=-1;c:while(1){k=0;do{if((j|0)>(p|0))break c;j=j+1|0;m=b[f+2440+(j<<2)+2>>1]|0;n=m&65535;k=k+1|0;l=(r|0)==(n|0)}while((k|0)<(o|0)&l);do if((k|0)>=(q|0))if(!r)if((k|0)<11){b[t>>1]=(b[t>>1]|0)+1<<16>>16;break}else{b[u>>1]=(b[u>>1]|0)+1<<16>>16;break}else{if((r|0)!=(s|0)){s=f+2684+(r<<2)|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[v>>1]=(b[v>>1]|0)+1<<16>>16;break}else{s=f+2684+(r<<2)|0;b[s>>1]=(e[s>>1]|0)+k}while(0);q=m<<16>>16==0;s=r;o=q?138:l?6:7;q=q|l?3:4;r=n}wb(f,f+2864|0);if(!(b[f+2746>>1]|0))if(!(b[f+2690>>1]|0))if(!(b[f+2742>>1]|0))if(!(b[f+2694>>1]|0))if(!(b[f+2738>>1]|0))if(!(b[f+2698>>1]|0))if(!(b[f+2734>>1]|0))if(!(b[f+2702>>1]|0))if(!(b[f+2730>>1]|0))if(!(b[f+2706>>1]|0))if(!(b[f+2726>>1]|0))if(!(b[f+2710>>1]|0))if(!(b[f+2722>>1]|0))if(!(b[f+2714>>1]|0))if(!(b[f+2718>>1]|0))j=(b[f+2686>>1]|0)==0?2:3;else j=4;else j=5;else j=6;else j=7;else j=8;else j=9;else j=10;else j=11;else j=12;else j=13;else j=14;else j=15;else j=16;else j=17;else j=18;l=f+5800|0;k=(j*3|0)+17+(c[l>>2]|0)|0;c[l>>2]=k;k=(k+10|0)>>>3;l=((c[f+5804>>2]|0)+10|0)>>>3;k=l>>>0>k>>>0?k:l}else{l=h+5|0;j=0;k=l}do if((g|0)!=0&(h+4|0)>>>0<=k>>>0)lc(f,g,h,i);else{t=f+5820|0;n=c[t>>2]|0;m=(n|0)>13;if((l|0)==(k|0)?1:(c[f+136>>2]|0)==4){j=i+2&65535;k=f+5816|0;l=e[k>>1]|j<<n;b[k>>1]=l;if(m){u=f+20|0;v=c[u>>2]|0;c[u>>2]=v+1;g=f+8|0;a[(c[g>>2]|0)+v>>0]=l;v=(e[k>>1]|0)>>>8&255;h=c[u>>2]|0;c[u>>2]=h+1;a[(c[g>>2]|0)+h>>0]=v;h=c[t>>2]|0;b[k>>1]=j>>>(16-h|0);j=h+-13|0}else j=n+3|0;c[t>>2]=j;Mb(f,9848,11e3);break}k=i+4&65535;s=f+5816|0;l=e[s>>1]|k<<n;b[s>>1]=l;if(m){g=f+20|0;n=c[g>>2]|0;c[g>>2]=n+1;h=f+8|0;a[(c[h>>2]|0)+n>>0]=l;l=(e[s>>1]|0)>>>8&255;n=c[g>>2]|0;c[g>>2]=n+1;a[(c[h>>2]|0)+n>>0]=l;n=c[t>>2]|0;l=k>>>(16-n|0);b[s>>1]=l;n=n+-13|0}else n=n+3|0;c[t>>2]=n;q=c[f+2844>>2]|0;r=c[f+2856>>2]|0;m=q+65280&65535;k=l&65535|m<<n;b[s>>1]=k;if((n|0)>11){v=f+20|0;h=c[v>>2]|0;c[v>>2]=h+1;g=f+8|0;a[(c[g>>2]|0)+h>>0]=k;k=(e[s>>1]|0)>>>8&255;h=c[v>>2]|0;c[v>>2]=h+1;a[(c[g>>2]|0)+h>>0]=k;h=c[t>>2]|0;k=m>>>(16-h|0);b[s>>1]=k;m=h+-11|0}else m=n+5|0;c[t>>2]=m;l=r&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>11){g=f+20|0;m=c[g>>2]|0;c[g>>2]=m+1;h=f+8|0;a[(c[h>>2]|0)+m>>0]=k;k=(e[s>>1]|0)>>>8&255;m=c[g>>2]|0;c[g>>2]=m+1;a[(c[h>>2]|0)+m>>0]=k;m=c[t>>2]|0;k=l>>>(16-m|0);b[s>>1]=k;m=m+-11|0}else m=m+5|0;c[t>>2]=m;l=j+65533&65535;k=l<<m|k&65535;b[s>>1]=k;if((m|0)>12){p=f+20|0;h=c[p>>2]|0;c[p>>2]=h+1;o=f+8|0;a[(c[o>>2]|0)+h>>0]=k;h=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=h;k=c[t>>2]|0;l=l>>>(16-k|0);b[s>>1]=l;k=k+-12|0}else{o=f+8|0;p=f+20|0;l=k;k=m+4|0}c[t>>2]=k;n=0;while(1){m=e[f+2684+(d[20841+n>>0]<<2)+2>>1]|0;l=m<<k|l&65535;b[s>>1]=l;if((k|0)>13){k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;l=(e[s>>1]|0)>>>8&255;k=c[p>>2]|0;c[p>>2]=k+1;a[(c[o>>2]|0)+k>>0]=l;k=c[t>>2]|0;l=m>>>(16-k|0);b[s>>1]=l;k=k+-13|0}else k=k+3|0;c[t>>2]=k;if((n|0)==(j|0))break;else n=n+1|0}g=f+148|0;Hb(f,g,q);h=f+2440|0;Hb(f,h,r);Mb(f,g,h)}while(0);xc(f);if(!i)return;l=f+5820|0;k=c[l>>2]|0;if((k|0)<=8){j=f+5816|0;if((k|0)>0){h=b[j>>1]&255;g=f+20|0;i=c[g>>2]|0;c[g>>2]=i+1;a[(c[f+8>>2]|0)+i>>0]=h}}else{j=f+5816|0;v=b[j>>1]&255;g=f+20|0;h=c[g>>2]|0;c[g>>2]=h+1;i=f+8|0;a[(c[i>>2]|0)+h>>0]=v;h=(e[j>>1]|0)>>>8&255;f=c[g>>2]|0;c[g>>2]=f+1;a[(c[i>>2]|0)+f>>0]=h}b[j>>1]=0;c[l>>2]=0;return}function Bb(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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[5962]|0;if(l>>>0<i>>>0)La();if((l|0)==(c[5963]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[5960]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=23872+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)La();if((c[a+12>>2]|0)!=(l|0))La()}if((b|0)==(a|0)){c[5958]=c[5958]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)La();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else La()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)La();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)La();d=e+12|0;if((c[d>>2]|0)!=(l|0))La();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else La()}while(0);if(f){d=c[l+28>>2]|0;a=24136+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[5959]=c[5959]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[5962]|0)>>>0)La();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[5962]|0;if(j>>>0<b>>>0)La();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[5962]|0)>>>0)La();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[5962]|0;if(o>>>0<h>>>0)La();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[5964]|0)){q=(c[5961]|0)+g|0;c[5961]=q;c[5964]=r;c[r+4>>2]=q|1;if((r|0)!=(c[5963]|0))return;c[5963]=0;c[5960]=0;return}if((o|0)==(c[5963]|0)){q=(c[5960]|0)+g|0;c[5960]=q;c[5963]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)La();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)La();d=e+12|0;if((c[d>>2]|0)!=(o|0))La();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else La()}while(0);if(f|0){d=c[o+28>>2]|0;a=24136+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[5959]=c[5959]&~(1<<d);break}}else{if(f>>>0<(c[5962]|0)>>>0)La();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[5962]|0;if(n>>>0<b>>>0)La();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)La();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5962]|0)>>>0)La();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=23872+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)La();if((c[a+12>>2]|0)!=(o|0))La()}if((b|0)==(a|0)){c[5958]=c[5958]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)La();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else La()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[5963]|0)){c[5960]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=23872+(d<<1<<2)|0;a=c[5958]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[5962]|0)>>>0)La();else{p=d;q=a}}else{c[5958]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=24136+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[5959]|0;a=1<<b;if(!(d&a)){c[5959]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[5962]|0)>>>0)La();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[5962]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))La();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=e+116|0;n=(f|0)==0;x=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;o=e+96|0;p=e+120|0;q=e+112|0;r=e+100|0;H=e+5792|0;s=e+5796|0;t=e+5784|0;v=e+5788|0;w=e+104|0;J=e+92|0;y=e+128|0;z=e+44|0;A=e+136|0;a:while(1){g=c[m>>2]|0;while(1){if(g>>>0<262){Ub(e);g=c[m>>2]|0;if(n&g>>>0<262){g=0;i=55;break a}if(!g){i=38;break a}if(g>>>0<=2){c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];c[o>>2]=2;g=2;i=16}else i=8}else i=8;do if((i|0)==8){i=0;k=c[K>>2]|0;h=((d[(c[I>>2]|0)+(k+2)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=h;h=(c[E>>2]|0)+(h<<1)|0;l=b[h>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&k)<<1)>>1]=l;g=l&65535;b[h>>1]=k;h=c[o>>2]|0;c[p>>2]=h;c[r>>2]=c[q>>2];c[o>>2]=2;if(l<<16>>16)if(h>>>0<(c[y>>2]|0)>>>0)if(((c[K>>2]|0)-g|0)>>>0<=((c[z>>2]|0)+-262|0)>>>0){g=dc(e,g)|0;c[o>>2]=g;if(g>>>0<6){if((c[A>>2]|0)!=1){if((g|0)!=3){i=16;break}if(((c[K>>2]|0)-(c[q>>2]|0)|0)>>>0<=4096){g=3;i=16;break}}c[o>>2]=2;g=2;i=16}else i=16}else{g=2;i=16}else g=2;else{g=2;i=16}}while(0);if((i|0)==16)h=c[p>>2]|0;if(!(h>>>0<3|g>>>0>h>>>0)){g=h;break}if(!(c[w>>2]|0)){c[w>>2]=1;c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;continue}l=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;k=c[H>>2]|0;b[(c[s>>2]|0)+(k<<1)>>1]=0;c[H>>2]=k+1;a[(c[t>>2]|0)+k>>0]=l;l=e+148+((l&255)<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((c[H>>2]|0)==((c[v>>2]|0)+-1|0)){g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,(c[K>>2]|0)-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;l=c[k>>2]|0;g=g>>>0>l>>>0?l:g;if(g|0?(l=h+12|0,B=i+16|0,Xd(c[l>>2]|0,c[B>>2]|0,g|0)|0,c[l>>2]=(c[l>>2]|0)+g,c[B>>2]=(c[B>>2]|0)+g,l=h+20|0,c[l>>2]=(c[l>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,l=c[j>>2]|0,c[j>>2]=l-g,(l|0)==(g|0)):0)c[B>>2]=c[i+8>>2]}c[K>>2]=(c[K>>2]|0)+1;g=(c[m>>2]|0)+-1|0;c[m>>2]=g;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break a}}k=c[K>>2]|0;j=k+-3+(c[m>>2]|0)|0;l=g+253|0;k=k+65535-(c[r>>2]|0)|0;i=c[H>>2]|0;b[(c[s>>2]|0)+(i<<1)>>1]=k;c[H>>2]=i+1;a[(c[t>>2]|0)+i>>0]=l;l=e+148+((d[20585+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[20073+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[H>>2]|0;l=(c[v>>2]|0)+-1|0;i=c[p>>2]|0;c[m>>2]=1-i+(c[m>>2]|0);i=i+-2|0;c[p>>2]=i;g=c[K>>2]|0;while(1){h=g+1|0;c[K>>2]=h;if(h>>>0<=j>>>0){N=((d[(c[I>>2]|0)+(g+3)>>0]|0)^c[x>>2]<<c[C>>2])&c[D>>2];c[x>>2]=N;N=(c[E>>2]|0)+(N<<1)|0;b[(c[G>>2]|0)+((c[F>>2]&h)<<1)>>1]=b[N>>1]|0;b[N>>1]=h}i=i+-1|0;c[p>>2]=i;if(!i)break;else g=h}c[w>>2]=0;c[o>>2]=2;i=g+2|0;c[K>>2]=i;if((k|0)!=(l|0))continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,u=i+16|0,Xd(c[N>>2]|0,c[u>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[u>>2]=(c[u>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[u>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;i=55;break}}if((i|0)==38){if(c[w>>2]|0){N=a[(c[I>>2]|0)+((c[K>>2]|0)+-1)>>0]|0;G=c[H>>2]|0;b[(c[s>>2]|0)+(G<<1)>>1]=0;c[H>>2]=G+1;a[(c[t>>2]|0)+G>>0]=N;N=e+148+((N&255)<<2)|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;c[w>>2]=0}i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,Xd(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,Xd(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((i|0)==55)return g|0;return 0}function Db(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+1056|0;u=w+1024|0;v=w;k=a[e>>0]|0;do if(k<<24>>24){t=wh(b,k<<24>>24)|0;if(t){j=a[e+1>>0]|0;if(j<<24>>24){f=t+1|0;m=a[f>>0]|0;if(m<<24>>24){h=a[e+2>>0]|0;if(!(h<<24>>24)){j=j&255|(k&255)<<8;b=m;g=d[t>>0]<<8|m&255;while(1){g=g&65535;if((g|0)==(j|0))break;f=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24)){b=0;break}else{b=h;g=h&255|g<<8}}b=b<<24>>24?f+-1|0:0;break}f=t+2|0;b=a[f>>0]|0;if(b<<24>>24){g=a[e+3>>0]|0;if(!(g<<24>>24)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8;g=(b&255)<<8|(m&255)<<16|d[t>>0]<<24;if((g|0)!=(h|0))do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(h|0)));b=b<<24>>24?f+-2|0:0;break}f=t+3|0;l=a[f>>0]|0;if(l<<24>>24){if(!(a[e+4>>0]|0)){h=(j&255)<<16|(k&255)<<24|(h&255)<<8|g&255;b=(b&255)<<8|(m&255)<<16|l&255|d[t>>0]<<24;if((b|0)==(h|0))b=l;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(h|0)))}b=b<<24>>24?f+-3|0:0;break};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;b=k;g=0;while(1){if(!(a[t+g>>0]|0)){b=0;break}f=u+(((b&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(b&31);f=g+1|0;c[v+((b&255)<<2)>>2]=f;b=a[e+f>>0]|0;if(!(b<<24>>24)){n=23;break}else g=f}a:do if((n|0)==23){b:do if(f>>>0>1){h=1;n=-1;b=0;c:while(1){m=1;while(1){d:while(1){j=1;while(1){k=a[e+(j+n)>>0]|0;l=a[e+h>>0]|0;if(k<<24>>24!=l<<24>>24){m=h;j=k;h=l;break d}if((j|0)==(m|0))break;j=j+1|0;h=j+b|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}b=b+m|0;h=b+1|0;if(h>>>0>=f>>>0){b=n;p=m;break c}}k=m-n|0;if((j&255)<=(h&255))break;b=m+1|0;if(b>>>0<f>>>0){h=b;b=m;m=k}else{b=n;p=k;break c}}h=b+2|0;if(h>>>0>=f>>>0){p=1;break}else{n=b;b=b+1|0}}j=1;k=-1;h=0;while(1){l=h;h=1;while(1){o=l;e:while(1){l=1;while(1){n=a[e+(l+k)>>0]|0;m=a[e+j>>0]|0;if(n<<24>>24!=m<<24>>24){l=j;j=o;break e}if((l|0)==(h|0))break;l=l+1|0;j=l+o|0;if(j>>>0>=f>>>0){j=p;break b}}o=o+h|0;j=o+1|0;if(j>>>0>=f>>>0){j=p;break b}}h=l-k|0;if((n&255)>=(m&255)){h=j;break}j=l+1|0;if(j>>>0>=f>>>0){j=p;break b}}j=h+2|0;if(j>>>0>=f>>>0){k=h;j=p;h=1;break}else{k=h;h=h+1|0}}}else{b=-1;k=-1;j=1;h=1}while(0);r=(k+1|0)>>>0>(b+1|0)>>>0;h=r?h:j;r=r?k:b;q=r+1|0;if(!(we(e,e+h|0,q)|0))s=f-h|0;else{h=f-r+-1|0;s=0;h=(r>>>0>h>>>0?r:h)+1|0}n=f|63;o=(s|0)!=0;p=f-h|0;b=t;m=0;l=t;f:while(1){j=b;do if((l-j|0)>>>0<f>>>0){k=Fc(l,0,n)|0;if(k)if((k-j|0)>>>0<f>>>0){b=0;break a}else break;else{k=l+n|0;break}}else k=l;while(0);j=a[b+g>>0]|0;if(!(1<<(j&31)&c[u+(((j&255)>>>5&255)<<2)>>2])){b=b+f|0;m=0;l=k;continue}t=c[v+((j&255)<<2)>>2]|0;j=f-t|0;if((f|0)!=(t|0)){b=b+(o&(m|0)!=0&j>>>0<h>>>0?p:j)|0;m=0;l=k;continue}j=q>>>0>m>>>0?q:m;l=a[e+j>>0]|0;g:do if(!(l<<24>>24))j=q;else{while(1){if(l<<24>>24!=(a[b+j>>0]|0))break;j=j+1|0;l=a[e+j>>0]|0;if(!(l<<24>>24)){j=q;break g}}b=b+(j-r)|0;m=0;l=k;continue f}while(0);do{if(j>>>0<=m>>>0)break a;j=j+-1|0}while((a[e+j>>0]|0)==(a[b+j>>0]|0));b=b+h|0;m=s;l=k}}while(0)}else b=0}else b=0}else b=0}else b=t}else b=0}while(0);i=w;return b|0}function Eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(nh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0}while((ui(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Vc(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Vc(b)|0;if((d[23403+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){zf(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23403+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;zf(b,0);c[(nh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Vc(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=cg(e|0,j|0,10,0)|0;l=C;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=Zg(k|0,l|0,f|0,m|0)|0;j=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23659+((e*23|0)>>>5&7)>>0]|0;j=a[23403+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=Fg(-1,-1,n|0)|0;m=C;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=Bg(k|0,i|0,n|0)|0;f=C;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23403+i>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+(_(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=Kh(-1,-1,e|0,0)|0;o=C;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=cg(k|0,m|0,e|0,0)|0;l=C;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=Zg(j|0,0,f|0,l|0)|0;f=C;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0;j=a[23403+i>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23403+i>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Vc(b)|0}while((d[23403+i>>0]|0)>>>0<e>>>0);c[(nh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(nh()|0)>>2]=34;g=Zg(g|0,h|0,-1,-1)|0;h=C;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(nh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=Ng(i^e|0,j^g|0,e|0,g|0)|0;h=C}while(0);C=h;return g|0}function Fb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;r=e+116|0;s=(f|0)==0;B=e+72|0;C=e+88|0;K=e+108|0;I=e+56|0;D=e+84|0;E=e+68|0;F=e+52|0;G=e+64|0;t=e+44|0;u=e+96|0;v=e+112|0;H=e+5792|0;w=e+5796|0;x=e+5784|0;y=e+5788|0;z=e+128|0;J=e+92|0;while(1){if((c[r>>2]|0)>>>0<262){Ub(e);g=c[r>>2]|0;if(s&g>>>0<262){g=0;h=39;break}if(!g){h=24;break}if(g>>>0<=2)h=9;else h=6}else h=6;if((h|0)==6){h=0;q=c[K>>2]|0;o=((d[(c[I>>2]|0)+(q+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[D>>2];c[B>>2]=o;o=(c[E>>2]|0)+(o<<1)|0;p=b[o>>1]|0;b[(c[G>>2]|0)+((c[F>>2]&q)<<1)>>1]=p;g=p&65535;b[o>>1]=q;if(p<<16>>16!=0?(q-g|0)>>>0<=((c[t>>2]|0)+-262|0)>>>0:0){g=dc(e,g)|0;c[u>>2]=g}else h=9}if((h|0)==9)g=c[u>>2]|0;do if(g>>>0>2){g=g+253|0;q=(c[K>>2]|0)-(c[v>>2]|0)|0;p=c[H>>2]|0;b[(c[w>>2]|0)+(p<<1)>>1]=q;c[H>>2]=p+1;a[(c[x>>2]|0)+p>>0]=g;g=e+148+((d[20585+(g&255)>>0]|0|256)+1<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;q=q+65535&65535;q=e+2440+((d[20073+(q>>>0<256?q:(q>>>7)+256|0)>>0]|0)<<2)|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;q=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;g=c[u>>2]|0;p=(c[r>>2]|0)-g|0;c[r>>2]=p;if(!(p>>>0>2?g>>>0<=(c[z>>2]|0)>>>0:0)){i=(c[K>>2]|0)+g|0;c[K>>2]=i;c[u>>2]=0;p=c[I>>2]|0;g=d[p+i>>0]|0;c[B>>2]=g;c[B>>2]=((d[p+(i+1)>>0]|0)^g<<c[C>>2])&c[D>>2];g=q;break}n=g+-1|0;c[u>>2]=n;h=c[C>>2]|0;i=c[I>>2]|0;j=c[D>>2]|0;k=c[E>>2]|0;l=c[F>>2]|0;m=c[G>>2]|0;g=c[K>>2]|0;p=c[B>>2]|0;while(1){o=g+1|0;c[K>>2]=o;p=((d[i+(g+3)>>0]|0)^p<<h)&j;c[B>>2]=p;N=k+(p<<1)|0;b[m+((l&o)<<1)>>1]=b[N>>1]|0;b[N>>1]=o;n=n+-1|0;c[u>>2]=n;if(!n)break;else g=o}i=g+2|0;c[K>>2]=i;g=q}else{g=a[(c[I>>2]|0)+(c[K>>2]|0)>>0]|0;i=c[H>>2]|0;b[(c[w>>2]|0)+(i<<1)>>1]=0;c[H>>2]=i+1;a[(c[x>>2]|0)+i>>0]=g;g=e+148+((g&255)<<2)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[H>>2]|0)==((c[y>>2]|0)+-1|0)&1;c[r>>2]=(c[r>>2]|0)+-1;i=(c[K>>2]|0)+1|0;c[K>>2]=i}while(0);if(!g)continue;g=c[J>>2]|0;if((g|0)>-1)h=(c[I>>2]|0)+g|0;else h=0;Ab(e,h,i-g|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,A=i+16|0,Xd(c[N>>2]|0,c[A>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[A>>2]=(c[A>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[A>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;h=39;break}}if((h|0)==24){i=c[K>>2]|0;c[e+5812>>2]=i>>>0<2?i:2;if((f|0)==4){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,1);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,L=i+16|0,Xd(c[N>>2]|0,c[L>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[L>>2]=(c[L>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[L>>2]=c[i+8>>2];N=(c[(c[e>>2]|0)+16>>2]|0)==0?2:3;return N|0}if(c[H>>2]|0){h=c[J>>2]|0;if((h|0)>-1)g=(c[I>>2]|0)+h|0;else g=0;Ab(e,g,i-h|0,0);c[J>>2]=c[K>>2];h=c[e>>2]|0;i=c[h+28>>2]|0;ld(i);j=i+20|0;g=c[j>>2]|0;k=h+16|0;N=c[k>>2]|0;g=g>>>0>N>>>0?N:g;if(g|0?(N=h+12|0,M=i+16|0,Xd(c[N>>2]|0,c[M>>2]|0,g|0)|0,c[N>>2]=(c[N>>2]|0)+g,c[M>>2]=(c[M>>2]|0)+g,N=h+20|0,c[N>>2]=(c[N>>2]|0)+g,c[k>>2]=(c[k>>2]|0)-g,N=c[j>>2]|0,c[j>>2]=N-g,(N|0)==(g|0)):0)c[M>>2]=c[i+8>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){N=0;return N|0}}N=1;return N|0}else if((h|0)==39)return g|0;return 0}function Gb(b,d,e,f,g){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,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;R=i;i=i+112|0;J=R+96|0;I=R+88|0;H=R+80|0;G=R+72|0;F=R+64|0;E=R+56|0;D=R+48|0;C=R+40|0;B=R+32|0;L=R+24|0;K=R+16|0;A=R+8|0;z=R;y=R+100|0;k=d+4|0;Q=ce(6,1)|0;O=c[b>>2]|0;w=(e|0)==0;u=(g|0)==0;v=(f|0)==0;d=1;g=1;e=k;a:while(1){if((d|0)>=(O|0)){P=d;j=g;M=e;h=k;break}r=c[e>>2]|0;if(!(Qe(r,17006)|0)){j=g;h=k;N=4;break}s=wh(r,61)|0;t=(s|0)!=0;l=(a[r>>0]|0)==45;if(t)if(l)N=8;else N=10;else if(l)N=8;else N=69;if((N|0)==8){l=a[r+1>>0]|0;if(l<<24>>24!=0?(ui(l<<24>>24)|0)==0:0)N=10;else N=69}b:do if((N|0)==10){N=0;if(!u?(a[r>>0]|0)==45:0){p=Ed(r)|0;q=1;n=0;m=0;l=0;while(1){if(q>>>0>=p>>>0)break;o=a[r+q>>0]|0;do if(((o<<24>>24)+-48|0)>>>0>=10)if(o<<24>>24==46){n=n+1|0;break}else{l=l+1|0;break}else m=m+1|0;while(0);q=q+1|0}if((n|0)<2&(m|0)>0&(l|0)==0){N=69;break}}if(t){m=r;while(1){if(m>>>0>=s>>>0)break;l=a[m>>0]|0;switch(l<<24>>24){case 45:case 95:break;default:if(!(pi(l<<24>>24)|0)){N=69;break b}}m=m+1|0}o=(a[r>>0]|0)==45?r+1|0:r;a[s>>0]=0;m=s+1|0}else{o=(a[r>>0]|0)==45?r+1|0:r;m=0}do if(v)Sh(Q,o,(m|0)==0?17428:m)|0;else{l=jg(o,f)|0;if(!l){l=jg(o,84)|0;if(!l){N=31;break a}}switch(c[l+4>>2]&183|0){case 1:{if(m|0){N=34;break a}break}case 2:{if(!m){N=36;break a}break}case 4:{if(!m){N=38;break a}Nh(m,y,10)|0;if(!(a[m>>0]|0)){N=41;break a}if(a[c[y>>2]>>0]|0){N=41;break a}break}case 32:{if(!m){N=43;break a}Mh(m,y,10)|0;if(!(a[m>>0]|0)){N=46;break a}if(a[c[y>>2]>>0]|0){N=46;break a}break}case 16:{if(!m){N=48;break a}+Bi(m,y);if(!(a[m>>0]|0)){N=51;break a}if(a[c[y>>2]>>0]|0){N=51;break a}break}case 128:{if(!m){N=53;break a}+Bi(m,y);if(!(a[m>>0]|0)){N=56;break a}if(a[c[y>>2]>>0]|0){N=56;break a}break}default:{N=57;break a}}m=(m|0)==0?17428:m;l=jg(o,f)|0;if(l|0?(x=c[l+4>>2]|0,x&64|0):0){if((x&183|0)!=2){N=65;break a}n=ah(Q,o)|0;l=Og(m)|0;if(!n){Sh(Q,o,l)|0;break}else{Cg(n,l);break}}Sh(Q,o,m)|0}while(0);if(t)a[s>>0]=61}while(0);if((N|0)==69){N=0;if(!w){P=d;j=g;M=e;h=k;break}c[k>>2]=c[e>>2];g=g+1|0;k=k+4|0}d=d+1|0;e=e+4|0}switch(N|0){case 4:{P=d+1|0;M=e+4|0;break}case 31:{c[z>>2]=o;rh(17017,z);break}case 34:{c[A>>2]=o;rh(17043,A);break}case 36:{c[K>>2]=o;rh(17082,K);break}case 38:{c[L>>2]=o;rh(17118,L);break}case 41:{c[B>>2]=o;c[B+4>>2]=m;rh(17151,B);break}case 43:{c[C>>2]=o;rh(17118,C);break}case 46:{c[D>>2]=o;c[D+4>>2]=m;rh(17193,D);break}case 48:{c[E>>2]=o;rh(17237,E);break}case 51:{c[F>>2]=o;c[F+4>>2]=m;rh(17272,F);break}case 53:{c[G>>2]=o;rh(17312,G);break}case 56:{c[H>>2]=o;c[H+4>>2]=m;rh(17348,H);break}case 57:{c[I>>2]=c[l>>2];rh(17389,I);break}case 65:{rh(17431,J);break}}while(1){if((P|0)>=(O|0))break;c[h>>2]=c[M>>2];P=P+1|0;j=j+1|0;M=M+4|0;h=h+4|0}c[b>>2]=j;c[h>>2]=0;i=R;return Q|0}function Hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=b[f+2>>1]|0;o=D<<16>>16==0;x=d+2754|0;y=d+5820|0;z=d+2752|0;A=d+5816|0;B=d+20|0;C=d+8|0;t=d+2758|0;u=d+2756|0;v=d+2750|0;w=d+2748|0;m=o?138:7;o=o?3:4;h=0;D=D&65535;p=-1;a:while(1){n=0;while(1){if((h|0)>(g|0))break a;h=h+1|0;i=b[f+(h<<2)+2>>1]|0;j=i&65535;k=n+1|0;l=(D|0)==(j|0);if((k|0)<(m|0)&l)n=k;else{r=i;s=j;q=l;break}}do if((k|0)>=(o|0)){if(D|0){if((D|0)==(p|0)){j=b[A>>1]|0;m=c[y>>2]|0;n=k}else{l=e[d+2684+(D<<2)+2>>1]|0;m=c[y>>2]|0;i=e[d+2684+(D<<2)>>1]|0;k=e[A>>1]|0|i<<m;j=k&65535;b[A>>1]=j;if((m|0)>(16-l|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=k;j=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=j;p=c[y>>2]|0;j=i>>>(16-p|0)&65535;b[A>>1]=j;i=l+-16+p|0}else i=m+l|0;c[y>>2]=i;m=i}k=e[v>>1]|0;l=e[w>>1]|0;i=j&65535|l<<m;b[A>>1]=i;if((m|0)>(16-k|0)){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;i=(e[A>>1]|0)>>>8&255;p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=c[y>>2]|0;i=l>>>(16-p|0);b[A>>1]=i;k=k+-16+p|0}else k=m+k|0;c[y>>2]=k;j=n+65533&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>14){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-14|0}else i=k+2|0;c[y>>2]=i;break}if((k|0)<11){j=e[x>>1]|0;k=c[y>>2]|0;l=e[z>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65534&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>13){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-13|0}else i=k+3|0;c[y>>2]=i;break}else{j=e[t>>1]|0;k=c[y>>2]|0;l=e[u>>1]|0;i=e[A>>1]|0|l<<k;b[A>>1]=i;if((k|0)>(16-j|0)){k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;i=(e[A>>1]|0)>>>8&255;k=c[B>>2]|0;c[B>>2]=k+1;a[(c[C>>2]|0)+k>>0]=i;k=c[y>>2]|0;i=l>>>(16-k|0);b[A>>1]=i;k=j+-16+k|0}else k=k+j|0;c[y>>2]=k;j=n+65526&65535;i=i&65535|j<<k;b[A>>1]=i;if((k|0)>9){p=c[B>>2]|0;c[B>>2]=p+1;a[(c[C>>2]|0)+p>>0]=i;p=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=p;i=c[y>>2]|0;b[A>>1]=j>>>(16-i|0);i=i+-9|0}else i=k+7|0;c[y>>2]=i;break}}else{o=d+2684+(D<<2)+2|0;p=d+2684+(D<<2)|0;i=c[y>>2]|0;j=b[A>>1]|0;do{n=e[o>>1]|0;m=e[p>>1]|0;l=j&65535|m<<i;j=l&65535;b[A>>1]=j;if((i|0)>(16-n|0)){j=c[B>>2]|0;c[B>>2]=j+1;a[(c[C>>2]|0)+j>>0]=l;j=(e[A>>1]|0)>>>8&255;i=c[B>>2]|0;c[B>>2]=i+1;a[(c[C>>2]|0)+i>>0]=j;i=c[y>>2]|0;j=m>>>(16-i|0)&65535;b[A>>1]=j;i=n+-16+i|0}else i=i+n|0;c[y>>2]=i;k=k+-1|0}while((k|0)!=0)}while(0);o=r<<16>>16==0;p=D;m=o?138:q?6:7;o=o|q?3:4;D=s}return}function Ib(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,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;S=i;i=i+128|0;H=S+64|0;Q=S+16|0;P=S+104|0;K=S+92|0;L=S+8|0;M=S+84|0;N=S+80|0;O=S;R=S+88|0;I=L;c[I>>2]=d;c[I+4>>2]=e;c[M>>2]=f;c[N>>2]=g;I=O;c[I>>2]=l;c[I+4>>2]=m;I=lg(0)|0;c[R>>2]=I;if((d|0)==0&(e|0)==0){g=0;o=0}else{c[Q>>2]=0;g=pb[k&15](a,h)|0;v=((b|0)<0)<<31>>31;w=P+4|0;x=P+8|0;y=0;z=0;o=C;while(1){if(!(y>>>0<e>>>0|(y|0)==(e|0)&z>>>0<d>>>0))break;u=Ze(I,48)|0;c[u>>2]=c[Q>>2];c[Q>>2]=u;p=cg(z|0,y|0,b|0,v|0)|0;p=a+p|0;nb[j&3](P,p,h);D=c[P>>2]|0;A=u+20|0;c[A>>2]=D;B=u+12|0;c[B>>2]=D;D=u+16|0;c[D>>2]=c[w>>2];E=u+24|0;c[E>>2]=c[x>>2];t=u+32|0;q=t;c[q>>2]=g;c[q+4>>2]=o;q=Zg(z|0,y|0,1,0)|0;s=1;while(1){r=((q|0)<0)<<31>>31;if(!(r>>>0<e>>>0|(r|0)==(e|0)&q>>>0<d>>>0)){p=r;break}p=p+b|0;g=pb[k&15](p,h)|0;o=C;T=t;if(!((g|0)==(c[T>>2]|0)?(o|0)==(c[T+4>>2]|0):0)){p=r;break}q=q+1|0;s=s+1|0}r=(q|0)==(d|0)&(p|0)==(e|0);g=r?l:g;o=r?m:o;r=u+40|0;c[r>>2]=g;c[r+4>>2]=o;r=1;while(1){if((r|0)>=(s|0))break;q=Zg(r|0,((r|0)<0)<<31>>31|0,z|0,y|0)|0;q=cg(q|0,C|0,b|0,v|0)|0;nb[j&3](K,a+q|0,h);c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];q=c[P>>2]|0;p=c[B>>2]|0;if(q>>>0>=p>>>0){if((q|0)==(p|0)?(F=c[w>>2]|0,F>>>0<(c[D>>2]|0)>>>0):0)c[D>>2]=F}else{c[B>>2]=q;c[D>>2]=c[w>>2]}p=c[A>>2]|0;if(q>>>0<=p>>>0){if((q|0)==(p|0)?(G=c[x>>2]|0,G>>>0>(c[E>>2]|0)>>>0):0)c[E>>2]=G}else{c[A>>2]=q;c[E>>2]=c[x>>2]}r=r+1|0}T=Zg(s|0,((s|0)<0)<<31>>31|0,z|0,y|0)|0;y=C;z=T}ag(Q);c[H>>2]=ih(c[Q>>2]|0)|0;o=H+8|0;c[o>>2]=d;c[o+4>>2]=e;Ig(2,16351,H);o=1;while(1){g=c[Q>>2]|0;if(!((o|0)<2|(c[g>>2]|0)!=0))break;c[Q>>2]=0;y=0;p=f;a:while(1){s=y+4|0;t=y+12|0;u=y+16|0;v=y+20|0;w=y+24|0;x=g;while(1){if(!x)break a;g=c[x>>2]|0;if((p|0)>=(f|0)){q=x;p=x;break}r=p+1|0;c[x>>2]=c[s>>2];c[s>>2]=x;c[x+8>>2]=y;p=c[x+12>>2]|0;q=c[t>>2]|0;if(p>>>0>=q>>>0){if((p|0)==(q|0)?(J=c[x+16>>2]|0,J>>>0<(c[u>>2]|0)>>>0):0)c[u>>2]=J}else{c[t>>2]=p;c[u>>2]=c[x+16>>2]}p=c[x+20>>2]|0;q=c[v>>2]|0;if(p>>>0>q>>>0){c[v>>2]=p;c[w>>2]=c[x+24>>2];x=g;p=r;continue}if((p|0)!=(q|0)){x=g;p=r;continue}p=c[x+24>>2]|0;if(p>>>0<=(c[w>>2]|0)>>>0){x=g;p=r;continue}c[w>>2]=p;x=g;p=r}Ze(I,48)|0;y=vh(I,p,48)|0;c[y+4>>2]=p;c[p+8>>2]=y;c[q>>2]=0;c[y>>2]=c[Q>>2];c[Q>>2]=y;p=1}ag(Q);g=Q;while(1){g=c[g>>2]|0;if(!g)break;ag(g+4|0)}o=o+1|0}}p=Q;q=p+48|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));g=(g|0)==0?Q:g;c[P>>2]=610839776;c[K>>2]=0;rf(n,P,4);rf(n,M,4);rf(n,L,8);rf(n,g+12|0,4);rf(n,g+16|0,4);rf(n,g+20|0,4);rf(n,g+24|0,4);rf(n,O,8);rf(n,N,4);rf(n,K,4);if((g|0)!=(Q|0))hc(g,c[M>>2]|0,o,n);ph(R);i=S;return}function Jb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+2448|0;M=P+144|0;L=P+136|0;K=P+120|0;C=P+96|0;B=P+88|0;A=P+72|0;w=P+64|0;E=P+48|0;D=P+40|0;u=P+32|0;y=P+24|0;x=P+16|0;v=P+8|0;z=P;s=P+440|0;F=P+168|0;t=P+432|0;h=P+164|0;f=P+160|0;N=P+176|0;c[F>>2]=s;a[t>>0]=32;I=(Db(d,14054)|0)!=0;c[h>>2]=-1;c[f>>2]=-1;if(I){ue(d,h,f,0);J=c[f>>2]|0;H=c[h>>2]|0}else{J=-1;H=-1}G=(J|0)==-1;l=0;k=0;j=0;h=0;f=0;a:while(1){o=f;do{m=0;b:while(1){c:while(1){switch(Pf(b,t,1)|0){case 0:{O=10;break a}case 1:break c;case -1:break;default:{O=11;break a}}f=c[(nh()|0)>>2]|0;if((f|0)!=4){O=9;break a}}f=a[t>>0]|0;switch(f<<24>>24){case 10:{f=m;break b}case 13:{f=m;break}default:{a[s+m>>0]=f;f=m+1|0}}if((f|0)>1999){O=15;break a}else m=f}a[s+f>>0]=0;f=c[F>>2]|0;if(!(a[f>>0]|0)){g=o;O=54;break a}if(!(Nf(14560,f)|0))m=c[F>>2]|0;else{of(F)|0;f=of(F)|0;if(!f){O=20;break a}if((((Nf(15163,f)|0)!=0?(p=a[f+2>>0]|0,((p<<24>>24)+-48|0)>>>0<10):0)?p<<24>>24==55|(p&-4)<<24>>24==48:0)?(a[f+3>>0]|0)==0:0)f=1;else O=25;do if((O|0)==25){O=0;if(Qe(f,15166)|0)if(Qe(f,15170)|0){if(I?(g=Qe(f,15174)|0,!((H|g|0)==0&G)):0)if(!(Qe(f,15178)|0)){f=o;break}else{O=30;break a}if(!(Qe(f,15265)|0)){O=34;break a}if(!(Qe(f,15174)|0))f=o;else{O=36;break a}}else{j=1;f=o}else{k=1;f=o}}while(0);c[F>>2]=s;m=s;o=f}f=wh(m,58)|0;if(!f)f=0;else{a[f>>0]=0;f=Gg(f+1|0)|0}if(!(Ve(m,15317)|0)){if(o|0)c[e>>2]=eh(f)|0;if(k)h=eh(f)|0}}while(!(I&(Ve(m,15326)|0)==0));if((Nf(15340,f)|0)!=0?(q=(wh(f,32)|0)+1|0,r=wh(q,45)|0,(r|0)!=0):0){l=r+1|0;m=bd(q)|0;if(!(a[l>>0]|0)){n=-1;l=m}else{n=bd(l)|0;l=m}}else{n=-1;l=-1}if((l|0)==(H|0)&(G|(n|0)==(J|0))){l=1;f=o}else{O=51;break}}switch(O|0){case 9:{c[z>>2]=Yd(f)|0;c[z+4>>2]=d;Vg(14974,z);f=0;break}case 10:{c[v>>2]=d;Vg(15011,v);f=0;break}case 11:{c[x>>2]=d;Vg(15067,x);f=0;break}case 15:{c[y>>2]=2e3;Vg(15099,y);f=0;break}case 20:{c[u>>2]=d;Vg(15137,u);f=0;break}case 30:{if(!g)Vg(15182,D);O=c[F>>2]|0;c[E>>2]=d;c[E+4>>2]=f;c[E+8>>2]=O;Vg(15225,E);f=0;break}case 34:{c[w>>2]=d;Vg(15269,w);f=0;break}case 36:{O=c[F>>2]|0;c[A>>2]=d;c[A+4>>2]=f;c[A+8>>2]=O;Vg(15294,A);f=0;break}case 51:{O=B;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;hg(N,256,14166,B)|0;if(G)a[N>>0]=0;c[C>>2]=f;f=C+8|0;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[C+16>>2]=N;Vg(15347,C);f=0;break}case 54:{f=(k|0)!=0;if(j|k|0){c[K>>2]=d;c[K+4>>2]=f?24456:15441;c[K+8>>2]=f?15166:15170;c[K+12>>2]=h|0?h:15457;Vg(15467,K);f=0;break}if((l|g|0)!=0|I^1|(H|0)==0&G)f=1;else{O=L;c[O>>2]=J;c[O+4>>2]=((J|0)<0)<<31>>31;hg(N,256,14166,L)|0;if(G)a[N>>0]=0;f=M;c[f>>2]=H;c[f+4>>2]=((H|0)<0)<<31>>31;c[M+8>>2]=N;Vg(15508,M);f=0}break}}i=P;return f|0}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;u=y;t=b+52|0;j=c[t>>2]|0;w=b+20|0;l=c[w>>2]|0;x=b+36|0;g=c[x>>2]|0;f=b+48|0;do if(!(a[f>>0]|0)){f=c[b+96>>2]|0;if(f|0){s=ib[f&7](b,d,e)|0;break}f=b+72|0;h=c[f>>2]|0;if(h|0){e=Wh(h)|0;c[b+16>>2]=e;f=kd(c[f>>2]|0)|0;if(!f){s=0;break}s=Ed(f)|0;c[w>>2]=s;c[b+28>>2]=-1;c[b+32>>2]=0;c[x>>2]=s;c[d>>2]=f;Di(c[t>>2]|0);c[t>>2]=f;c[b+12>>2]=s;s=1;break}$d(b,j+g|0,l);r=b+44|0;a:do switch(c[r>>2]|0){case 2:case 1:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==10){k=1;break}else f=g}break}case 3:{f=c[x>>2]|0;while(1){if((f|0)>=(l|0)){g=f;k=0;break a}g=f+1|0;if((a[j+f>>0]|0)==13){k=1;break}else f=g}break}default:k=0}while(0);m=b+12|0;n=b+16|0;o=b+8|0;q=b+28|0;p=b+4|0;f=j;h=l;b:while(1){j=g;g=k;c:while(1){if(g|0){h=f;g=j;j=42;break b}k=c[x>>2]|0;g=h-k|0;l=c[m>>2]|0;if((k|0)>0&(g|0)>0)sf(f|0,f+k|0,g|0)|0;c[n>>2]=(c[n>>2]|0)+k;h=c[o>>2]|0;if((h|0)>-1)h=Jf(h,f+g|0,l-g|0)|0;else h=0;if((j|0)>(k|0)&(h|0)==0){j=27;break b}if((h|0)<1){j=32;break b}h=h+g|0;c[w>>2]=h;c[x>>2]=0;$d(b,f+j|0,h);d:do switch(c[r>>2]|0){case 2:case 1:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==10){g=1;continue c}else g=j}case 3:while(1){if((g|0)>=(h|0))break d;j=g+1|0;if((a[f+g>>0]|0)==13){g=1;continue c}else g=j}default:g=j}while(0);if((h|0)==(c[m>>2]|0))break;else{j=g;g=0}}if((l|0)>536870911){j=40;break}else f=l;Cf(b,f<<1);f=c[t>>2]|0;k=0}if((j|0)==27){a[f+g>>0]=0;c[b+32>>2]=0;c[w>>2]=0;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Gd(b,f);s=1;break}else if((j|0)==32){c[x>>2]=0;c[b+32>>2]=0;c[w>>2]=0;s=0;break}else if((j|0)==40){b=(c[q>>2]|0)+1|0;d=c[p>>2]|0;c[u>>2]=h;c[u+4>>2]=b;c[u+8>>2]=d;rh(19458,u)}else if((j|0)==42){if((a[b+40>>0]|0?(a[h+(g+-1)>>0]=0,(c[r>>2]|0)==2):0)?(v=h+(g+-2)|0,(a[v>>0]|0)==13):0)a[v>>0]=0;f=c[x>>2]|0;c[b+32>>2]=f;c[x>>2]=g;c[q>>2]=(c[q>>2]|0)+1;if(e|0)c[e>>2]=g-f;f=h+f|0;c[d>>2]=f;if((a[f>>0]|0)!=35){s=1;break}Gd(b,f);s=1;break}}else{a[f>>0]=0;f=b+32|0;if(e|0)c[e>>2]=g-(c[f>>2]|0);f=j+(c[f>>2]|0)|0;c[d>>2]=f;if((c[b+60>>2]|0)!=0?(a[f>>0]|0)==35:0){Gd(b,f);s=1}else s=1}while(0);i=y;return s|0}function Lb(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;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[5962]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))La();f=c[k+4>>2]|0;if(!(f&1))La();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[6078]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Bb(m,d);return a|0}if((k|0)==(c[5964]|0)){d=(c[5961]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[5964]=l;c[5961]=m;return a|0}if((k|0)==(c[5963]|0)){e=(c[5960]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[5960]=d;c[5963]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){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<i>>>0)La();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)La();d=g+12|0;if((c[d>>2]|0)!=(k|0))La();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else La()}while(0);if(h|0){d=c[k+28>>2]|0;e=24136+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[5959]=c[5959]&~(1<<d);break}}else{if(h>>>0<(c[5962]|0)>>>0)La();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[5962]|0;if(j>>>0<f>>>0)La();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)La();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[5962]|0)>>>0)La();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=23872+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)La();if((c[e+12>>2]|0)!=(k|0))La()}if((f|0)==(e|0)){c[5958]=c[5958]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)La();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else La()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Bb(l,m);return a|0}return 0}function Mb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=f+5792|0;if(!(c[s>>2]|0)){l=f+5820|0;i=f+5816|0;n=i;m=l;l=c[l>>2]|0;i=b[i>>1]|0}else{t=f+5796|0;u=f+5784|0;m=f+5820|0;n=f+5816|0;v=f+20|0;w=f+8|0;x=0;do{p=b[(c[t>>2]|0)+(x<<1)>>1]|0;r=p&65535;q=d[(c[u>>2]|0)+x>>0]|0;x=x+1|0;if(p<<16>>16){p=d[20585+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;o=c[m>>2]|0;i=e[g+(i<<2)>>1]|0;k=e[n>>1]|0|i<<o;j=k&65535;b[n>>1]=j;if((o|0)>(16-l|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=k;j=(e[n>>1]|0)>>>8&255;o=c[v>>2]|0;c[v>>2]=o+1;a[(c[w>>2]|0)+o>>0]=j;o=c[m>>2]|0;j=i>>>(16-o|0)&65535;b[n>>1]=j;l=l+-16+o|0}else l=o+l|0;c[m>>2]=l;o=c[328+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[680+(p<<2)>>2]|0)&65535;i=k<<l|j&65535;j=i&65535;b[n>>1]=j;if((l|0)>(16-o|0)){j=c[v>>2]|0;c[v>>2]=j+1;a[(c[w>>2]|0)+j>>0]=i;j=(e[n>>1]|0)>>>8&255;i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=c[m>>2]|0;j=k>>>(16-i|0)&65535;b[n>>1]=j;i=o+-16+i|0}else i=l+o|0;c[m>>2]=i;o=i}else o=l;p=r+-1|0;q=d[20073+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;k=e[h+(q<<2)+2>>1]|0;l=e[h+(q<<2)>>1]|0;j=j&65535|l<<o;i=j&65535;b[n>>1]=i;if((o|0)>(16-k|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=l>>>(16-r|0)&65535;b[n>>1]=i;l=k+-16+r|0}else l=o+k|0;c[m>>2]=l;o=c[464+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[796+(q<<2)>>2]|0)&65535;j=k<<l|i&65535;i=j&65535;b[n>>1]=i;if((l|0)>(16-o|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=j;i=(e[n>>1]|0)>>>8&255;l=c[v>>2]|0;c[v>>2]=l+1;a[(c[w>>2]|0)+l>>0]=i;l=c[m>>2]|0;i=k>>>(16-l|0)&65535;b[n>>1]=i;l=o+-16+l|0}else l=l+o|0;c[m>>2]=l}}else{l=e[g+(q<<2)+2>>1]|0;o=c[m>>2]|0;j=e[g+(q<<2)>>1]|0;k=e[n>>1]|0|j<<o;i=k&65535;b[n>>1]=i;if((o|0)>(16-l|0)){i=c[v>>2]|0;c[v>>2]=i+1;a[(c[w>>2]|0)+i>>0]=k;i=(e[n>>1]|0)>>>8&255;r=c[v>>2]|0;c[v>>2]=r+1;a[(c[w>>2]|0)+r>>0]=i;r=c[m>>2]|0;i=j>>>(16-r|0)&65535;b[n>>1]=i;l=l+-16+r|0}else l=o+l|0;c[m>>2]=l}}while(x>>>0<(c[s>>2]|0)>>>0)}k=e[g+1026>>1]|0;j=e[g+1024>>1]|0;i=i&65535|j<<l;b[n>>1]=i;if((l|0)>(16-k|0)){h=f+20|0;x=c[h>>2]|0;c[h>>2]=x+1;g=f+8|0;a[(c[g>>2]|0)+x>>0]=i;x=(e[n>>1]|0)>>>8&255;f=c[h>>2]|0;c[h>>2]=f+1;a[(c[g>>2]|0)+f>>0]=x;f=c[m>>2]|0;b[n>>1]=j>>>(16-f|0);f=k+-16+f|0;c[m>>2]=f;return}else{f=l+k|0;c[m>>2]=f;return}}function Nb(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;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;k=a+116|0;o=a+108|0;p=a+92|0;l=a+44|0;n=a+56|0;while(1){d=c[k>>2]|0;if(d>>>0<2){Ub(a);d=c[k>>2]|0;if(!(d|b)){d=0;e=35;break}if(!d){e=20;break}}d=(c[o>>2]|0)+d|0;c[o>>2]=d;c[k>>2]=0;e=c[p>>2]|0;f=e+i|0;if(!((d|0)!=0&d>>>0<f>>>0)){c[k>>2]=d-f;c[o>>2]=f;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,i,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,j=f+16|0,Xd(c[s>>2]|0,c[j>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[j>>2]=(c[j>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[j>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}e=c[p>>2]|0;d=c[o>>2]|0}f=d-e|0;if(f>>>0<((c[l>>2]|0)+-262|0)>>>0)continue;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,f,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,m=f+16|0,Xd(c[s>>2]|0,c[m>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[m>>2]=(c[m>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[m>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=35;break}}if((e|0)==20){c[a+5812>>2]=0;if((b|0)==4){e=c[p>>2]|0;if((e|0)>-1)d=(c[n>>2]|0)+e|0;else d=0;Ab(a,d,(c[o>>2]|0)-e|0,1);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,q=f+16|0,Xd(c[s>>2]|0,c[q>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[q>>2]=(c[q>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[q>>2]=c[f+8>>2];s=(c[(c[a>>2]|0)+16>>2]|0)==0?2:3;return s|0}e=c[o>>2]|0;f=c[p>>2]|0;if((e|0)>(f|0)){if((f|0)>-1)d=(c[n>>2]|0)+f|0;else d=0;Ab(a,d,e-f|0,0);c[p>>2]=c[o>>2];e=c[a>>2]|0;f=c[e+28>>2]|0;ld(f);g=f+20|0;d=c[g>>2]|0;h=e+16|0;s=c[h>>2]|0;d=d>>>0>s>>>0?s:d;if(d|0?(s=e+12|0,r=f+16|0,Xd(c[s>>2]|0,c[r>>2]|0,d|0)|0,c[s>>2]=(c[s>>2]|0)+d,c[r>>2]=(c[r>>2]|0)+d,s=e+20|0,c[s>>2]=(c[s>>2]|0)+d,c[h>>2]=(c[h>>2]|0)-d,s=c[g>>2]|0,c[g>>2]=s-d,(s|0)==(d|0)):0)c[r>>2]=c[f+8>>2];if(!(c[(c[a>>2]|0)+16>>2]|0)){s=0;return s|0}}s=1;return s|0}else if((e|0)==35)return d|0;return 0}function Ob(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;e=i;i=i+192|0;b=e;d=c[a>>2]|0;if(d|0){if(0){f=c[(c[d+12>>2]|0)+12>>2]|0;X=d+296|0;Y=c[X>>2]|0;X=c[X+4>>2]|0;V=d+304|0;W=c[V>>2]|0;V=c[V+4>>2]|0;T=d+136|0;U=c[T>>2]|0;T=c[T+4>>2]|0;R=d+144|0;S=c[R>>2]|0;R=c[R+4>>2]|0;P=d+152|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;N=d+160|0;O=c[N>>2]|0;N=c[N+4>>2]|0;L=d+168|0;M=c[L>>2]|0;L=c[L+4>>2]|0;J=d+176|0;K=c[J>>2]|0;J=c[J+4>>2]|0;H=d+184|0;I=c[H>>2]|0;H=c[H+4>>2]|0;F=d+192|0;G=c[F>>2]|0;F=c[F+4>>2]|0;D=d+200|0;E=c[D>>2]|0;D=c[D+4>>2]|0;B=d+208|0;C=c[B>>2]|0;B=c[B+4>>2]|0;z=d+216|0;A=c[z>>2]|0;z=c[z+4>>2]|0;x=d+224|0;y=c[x>>2]|0;x=c[x+4>>2]|0;v=d+232|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=d+240|0;u=c[t>>2]|0;t=c[t+4>>2]|0;r=d+248|0;s=c[r>>2]|0;r=c[r+4>>2]|0;p=d+256|0;q=c[p>>2]|0;p=c[p+4>>2]|0;n=d+264|0;o=c[n>>2]|0;n=c[n+4>>2]|0;l=d+272|0;m=c[l>>2]|0;l=c[l+4>>2]|0;j=d+280|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=d+288|0;h=c[g>>2]|0;g=c[g+4>>2]|0;c[b>>2]=c[d+4>>2];c[b+4>>2]=f;f=b+8|0;c[f>>2]=Y;c[f+4>>2]=X;f=b+16|0;c[f>>2]=W;c[f+4>>2]=V;f=b+24|0;c[f>>2]=U;c[f+4>>2]=T;f=b+32|0;c[f>>2]=S;c[f+4>>2]=R;f=b+40|0;c[f>>2]=Q;c[f+4>>2]=P;f=b+48|0;c[f>>2]=O;c[f+4>>2]=N;f=b+56|0;c[f>>2]=M;c[f+4>>2]=L;f=b+64|0;c[f>>2]=K;c[f+4>>2]=J;f=b+72|0;c[f>>2]=I;c[f+4>>2]=H;f=b+80|0;c[f>>2]=G;c[f+4>>2]=F;f=b+88|0;c[f>>2]=E;c[f+4>>2]=D;f=b+96|0;c[f>>2]=C;c[f+4>>2]=B;f=b+104|0;c[f>>2]=A;c[f+4>>2]=z;f=b+112|0;c[f>>2]=y;c[f+4>>2]=x;f=b+120|0;c[f>>2]=w;c[f+4>>2]=v;f=b+128|0;c[f>>2]=u;c[f+4>>2]=t;f=b+136|0;c[f>>2]=s;c[f+4>>2]=r;f=b+144|0;c[f>>2]=q;c[f+4>>2]=p;f=b+152|0;c[f>>2]=o;c[f+4>>2]=n;f=b+160|0;c[f>>2]=m;c[f+4>>2]=l;f=b+168|0;c[f>>2]=k;c[f+4>>2]=j;f=b+176|0;c[f>>2]=h;c[f+4>>2]=g;ug(0,19858,b)|0}b=d+112|0;if(c[b>>2]|0)Af(b);b=d+128|0;if(c[b>>2]|0)Af(b);Di(c[d+4>>2]|0);Di(c[d+8>>2]|0);Gh(d+12|0);Di(c[d+40>>2]|0);Di(c[d+44>>2]|0);Di(c[d+48>>2]|0);Di(c[d+64>>2]|0);b=d+56|0;if(c[b>>2]|0)Af(b);zh(d+80|0)}Gh(a);i=e;return}function Pb(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+128|0;k=l+104|0;x=l+88|0;w=l+72|0;v=l+64|0;u=l+56|0;o=l+48|0;q=l+32|0;p=l+24|0;n=l+16|0;j=l+8|0;t=l+116|0;m=l+112|0;s=a+8|0;if((c[s>>2]|0)>=0)za(12550,12570,448,12586);h=va()|0;c[s>>2]=h;if((h|0)<0)yf(12599,l);if(h|0)if(!(fg(h,h)|0)){i=l;return}else{r=c[s>>2]|0;c[k>>2]=r;c[k+4>>2]=r;yf(13137,k)}r=yh()|0;c[s>>2]=r;if(fg(r,r)|0){r=c[s>>2]|0;c[j>>2]=r;c[j+4>>2]=r;yf(12610,j)}r=a+4|0;j=-1;h=a;while(1){k=c[h>>2]|0;if(!k){b=28;break}l=(c[a>>2]|0)==(k|0)?b:j;c[t>>2]=l;if(!(c[k>>2]|0)){c[m>>2]=d;h=j}else h=Vf(m)|0;j=va()|0;c[k+12>>2]=j;if((j|0)<0){b=14;break}if(!j){b=16;break}uf(k,1);c[r>>2]=(c[r>>2]|0)+1;if((c[a>>2]|0)!=(k|0))xf(t);if(c[k>>2]|0)xf(m);g=0;f=0;j=h;h=k}if((b|0)==14)yf(12599,n);else if((b|0)==16){h=c[m>>2]|0;if(!f){ad(k,l,h,e);x=k+8|0;w=c[x>>2]|0;sa(c[w>>2]|0,w|0)|0;c[o>>2]=c[c[x>>2]>>2];yf(12844,o)}ad(k,0,h,e);h=Of(1,f,g)|0;if((h|0)<0)yf(12755,p);if((h|0)==(g|0)){ig(1)|0;Ma(0)}else{x=q;c[x>>2]=h;c[x+4>>2]=((h|0)<0)<<31>>31;x=q+8|0;c[x>>2]=g;c[x+4>>2]=0;rh(12790,q)}}else if((b|0)==28){ig(0)|0;ig(1)|0;Eg();h=c[r>>2]|0;a:while(1){if((h|0)<=0){b=49;break}h=gb(0-(c[s>>2]|0)|0,t|0,0)|0;if((h|0)<0){b=31;break}else g=a;do{g=c[g>>2]|0;if(!g){b=35;break a}}while((c[g+12>>2]|0)!=(h|0));h=c[t>>2]|0;c[g+12>>2]=-1;k=g+20|0;c[k>>2]=h;uf(g,2);h=c[k>>2]|0;j=h&127;if(((h&65535)+-1|0)>>>0<255){h=g+4|0;if((j|0)!=13){b=39;break}if(!(c[(c[h>>2]|0)+20>>2]&32)){b=39;break}}else{if(j|0){b=41;break}l=h>>>8&255;if(l|0){b=43;break}}q=c[r>>2]|0;h=q+-1|0;c[r>>2]=h;if((q|0)<=0){b=47;break}}if((b|0)==31)yf(12917,u);else if((b|0)==35){c[v>>2]=h;rh(12932,v)}else if((b|0)==39){v=ye(c[g+8>>2]|0)|0;x=c[(c[h>>2]|0)+12>>2]|0;c[w>>2]=j;c[w+4>>2]=v;c[w+8>>2]=x;rh(12962,w)}else if((b|0)==41)za(13017,12570,242,13041);else if((b|0)==43){j=g+4|0;if(!(c[(c[j>>2]|0)+20>>2]&4)){h=c[2317]|0;v=ye(c[g+8>>2]|0)|0;w=c[(c[j>>2]|0)+12>>2]|0;c[x>>2]=l;c[x+4>>2]=v;c[x+8>>2]=w;ug(h,13060,x)|0;h=c[k>>2]|0}Ma(h>>>8&255|0)}else if((b|0)==47)za(13107,12570,396,13127);else if((b|0)==49)Ma(0)}}function Qb(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;o=t+8|0;j=t;m=f+16|0;s=c[m>>2]|0;l=s&255;switch(s|0){case 1:{k=12;break}case 2:{k=8;break}case 3:{k=4;break}default:{c[j>>2]=17712;c[j+4>>2]=67;rh(17691,j)}}p=f+32|0;q=(_(e[p>>1]|0,k)|0)+24|0;r=i;i=i+((1*q|0)+15&-16)|0;s=r;k=Xi(h)|0;j=f+40|0;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;j=f+36|0;c[r>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+8|0;c[r+4>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+12|0;c[r+8>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+24|0;c[r+12>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=f+28|0;c[r+16>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[r+20>>0]=l;a[r+21>>0]=0;j=d[p>>0]|d[p+1>>0]<<8;b[r+22>>1]=j;k=r+24|0;a:do switch(c[m>>2]|0){case 1:{j=f+20|0;while(1){j=c[j>>2]|0;if(!j){n=k;break a}o=j+4|0;f=k;p=k;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;p=f+4|0;o=j+8|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;p=f+8|0;o=j+12|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;k=f+12|0}}case 2:{m=j;l=0;j=c[f+20>>2]|0;while(1){if((l|0)>=(m&65535|0)){n=k;break a}f=k;m=k;o=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[m>>0]=o;a[m+1>>0]=o>>8;a[m+2>>0]=o>>16;a[m+3>>0]=o>>24;m=f+4|0;o=j+4|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[m>>0]=o;a[m+1>>0]=o>>8;a[m+2>>0]=o>>16;a[m+3>>0]=o>>24;m=b[p>>1]|0;k=f+8|0;l=l+1|0;j=j+8|0}}case 3:{m=j;l=0;j=c[f+20>>2]|0;while(1){if((l|0)>=(m&65535|0)){n=k;break a}m=k;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;m=b[p>>1]|0;k=k+4|0;l=l+1|0;j=j+4|0}}default:{c[o>>2]=17712;c[o+4>>2]=123;rh(17691,o)}}while(0);if((q|0)!=(n-s|0))za(17757,17712,126,17782);if(!g)rf(h,r,q);else{s=zi(q)|0;g=Na()|0;f=i;i=i+((1*s|0)+15&-16)|0;rf(h,f,Ge(r,q,f,s)|0);ya(g|0)}i=t;return q|0}function Rb(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=vf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((vf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Zg(m|0,l|0,-1,-1)|0;d=C;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;Ng(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Ng(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (C=o,p)|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f|0){n=0-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){m=g;g=b;h=h+1|0;b=m}else break}h=a+f+n|0;m=p+4|0;if(h>>>0>a>>>0){j=h;g=1;f=1;while(1){do if((g&3|0)==3){Wc(a,d,e,f,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;f=f+2|0}else{b=f+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Wc(a,d,e,f,o);else fc(a,d,e,p,f,0,o);if((f|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;f=0;break}if(b>>>0>31){g=c[p>>2]|0;c[m>>2]=g;c[p>>2]=0;b=f+-33|0;f=g;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;f=1}while(0);g=b|1;c[p>>2]=g;b=a+d|0;if(b>>>0>=h>>>0){a=f;break}else a=b}}else{b=a;a=1}fc(b,d,e,p,a,0,o);l=p+4|0;g=c[p>>2]|0;h=c[l>>2]|0;f=(h|0)==0;if(!((a|0)==1&(g|0)==1&f)){k=h;while(1){if((a|0)<2){h=g+-1|0;do if(h){if(!(h&1)){f=0;do{f=f+1|0;h=h>>>1}while(!(h&1|0))}else{if(f)f=32;else{if(!(k&1)){h=k;f=0}else{j=0;h=k;f=0;break}do{f=f+1|0;h=h>>>1}while(!(h&1|0))}f=f+32|0}if(f>>>0>31)q=28;else{j=f;h=k}}else{f=32;q=28}while(0);if((q|0)==28){q=0;c[p>>2]=k;c[m>>2]=0;j=f+-32|0;g=k;h=0}c[p>>2]=h<<32-j|g>>>j;c[m>>2]=h>>>j;b=b+n|0;h=f+a|0}else{j=g>>>30;h=a+-2|0;c[p>>2]=(g<<1&2147483646|j<<31)^3;c[m>>2]=(j|k<<2)>>>1;fc(b+(0-(c[o+(h<<2)>>2]|0))+n|0,d,e,p,a+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;b=b+n|0;fc(b,d,e,p,h,1,o)}g=c[p>>2]|0;k=c[l>>2]|0;f=(k|0)==0;if((h|0)==1&(g|0)==1&f)break;else a=h}}}i=r;return}function Tb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+224|0;e=x+64|0;u=x+56|0;w=x+48|0;v=x+40|0;t=x+32|0;d=x+208|0;o=x+80|0;p=x+16|0;q=x+8|0;s=x;r=x+72|0;a:do if(a)if(te(a,b,d)|0){b=Ug()|0;if((b|0)>=0){if((Id(b,1)|0)<0){ig(b)|0;b=-1;break}b:do if((Me(b,d,16)|0)<0){n=nh()|0;d=c[n>>2]|0;if((d|0)!=115){w=Yd(d)|0;c[e>>2]=d;c[e+4>>2]=w;Vg(13985,e);ig(b)|0;b=-1;break a}bb(p|0,0)|0;f=1<<(b&31);g=o+(b>>>5<<2)|0;h=b+1|0;j=p+4|0;k=s+4|0;l=10;m=0;while(1){d=o;e=32;while(1){if(!e)break;c[d>>2]=0;d=d+4|0;e=e+-1|0}c[g>>2]=c[g>>2]|f;d=q;c[d>>2]=l;c[d+4>>2]=m;d=jf(h,0,o,o,q)|0;if((d|0)>=0){e=17;break}d=c[n>>2]|0;if((d|0)!=4){e=16;break}bb(s|0,0)|0;e=c[j>>2]|0;d=c[k>>2]|0;z=(d|0)<(e|0);e=(z?d+1e6|0:d)-e|0;d=(m|0)<(e|0);z=(c[p>>2]|0)+l-(c[s>>2]|0)+(z&1)+(d<<31>>31)|0;y=(z|0)<0;C=s;B=c[C+4>>2]|0;A=p;c[A>>2]=c[C>>2];c[A+4>>2]=B;l=y?0:z;m=y?0:(d?m+1e6|0:m)-e|0}do if((e|0)==16){C=Yd(d)|0;c[t>>2]=d;c[t+4>>2]=C;Vg(13761,t);ig(b)|0;e=23}else if((e|0)==17){if((d|0)<=0){c[u>>2]=a;c[u+4>>2]=1e4;Vg(13893,u);ig(b)|0;e=23;break}c[r>>2]=4;do if((ze(b,1,4,s,r)|0)>=0){d=c[s>>2]|0;if(!d)break b;else{C=Yd(d)|0;c[w>>2]=d;c[w+4>>2]=C;Vg(13849,w);ig(b)|0;break}}else{B=c[n>>2]|0;C=Yd(B)|0;c[v>>2]=B;c[v+4>>2]=C;Vg(13819,v);ig(b)|0}while(0)}while(0);b=-1;break a}while(0);if((Id(b,0)|0)<0){ig(b)|0;b=-1;break}if((Se(b,120)|0)<0){ig(b)|0;b=-1}}}else b=-1;else{Vg(13641,x+24|0);b=-1}while(0);i=x;return b|0}function Ub(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=a+44|0;n=c[m>>2]|0;z=a+60|0;A=a+116|0;B=a+108|0;v=n+-262|0;C=a+56|0;w=a+5812|0;x=a+72|0;y=a+88|0;o=a+84|0;p=a+68|0;q=a+52|0;r=a+64|0;s=a+112|0;t=a+92|0;u=a+76|0;f=c[A>>2]|0;h=n;while(1){g=c[B>>2]|0;i=(c[z>>2]|0)-f-g|0;if(g>>>0>=(v+h|0)>>>0){g=c[C>>2]|0;Xd(g|0,g+n|0,n|0)|0;c[s>>2]=(c[s>>2]|0)-n;g=(c[B>>2]|0)-n|0;c[B>>2]=g;c[t>>2]=(c[t>>2]|0)-n;h=c[u>>2]|0;f=h;h=(c[p>>2]|0)+(h<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);f=n;h=(c[r>>2]|0)+(n<<1)|0;do{h=h+-2|0;l=e[h>>1]|0;b[h>>1]=l>>>0<n>>>0?0:l-n&65535;f=f+-1|0}while((f|0)!=0);i=i+n|0}j=c[a>>2]|0;k=j+4|0;l=c[k>>2]|0;if(!l)break;f=c[A>>2]|0;h=(c[C>>2]|0)+g+f|0;g=l>>>0>i>>>0?i:l;if(!g)g=0;else{c[k>>2]=l-g;Xd(h|0,c[j>>2]|0,g|0)|0;switch(c[(c[j+28>>2]|0)+24>>2]|0){case 1:{l=j+48|0;c[l>>2]=Yb(c[l>>2]|0,h,g)|0;break}case 2:{l=j+48|0;c[l>>2]=ac(c[l>>2]|0,h,g)|0;break}default:{}}c[j>>2]=(c[j>>2]|0)+g;f=j+8|0;c[f>>2]=(c[f>>2]|0)+g;f=c[A>>2]|0}f=f+g|0;c[A>>2]=f;g=c[w>>2]|0;a:do if((g+f|0)>>>0>2){i=(c[B>>2]|0)-g|0;k=c[C>>2]|0;h=d[k+i>>0]|0;c[x>>2]=h;l=c[y>>2]|0;j=c[o>>2]|0;h=((d[k+(i+1)>>0]|0)^h<<l)&j;c[x>>2]=h;while(1){if(!g)break a;h=((d[k+(i+2)>>0]|0)^h<<l)&j;c[x>>2]=h;D=(c[p>>2]|0)+(h<<1)|0;b[(c[r>>2]|0)+((c[q>>2]&i)<<1)>>1]=b[D>>1]|0;b[D>>1]=i;g=g+-1|0;c[w>>2]=g;if((f+g|0)>>>0<3)break;else i=i+1|0}}while(0);if(f>>>0>=262)break;if(!(c[(c[a>>2]|0)+4>>2]|0))break;h=c[m>>2]|0}h=a+5824|0;i=c[h>>2]|0;g=c[z>>2]|0;if(g>>>0<=i>>>0)return;f=(c[A>>2]|0)+(c[B>>2]|0)|0;if(i>>>0<f>>>0){D=g-f|0;D=D>>>0>258?258:D;se((c[C>>2]|0)+f|0,0,D|0)|0;c[h>>2]=D+f;return}f=f+258|0;if(f>>>0<=i>>>0)return;D=f-i|0;B=g-i|0;D=D>>>0>B>>>0?B:D;se((c[C>>2]|0)+i|0,0,D|0)|0;c[h>>2]=(c[h>>2]|0)+D;return}function Vb(d,f,g){d=d|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+16|0;q=r;a:do switch(d|0){case 2:{k=f;l=0;while(1){j=a[k>>0]|0;f=(j<<24>>24)+-48|0;if(f>>>0>=10){f=0;break a}d=a[k+1>>0]|0;if((d+-48|0)>>>0<10){f=(f*10|0)+-48+d|0;d=a[k+2>>0]|0;if((d+-48|0)>>>0<10){h=3;f=(f*10|0)+-48+d|0}else h=2;if((f|0)>255|j<<24>>24==48){f=0;break a}else d=h}else d=1;a[g+l>>0]=f;f=a[k+d>>0]|0;if((l|0)==3&f<<24>>24==0){f=1;break a}if(f<<24>>24!=46){f=0;break a}l=l+1|0;if((l|0)>=4){f=0;break}else k=k+(d+1)|0}break}case 10:{d=a[f>>0]|0;if(d<<24>>24==58){f=f+1|0;if((a[f>>0]|0)==58){d=58;h=-1;j=0}else{f=0;break a}}else{h=-1;j=0}b:while(1){n=(h|0)<0;if(n&d<<24>>24==58){b[q+((j&7)<<1)>>1]=0;f=f+1|0;d=a[f>>0]|0;if(!(d<<24>>24)){h=j;d=j;j=0;break}if((j|0)==7){f=0;break a}else h=j}else{k=0;m=0;while(1){l=d<<24>>24;d=l+-48|0;if(d>>>0>=10){l=l|32;d=l+-87|0;if(!((l+-97|0)>>>0<6&(d|0)>-1)){d=m;p=18;break}}l=d+(m<<4)|0;k=k+1|0;if((k|0)>=4){d=l;break}d=a[f+k>>0]|0;m=l}if((p|0)==18){p=0;if(!k){f=0;break a}}b[q+((j&7)<<1)>>1]=d;d=a[f+k>>0]|0;if(d<<24>>24==0?(j|0)==7|(h|0)>-1:0){d=j;j=0;break}if((j|0)==7){f=0;break a}switch(d<<24>>24){case 46:{d=n;p=23;break b}case 58:break;default:{f=0;break a}}d=f+(k+1)|0;f=d;d=a[d>>0]|0}j=j+1|0}if((p|0)==23){if((j|0)<6&d){f=0;break a}d=j+1|0;j=1}if((h|0)>-1?(o=q+(h<<1)|0,sf(o+14+(0-d<<1)|0,o|0,d+1-h<<1|0)|0,(7-d|0)>0):0){se(o|0,0,14-(d<<1)|0)|0;d=g;h=0}else{d=g;h=0}while(1){p=q+(h<<1)|0;a[d>>0]=(e[p>>1]|0)>>>8;a[d+1>>0]=b[p>>1];h=h+1|0;if((h|0)==8)break;else d=d+2|0}if(j|0?(Vb(2,f,g+12|0)|0)<1:0){f=0;break a}f=1;break}default:{c[(nh()|0)>>2]=97;f=-1}}while(0);i=r;return f|0}function Wb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+10640|0;g=r+88|0;q=r+80|0;p=r+72|0;n=r+64|0;h=r+56|0;k=r+24|0;j=r+16|0;f=r+8|0;m=r+10376|0;o=r+96|0;l=r+92|0;do if(!(Db(b,14045)|0))e=Ke(b,0,r)|0;else{if((Nf(19314,b)|0)==0?(Nf(19322,b)|0)==0:0){if(!(Nf(19331,b)|0)){c[g>>2]=b;rh(14907,g)}$b(b,o);if(Qe(o,14078)|0){c[f>>2]=b;rh(14570,f)}b=o+4112|0;g=cd(b,Bd(o+6160|0)|0,o+16|0,o+2064|0)|0;if((g|0)==-1)e=-1;else{c[l>>2]=0;do if(kh(g,14617,l,0)|0){f=c[o+10272>>2]|0;if((f|0)!=-1?(s=j,c[s>>2]=f,c[s+4>>2]=((f|0)<0)<<31>>31,hg(m,256,14624,j)|0,(kh(g,m,0,0)|0)==0):0){ig(g)|0;e=-1;break}j=o+6176|0;s=(a[(Ed(j)|0)+-1+(o+6176)>>0]|0)==47;c[k>>2]=s?14636:14641;c[k+4>>2]=j;hg(m,256,14646,k)|0;bi(g,m);j=c[(c[l>>2]|0)+4>>2]|0;s=wh(j,40)|0;a[(wh(j,41)|0)>>0]=0;if((ne(s+1|0,14654,k,7)|0)!=6)rh(14656,h);f=(Bd(c[k+16>>2]|0)|0)<<8;f=Tb(b,(Bd(c[k+20>>2]|0)|0)+f|0)|0;th(l);if((f|0)<0){ig(g)|0;e=-1;break}else b=0;while(1){if((b|0)>9){b=20;break}if((dd(f,1e6)|0)>0){b=26;break}if((dd(g,0)|0)>0?(pc(g,m,0,0)|0)==0:0){b=24;break}b=b+1|0}if((b|0)==20){c[n>>2]=m;Vg(14692,n);ig(g)|0;ig(f)|0;e=-1;break}else if((b|0)==24){ig(g)|0;ig(f)|0;e=-1;break}else if((b|0)==26){if(d|0){c[d>>2]=g;e=f;break}fd(c[2346]|0)|0;fd(c[2287]|0)|0;fd(c[2317]|0)|0;b=Sd(10300)|0;c[b+12>>2]=g;c[b+16>>2]=f;Xd(b+20|0,o|0,10280)|0;f=b+4|0;if(Jg(f)|0){c[p>>2]=Yd(c[(nh()|0)>>2]|0)|0;rh(14757,p)}b=Ta(b|0,0,2,b|0)|0;if(!b){e=c[f>>2]|0;break}else{s=Yd(b)|0;c[q>>2]=b;c[q+4>>2]=s;rh(14861,q)}}}else{ig(g)|0;e=-1}while(0)}break}e=Oh(b,14566,0)|0}while(0);i=r;return e|0}function Xb(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=Fg(d|0,m|0,52)|0;e=e&2047;j=Fg(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Bg(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(r=+N(+b),h[k>>3]=r,g=c[k+4>>2]|0,!(g>>>0>2146435072|(g|0)==2146435072&(c[k>>2]|0)>>>0>0|(e|0)==2047)):0){f=Bg(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Bg(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Bg(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Bg(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Bg(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Bg(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Bg(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=Ng(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Bg(d|0,f|0,1)|0;f=C;e=e+-1|0;l=Ng(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Bg(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Zg(d|0,f|0,0,-1048576)|0;d=C;e=Bg(e|0,0,52)|0;d=d|C;e=o|e}else{e=Fg(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=(d[b>>0]|0)+a|0;h=h>>>0>65520?h+-65521|0:h;g=h+e|0;h=(g>>>0>65520?g+15|0:g)<<16|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{c=c+-5552|0;g=b;f=347;while(1){w=(d[g>>0]|0)+a|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=14;else h=17}else h=14;if((h|0)==14){f=c+-16|0;g=f&-16;h=b+(g+16)|0;while(1){c=c+-16|0;i=(d[b>>0]|0)+a|0;j=i+(d[b+1>>0]|0)|0;k=j+(d[b+2>>0]|0)|0;l=k+(d[b+3>>0]|0)|0;m=l+(d[b+4>>0]|0)|0;n=m+(d[b+5>>0]|0)|0;o=n+(d[b+6>>0]|0)|0;p=o+(d[b+7>>0]|0)|0;q=p+(d[b+8>>0]|0)|0;r=q+(d[b+9>>0]|0)|0;s=r+(d[b+10>>0]|0)|0;t=s+(d[b+11>>0]|0)|0;u=t+(d[b+12>>0]|0)|0;v=u+(d[b+13>>0]|0)|0;w=v+(d[b+14>>0]|0)|0;a=w+(d[b+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else b=b+16|0}if((f|0)==(g|0))h=18;else{c=f-g|0;b=h;h=17}}if((h|0)==17)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){h=18;break}else{b=b+1|0;h=17}}if((h|0)==18){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}w=e<<16|a;return w|0}function Zb(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!i){o=-6;return o|0}if((j|0)!=56|(a[i>>0]|0)!=49){o=-6;return o|0}if(!b){o=-2;return o|0}m=b+24|0;c[m>>2]=0;l=b+32|0;j=c[l>>2]|0;if(!j){c[l>>2]=6;c[b+40>>2]=0;j=6}o=b+36|0;if(!(c[o>>2]|0))c[o>>2]=3;k=(d|0)==-1?6:d;if((f|0)<0){i=0-f|0;f=0}else{n=(f|0)>15;i=n?f+-16|0:f;f=n?2:1}if(h>>>0>4|(k>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(i&-8|0)!=8))){o=-2;return o|0}i=(i|0)==8?9:i;n=b+40|0;d=ib[j&7](c[n>>2]|0,1,5828)|0;if(!d){o=-4;return o|0}e=b+28|0;c[e>>2]=d;c[d>>2]=b;c[d+24>>2]=f;c[d+28>>2]=0;c[d+48>>2]=i;p=1<<i;f=d+44|0;c[f>>2]=p;c[d+52>>2]=p+-1;q=g+7|0;c[d+80>>2]=q;q=1<<q;j=d+76|0;c[j>>2]=q;c[d+84>>2]=q+-1;c[d+88>>2]=((g+9|0)>>>0)/3|0;q=d+56|0;c[q>>2]=ib[c[l>>2]&7](c[n>>2]|0,p,2)|0;p=d+64|0;c[p>>2]=ib[c[l>>2]&7](c[n>>2]|0,c[f>>2]|0,2)|0;f=d+68|0;c[f>>2]=ib[c[l>>2]&7](c[n>>2]|0,c[j>>2]|0,2)|0;c[d+5824>>2]=0;j=1<<g+6;i=d+5788|0;c[i>>2]=j;j=ib[c[l>>2]&7](c[n>>2]|0,j,4)|0;c[d+8>>2]=j;i=c[i>>2]|0;c[d+12>>2]=i<<2;if((c[q>>2]|0?c[p>>2]|0:0)?!((c[f>>2]|0)==0|(j|0)==0):0){c[d+5796>>2]=j+(i>>>1<<1);c[d+5784>>2]=j+(i*3|0);c[d+132>>2]=k;c[d+136>>2]=h;a[d+36>>0]=8;q=Ac(b)|0;return q|0}c[d+4>>2]=666;c[m>>2]=c[235];j=c[e>>2]|0;if(!j){q=-4;return q|0}switch(c[j+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{q=-4;return q|0}}i=c[j+8>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+68>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+64>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}i=c[j+56>>2]|0;if(i){kb[c[o>>2]&3](c[n>>2]|0,i);j=c[e>>2]|0}kb[c[o>>2]&3](c[n>>2]|0,j);c[e>>2]=0;q=-4;return q|0}function _b(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+16|0;t=w+4|0;v=w;q=ih(b)|0;c[t>>2]=q;c[v>>2]=Jh(q<<2)|0;rf(g,t,4);q=f<<5;p=i;i=i+((1*q|0)+15&-16)|0;q=zi(q)|0;r=i;i=i+((1*q|0)+15&-16)|0;s=p;u=c[t>>2]|0;j=0;while(1){if(!u)break;o=u>>>0>f>>>0?f:u;l=Xi(g)|0;m=((l|0)<0)<<31>>31;n=0;k=j;h=s;while(1){if(n>>>0>=o>>>0){j=k;break}j=k+1|0;c[(c[v>>2]|0)+(k<<2)>>2]=b;x=b+4|0;k=h;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+4|0;x=b+8|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+8|0;x=b+12|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+12|0;x=b+16|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+16|0;x=c[b+20>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+20|0;x=c[b+24>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+24|0;x=c[b+28>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;k=h+28|0;x=c[b+32>>2]|0;a[k>>0]=x;a[k+1>>0]=x>>8;a[k+2>>0]=x>>16;a[k+3>>0]=x>>24;h=h+32|0;k=b+40|0;c[k>>2]=l;c[k+4>>2]=m;b=c[b>>2]|0;if(!b){b=0;break}else{n=n+1|0;k=j}}rf(g,r,Ge(p,h-s|0,r,q)|0);u=u-o|0}x=Xi(g)|0;u=((x|0)<0)<<31>>31;Ib(c[v>>2]|0,4,c[t>>2]|0,0,e,f,0,1,4,x,u,g);Gh(v);C=u;i=w;return x|0}function $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+4112|0;h=j+8|0;e=j;f=j+16|0;if((Ed(b)|0)>>>0>4095){c[e>>2]=b;rh(14026,e)}xi(f,b)|0;oh(f)|0;b=Db(f,14045)|0;if(!b){a[d>>0]=a[14049]|0;a[d+1>>0]=a[14050]|0;a[d+2>>0]=a[14051]|0;a[d+3>>0]=a[14052]|0;a[d+4>>0]=a[14053]|0}else{a[b>>0]=0;sg(f)|0;cf(d,16,f);f=b+3|0}b=d+10272|0;c[b>>2]=-1;e=d+10276|0;c[e>>2]=-1;g=wh(f,47)|0;if(g){ue(g,b,e,1);if(!((Ve(d,14049)|0)!=0?(Ve(d,14066)|0)!=0:0)){e=yd(g,14072,14074)|0;cf(d+6176|0,4096,e);Di(e)}a[g>>0]=0;if(!(Ve(d,14078)|0)){g=g+1|0;Dd(g,d+6176|0,Ed(g)|0)}}else{g=d+6176|0;a[g>>0]=47;a[g+1>>0]=0}g=wh(f,64)|0;if(!g){if(!((Ve(d,14049)|0)!=0?(Ve(d,14066)|0)!=0:0)){a[d+16>>0]=0;a[d+2064>>0]=0}if(!(Ve(d,14078)|0)){b=d+16|0;e=14082;g=b+10|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0));b=d+2064|0;e=14092;g=b+18|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(g|0))}}else{a[g>>0]=0;b=wh(f,58)|0;if(!b){e=d+16|0;cf(e,2048,f);b=d+2064|0;a[b>>0]=0}else{a[b>>0]=0;e=d+16|0;cf(e,2048,f);f=d+2064|0;cf(f,2048,b+1|0);b=f}nd(e,e,Ed(e)|0);nd(b,b,Ed(b)|0);f=g+1|0}b=wh(f,58)|0;do if(!b){if(!(Ve(d,14049)|0)){h=d+6160|0;a[h>>0]=a[14110]|0;a[h+1>>0]=a[14111]|0;a[h+2>>0]=a[14112]|0}if(!(Ve(d,14066)|0)){h=d+6160|0;a[h>>0]=52;a[h+1>>0]=52;a[h+2>>0]=51;a[h+3>>0]=0}if(!(Ve(d,14078)|0)){h=d+6160|0;a[h>>0]=a[14113]|0;a[h+1>>0]=a[14114]|0;a[h+2>>0]=a[14115]|0}}else{e=b+1|0;a[b>>0]=0;if(((a[e>>0]|0)+-48|0)>>>0<10){cf(d+6160|0,16,e);break}else{c[h>>2]=e;rh(14116,h)}}while(0);cf(d+4112|0,2048,f);i=j;return}function ac(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){i=0;return i|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[956+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;i=h+32|0;f=b;while(1){a=c[f>>2]^a;a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+4>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+8>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+12>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+16>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+20>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+24>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2]^c[f+28>>2];a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+i|0}if(e>>>0>3){g=e+-4|0;i=g>>>2;h=i<<2;f=b;while(1){a=c[f>>2]^a;a=c[3004+((a>>>8&255)<<2)>>2]^c[4028+((a&255)<<2)>>2]^c[1980+((a>>>16&255)<<2)>>2]^c[956+(a>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-h|0;b=b+(i+1<<2)|0}if(e)while(1){a=c[956+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function bc(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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=Ah(ma(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ma(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ma(221,n|0)|0;break}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break}default:d=Ah(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ma(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ma(221,l|0)|0}d=Ah(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ma(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ma(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ma(221,r|0)|0}d=Ah(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Ka(6,p|0)|0}d=Ah(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=Ah(ma(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=Ah(ma(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function cc(b,d,e,f,g){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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+30912|0;r=w+20632|0;v=w+56|0;u=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;l=w;s=w+10352|0;q=w+72|0;t=w+64|0;c[t>>2]=Tg(512)|0;$b(b,s);h=Oa(14368)|0;p=(h|0)!=0;if(p){$b(h,q);Xd(r|0,q|0,10280)|0;h=Ae(r,b)|0}else{Xd(r|0,s|0,10280)|0;h=Ae(r,b)|0}if((h|0)<0)h=-1;else{if(p){b=eh(b)|0;j=ii(b,59)|0;if((j|0)!=0?(Nf(14054,j)|0)!=0:0)a[j>>0]=0}else b=0;k=c[t>>2]|0;c[l>>2]=d;c[l+4>>2]=p?b:s+6176|0;c[l+8>>2]=e;vg(k,14379,l);Di(b);c[m>>2]=f;vg(k,14390,m);if((Qe(s,14049)|0)==0?(Qe(14110,s+6160|0)|0)==0:0)j=13;else j=11;do if((j|0)==11){b=s+6160|0;if((Qe(s,14066)|0)==0?(Qe(14145,b)|0)==0:0){j=13;break}c[o>>2]=s+4112;c[o+4>>2]=b;vg(k,14418,o)}while(0);if((j|0)==13){c[n>>2]=s+4112;vg(k,14407,n)}b=c[t>>2]|0;Xd(r|0,s|0,10280)|0;fe(r,14432,b);if(p){Xd(r|0,q|0,10280)|0;fe(r,14446,b);k=c[t>>2]|0}else k=b;ci(k,14466);f=c[s+10272>>2]|0;do if((f|0)!=-1){b=c[s+10276>>2]|0;j=((f|0)<0)<<31>>31;if((b|0)==-1){u=v;c[u>>2]=f;c[u+4>>2]=j;vg(k,14505,v);break}else{v=u;c[v>>2]=f;c[v+4>>2]=j;v=u+8|0;c[v>>2]=b;c[v+4>>2]=((b|0)<0)<<31>>31;vg(k,14480,u);break}}while(0);if(g|0)ci(c[t>>2]|0,g);v=c[t>>2]|0;ci(v,14526);Je(h,c[v+4>>2]|0,c[v+12>>2]|0);th(t)}i=w;return h|0}function dc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=c[b+124>>2]|0;r=c[b+56>>2]|0;o=c[b+108>>2]|0;i=r+o|0;j=c[b+120>>2]|0;n=c[b+144>>2]|0;m=(c[b+44>>2]|0)+-262|0;m=o>>>0>m>>>0?o-m|0:0;o=c[b+64>>2]|0;p=c[b+52>>2]|0;q=i+258|0;w=c[b+116>>2]|0;n=n>>>0>w>>>0?w:n;s=b+112|0;t=q;u=q+-258|0;l=d;g=j;k=j>>>0<(c[b+140>>2]|0)>>>0?k:k>>>2;b=i;f=a[i+j>>0]|0;j=a[i+(j+-1)>>0]|0;while(1){d=r+l|0;if((((a[d+g>>0]|0)==f<<24>>24?(a[d+(g+-1)>>0]|0)==j<<24>>24:0)?(a[d>>0]|0)==(a[b>>0]|0):0)?(v=d+1|0,(a[v>>0]|0)==(a[b+1>>0]|0)):0){i=v;h=b+2|0;while(1){d=h+1|0;if((a[d>>0]|0)!=(a[i+2>>0]|0))break;d=h+2|0;if((a[d>>0]|0)!=(a[i+3>>0]|0))break;d=h+3|0;if((a[d>>0]|0)!=(a[i+4>>0]|0))break;d=h+4|0;if((a[d>>0]|0)!=(a[i+5>>0]|0))break;d=h+5|0;if((a[d>>0]|0)!=(a[i+6>>0]|0))break;d=h+6|0;if((a[d>>0]|0)!=(a[i+7>>0]|0))break;d=h+7|0;b=i;i=i+8|0;if((a[d>>0]|0)!=(a[i>>0]|0))break;d=h+8|0;if(!(d>>>0<q>>>0?(a[d>>0]|0)==(a[b+9>>0]|0):0))break;else h=d}b=d-t|0;d=b+258|0;if((d|0)>(g|0)){c[s>>2]=l;if((d|0)>=(n|0)){b=20;break}g=d;h=u;f=a[u+d>>0]|0;d=a[u+(b+257)>>0]|0}else{h=u;d=j}}else{h=b;d=j}l=e[o+((l&p)<<1)>>1]|0;if(l>>>0<=m>>>0){d=g;b=20;break}k=k+-1|0;if(!k){d=g;b=20;break}else{b=h;j=d}}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function ec(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 fc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;l=c[e>>2]|0;k=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((k|0)!=0|(l|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(pb[d&15](j,a)|0)>=1):0){g=(g|0)==0;m=1;n=l;while(1){if(g&(f|0)>1){e=a+o|0;g=c[h+(f+-2<<2)>>2]|0;if((pb[d&15](e,j)|0)>-1){g=f;e=m;q=19;break a}if((pb[d&15](e+(0-g)|0,j)|0)>-1){g=f;e=m;q=19;break a}}e=m+1|0;c[p+(m<<2)>>2]=j;g=n+-1|0;do if(g){if(!(g&1)){a=0;do{a=a+1|0;g=g>>>1}while(!(g&1|0))}else{if(!k)g=32;else{if(!(k&1)){a=k;g=0}else{l=0;g=n;a=0;break}do{g=g+1|0;a=a>>>1}while(!(a&1|0))}a=g+32|0}if(a>>>0>31)q=15;else{l=a;g=n}}else{a=32;q=15}while(0);if((q|0)==15){q=0;l=a+-32|0;g=k;k=0}n=k<<32-l|g>>>l;k=k>>>l;g=a+f|0;if(!((k|0)!=0|(n|0)!=1)){a=j;q=19;break a}a=j+(0-(c[h+(g<<2)>>2]|0))|0;if((pb[d&15](a,c[p>>2]|0)|0)<1){a=j;f=g;g=0;q=18;break}else{l=j;f=g;g=1;j=a;m=e;a=l}}}else{e=1;q=18}while(0);if((q|0)==18?(g|0)==0:0){g=f;q=19}if((q|0)==19){td(b,p,e);Wc(a,b,d,g,h)}i=r;return}function gc(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=+k;l=+l;m=m|0;n=n|0;var o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+32|0;z=A+24|0;y=A;u=e>>>0>b>>>0?b:e;s=h;t=j;r=+(f>>>0);f=c[n>>2]|0;while(1){if(u>>>0<=d>>>0){v=19;break}do if(f){e=f+4|0;if((c[e>>2]|0)==(a|0)?(w=c[f+12>>2]|0,w>>>0>d>>>0):0){o=w;break}o=Sd(48)|0;c[o+4>>2]=a;if((c[e>>2]|0)==(a|0)?(x=c[f+12>>2]|0,(x+m|0)>>>0>d>>>0):0){c[o+8>>2]=x;q=x;e=o;f=o;v=11}else{e=o;f=o;v=9}}else{f=Sd(48)|0;c[f+4>>2]=a;e=f;v=9}while(0);if((v|0)==9){c[e+8>>2]=d;q=d;v=11}if((v|0)==11){v=0;o=q+m|0;c[e+12>>2]=o>>>0>b>>>0?b:o;g[e+20>>2]=s;g[e+24>>2]=t;c[e>>2]=c[n>>2];c[n>>2]=e;o=c[f+12>>2]|0}e=f+8|0;o=ch(d,u,c[e>>2]|0,o)|0;if((o|0)<1){v=13;break}p=+(o|0)/+(u-d|0);e=f+16|0;c[e>>2]=~~(r*p+ +((c[e>>2]|0)>>>0))>>>0;e=f+20|0;if(+g[e>>2]>h)g[e>>2]=s;e=f+24|0;if(+g[e>>2]<j)g[e>>2]=t;q=f+28|0;g[q>>2]=p*k+ +g[q>>2];q=f+32|0;g[q>>2]=p*l+ +g[q>>2];d=o+d|0}if((v|0)==13){m=c[e>>2]|0;A=c[f+12>>2]|0;c[y>>2]=d;c[y+4>>2]=u;c[y+8>>2]=m;c[y+12>>2]=A;c[y+16>>2]=a;c[y+20>>2]=b;Vg(17594,y);c[z>>2]=17578;c[z+4>>2]=419;rh(17691,z)}else if((v|0)==19){i=A;return}}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+64|0;s=t+40|0;p=t+32|0;o=t+24|0;m=t+16|0;l=t;n=i;i=i+((1*(d<<2)|0)+15&-16)|0;f=0;while(1){if((f|0)>=(d|0))break;c[n+(f<<2)>>2]=0;f=f+1|0}lf(a,n,0,d+-1|0);r=i;i=i+((1*(d<<3)|0)+15&-16)|0;j=Xi(e)|0;q=b*24|4;f=((q|0)<0)<<31>>31;g=b<<5;h=j;j=((j|0)<0)<<31>>31;k=0;while(1){if((k|0)>=(d|0))break;w=r+(k<<3)|0;c[w>>2]=h;c[w+4>>2]=j;w=c[n+(k<<2)>>2]|0;v=cg(w|0,((w|0)<0)<<31>>31|0,q|0,f|0)|0;v=Zg(v|0,C|0,h|0,j|0)|0;u=C;c[l>>2]=k;c[l+4>>2]=w;w=l+8|0;c[w>>2]=h;c[w+4>>2]=j;Ig(2,16398,l);h=v;j=u;k=k+1|0}l=g|4;c[m>>2]=d;Ig(2,16430,m);f=0;while(1){if((f|0)>=(d|0))break;c[o>>2]=c[n+(f<<2)>>2];Ig(2,16458,o);f=f+1|0}Ig(2,16462,p);f=d+-3|0;g=b&65535;h=0;while(1){if((h|0)>(f|0)){f=14;break}w=h;h=h+1|0;k=r+(h<<3)|0;j=c[k>>2]|0;k=c[k+4>>2]|0;tc(g,(w|0)==(f|0)?l:q,a,0,w,j,k,e)|0;w=Xi(e)|0;if(!((w|0)==(j|0)&(((w|0)<0)<<31>>31|0)==(k|0))){f=13;break}}if((f|0)==13){v=Xi(e)|0;w=s;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31;w=s+8|0;c[w>>2]=j;c[w+4>>2]=k;c[s+16>>2]=334;c[s+20>>2]=16526;rh(16464,s)}else if((f|0)==14){Ec(b,a,0,d+-2|0,e);i=t;return}}function ic(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=cg(f|0,b|0,10,0)|0;f=C;e=Zg(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Zg(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Vc(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=Ng(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function jc(d,f,g,h,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0;E=i;i=i+16|0;A=E;z=E+11|0;B=E+10|0;D=E+8|0;y=d&65535;p=0;q=1;while(1){d=_(q,y)|0;if((p|0)==(k|0))break;else{p=p+1|0;q=d}}s=h+-1|0;x=m+8|0;w=(_(x,y)|0)+4|0;u=(_(n+m|0,y)|0)+4|0;u=(k|0)==1?u:w;v=((u|0)<0)<<31>>31;w=_((s+d|0)/(d|0)|0,w)|0;w=Zg(w|0,((w|0)<0)<<31>>31|0,j|0,0)|0;r=A;c[r>>2]=w;c[r+4>>2]=C;a[z>>0]=0;a[B>>0]=0;r=i;i=i+((1*(m+1|0)|0)+15&-16)|0;a[r+m>>0]=0;s=s+q|0;k=0;while(1){if((k|0)>=(h|0)){d=13;break}p=(s-k|0)/(q|0)|0;p=(p|0)>(y|0)?y:p;b[D>>1]=p;rf(o,z,1);rf(o,B,1);rf(o,D,2);t=k+d|0;j=(t|0)>(h|0)?h:t;n=k;k=0;while(1){if((n|0)>=(j|0))break;G=f+(_(n,g)|0)|0;se(r|0,0,m|0)|0;kb[l&3](G,r);rf(o,r,m);rf(o,A,8);G=A;G=Zg(c[G>>2]|0,c[G+4>>2]|0,u|0,v|0)|0;F=A;c[F>>2]=G;c[F+4>>2]=C;n=n+q|0;k=k+1|0}if((k|0)!=(e[D>>1]|0|0)){d=9;break}while(1){if((p|0)>=(y|0))break;Sg(o,0,x);p=p+1|0}k=t}if((d|0)==9)za(16932,16915,491,16959);else if((d|0)==13){i=E;return w|0}return 0}function kc(c,d,f,g,h,j,k,l,m,n){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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,D=0,E=0;E=i;i=i+16|0;B=E+3|0;D=E+2|0;A=E;a[B>>0]=1;a[D>>0]=0;v=i;i=i+((1*(k+1|0)|0)+15&-16)|0;a[v+k>>0]=0;w=c&65535;x=((f|0)<0)<<31>>31;y=m+k|0;s=0;t=h;u=g;z=0;a:while(1){if(!(z>>>0<h>>>0|(z|0)==(h|0)&s>>>0<g>>>0)){o=11;break}b[A>>1]=t>>>0>0|(t|0)==0&u>>>0>w>>>0?c:u&65535;rf(n,B,1);rf(n,D,1);rf(n,A,2);q=0;r=0;while(1){o=e[A>>1]|0;if(!(q>>>0<0|(q|0)==0&r>>>0<o>>>0)){p=0;break}o=Zg(r|0,q|0,s|0,z|0)|0;p=C;if(!(p>>>0<h>>>0|(p|0)==(h|0)&o>>>0<g>>>0)){o=6;break a}p=cg(o|0,p|0,f|0,x|0)|0;p=d+p|0;se(v|0,0,k|0)|0;kb[j&3](p,v);rf(n,v,k);rf(n,mb[l&3](p)|0,m);p=Zg(r|0,q|0,1,0)|0;q=C;r=p}while(1){if(!(p>>>0<0|(p|0)==0&o>>>0<w>>>0))break;Sg(n,0,y);r=Zg(o|0,p|0,1,0)|0;p=C;o=r}p=e[A>>1]|0;r=Ng(u|0,t|0,p|0,0)|0;q=C;p=Zg(p|0,0,s|0,z|0)|0;s=p;t=q;u=r;z=C}if((o|0)==6)za(16975,16915,529,16991);else if((o|0)==11){i=E;return}}function lc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=d+5820|0;j=c[l>>2]|0;i=h&65535;k=d+5816|0;h=e[k>>1]|0|i<<j;b[k>>1]=h;if((j|0)>13){n=d+20|0;j=c[n>>2]|0;c[n>>2]=j+1;m=d+8|0;a[(c[m>>2]|0)+j>>0]=h;h=(e[k>>1]|0)>>>8&255;j=c[n>>2]|0;c[n>>2]=j+1;a[(c[m>>2]|0)+j>>0]=h;j=c[l>>2]|0;h=i>>>(16-j|0);b[k>>1]=h;j=j+-13|0}else j=j+3|0;h=h&255;c[l>>2]=j;do if((j|0)<=8){i=d+20|0;if((j|0)>0){m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;h=n;break}else{h=d+8|0;break}}else{i=d+20|0;m=c[i>>2]|0;c[i>>2]=m+1;n=d+8|0;a[(c[n>>2]|0)+m>>0]=h;m=(e[k>>1]|0)>>>8&255;h=c[i>>2]|0;c[i>>2]=h+1;a[(c[n>>2]|0)+h>>0]=m;h=n}while(0);b[k>>1]=0;c[l>>2]=0;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g;m=c[i>>2]|0;c[i>>2]=m+1;a[(c[h>>2]|0)+m>>0]=g>>>8;m=g&65535^65535;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m>>>8;if(!g)return;while(1){g=g+-1|0;m=a[f>>0]|0;n=c[i>>2]|0;c[i>>2]=n+1;a[(c[h>>2]|0)+n>>0]=m;if(!g)break;else f=f+1|0}return}function mc(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[5945]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ah(fb(146,n|0)|0)|0}else{ua(1,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ah(fb(146,m|0)|0)|0;la(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 nc(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;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Fc(23398,f<<24>>24,4)|0){e=qb(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wh(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wh(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ma(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ma(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ma(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Ra(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[5946]|0))c[e+76>>2]=-1;Ya(23808);f=c[5951]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[5951]=e;Sa(23808)}}else{c[(nh()|0)>>2]=22;e=0}i=o;return e|0}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;q=r;p=r+8|0;c[p>>2]=0;a:while(1){if(!a){a=15;break}n=a+36|0;o=c[b+(c[n>>2]<<4)+12>>2]|0;b:do switch(c[a+16>>2]|0){case 1:{f=a+20|0;while(1){f=c[f>>2]|0;if(!f)break b;Uf(c[n>>2]|0,o,c[f+4>>2]|0,c[f+8>>2]|0,+g[f+12>>2],d,p)}}case 2:{f=a+32|0;h=a+28|0;j=0;k=c[a+20>>2]|0;while(1){if((j|0)>=(e[f>>1]|0|0))break b;m=c[k>>2]|0;Uf(c[n>>2]|0,o,m,(c[h>>2]|0)+m|0,+g[k+4>>2],d,p);j=j+1|0;k=k+8|0}}case 3:{f=a+32|0;h=a+28|0;j=a+24|0;k=0;l=c[a+20>>2]|0;m=c[a+8>>2]|0;while(1){if((k|0)>=(e[f>>1]|0|0))break b;Uf(c[n>>2]|0,o,m,(c[h>>2]|0)+m|0,+g[l>>2],d,p);k=k+1|0;l=l+4|0;m=(c[j>>2]|0)+m|0}}default:{a=13;break a}}while(0);a=c[a>>2]|0}if((a|0)==13){c[q>>2]=17712;c[q+4>>2]=866;rh(17691,q)}else if((a|0)==15){ag(p);i=r;return c[p>>2]|0}return 0}function pc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+4128|0;p=q+8|0;n=q;o=q+16|0;m=q+24|0;c[o>>2]=Tg(4096)|0;while(1){if((dd(b,1e6)|0)<=0){j=3;break}g=Pf(b,m,4096)|0;if(g){Le(c[o>>2]|0,m,g);if(!(zg(c[(c[o>>2]|0)+4>>2]|0,16462)|0))continue;else l=g}else l=0;k=c[o>>2]|0;h=c[k+4>>2]|0;g=h+(Ed(h)|0)+-1|0;if(g>>>0>=h>>>0)g=(a[g>>0]|0)==10?g+-1|0:g;while(1){if(g>>>0<h>>>0){j=g;break}if((a[g>>0]|0)==10){j=g;break}g=g+-1|0}g=j+1|0;if((((Ed(g)|0)>>>0>4?((a[g>>0]|0)+-48|0)>>>0<10:0)?((a[j+2>>0]|0)+-48|0)>>>0<10:0)?((a[j+3>>0]|0)+-48|0)>>>0<10:0)if((l|0)==0|(a[j+4>>0]|0)==32){j=18;break}else continue;if(!l){j=18;break}}do if((j|0)==3){c[n>>2]=1e6;Vg(14189,n);g=0}else if((j|0)==18){g=Bd(g)|0;if((g+-200|0)>>>0>199){c[p>>2]=d;c[p+4>>2]=h;Vg(14233,p);g=0;break}if(!e)th(o);else c[e>>2]=k;if(!f)g=1;else{c[f>>2]=g;g=1}}while(0);i=q;return g|0}function qc(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+16|0;m=n;do if(a){d=0;b=0;k=a;a=0;a:while(1){if(!k){f=15;break}b:do switch(c[k+16>>2]|0){case 1:{g=k+20|0;f=1073741823;while(1){g=c[g>>2]|0;if(!g)break b;j=(c[g+8>>2]|0)-(c[g+4>>2]|0)|0;f=(f|0)>(j|0)?j:f}}case 2:{g=e[k+32>>1]|0;h=1;j=c[k+20>>2]|0;f=1073741823;while(1){if((h|0)>=(g|0))break;p=j+8|0;o=(c[p>>2]|0)-(c[j>>2]|0)|0;h=h+1|0;j=p;f=f>>>0>o>>>0?o:f}if((f|0)==1073741823)f=c[k+28>>2]|0;break}case 3:{f=c[k+24>>2]|0;break}default:{f=13;break a}}while(0);p=Zg(f|0,((f|0)<0)<<31>>31|0,d|0,b|0)|0;d=p;b=C;k=c[k>>2]|0;a=a+1|0}if((f|0)==13){c[m>>2]=17712;c[m+4>>2]=754;rh(17691,m)}else if((f|0)==15){l=Zg(a>>>1|0,0,d|0,b|0)|0;l=Kh(l|0,C|0,a|0,0)|0;break}}else l=1;while(0);i=n;return l|0}function rc(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;q=i;i=i+16|0;o=q;h=q+4|0;n=c[b+24>>2]|0;l=Jh(n<<2)|0;Ie(h,b);g=l;j=md(h)|0;k=0;while(1){if(!j)break;m=j+4|0;c[g>>2]=c[m>>2];m=Ed(c[m>>2]|0)|0;g=g+4|0;j=md(h)|0;k=m>>>0>k>>>0?m:k}Sb(l,n,4,5);m=Jh(n<<4)|0;g=0;while(1){if((g|0)>=(n|0)){h=0;g=24456;l=a;break}j=l+(g<<2)|0;c[m+(g<<4)+4>>2]=c[j>>2];c[m+(g<<4)+8>>2]=g;c[m+(g<<4)+12>>2]=oi(b,c[j>>2]|0)|0;g=g+1|0}while(1){if(!l){p=18;break}j=c[l+4>>2]|0;if(!(Qe(j,g)|0))c[l+36>>2]=h;else{g=0;while(1){if((g|0)>=(n|0))break;if(!(Qe(j,c[m+(g<<4)+4>>2]|0)|0)){p=11;break}g=g+1|0}if((p|0)==11){p=0;c[l+36>>2]=g}if((g|0)==(n|0)){p=14;break}h=c[l+36>>2]|0;g=j}l=c[l>>2]|0}if((p|0)==14){c[o>>2]=j;rh(17649,o)}else if((p|0)==18){c[d>>2]=n;c[e>>2]=m;c[f>>2]=k;i=q;return}}function sc(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;q=t+8|0;o=t;p=t+24|0;r=t+20|0;s=t+16|0;n=t+32|0;m=t+28|0;u=o;c[u>>2]=d;c[u+4>>2]=e;c[p>>2]=f;c[r>>2]=h;c[s>>2]=k;c[n>>2]=2026540177;c[m>>2]=0;rf(l,n,4);rf(l,p,4);rf(l,r,4);rf(l,s,4);rf(l,o,8);rf(l,m,4);rf(l,m,4);f=Xi(l)|0;k=c[p>>2]|0;d=o;e=c[d>>2]|0;d=c[d+4>>2]|0;m=k+-1|0;h=e;n=1;while(1){if((h|0)<=(k|0))break;h=(m+h|0)/(k|0)|0;n=n+1|0}while(1){m=n+-1|0;h=k&65535;if((n|0)<=1){f=8;break}u=jc(h,a,b,e,f,m,g,c[r>>2]|0,c[s>>2]|0,l)|0;f=Xi(l)|0;if(!((u|0)==(f|0)&0==(((f|0)<0)<<31>>31|0))){f=7;break}d=o;k=c[p>>2]|0;e=c[d>>2]|0;d=c[d+4>>2]|0;n=m}if((f|0)==7){c[q>>2]=16915;c[q+4>>2]=572;rh(17691,q)}else if((f|0)==8){kc(h,a,b,e,d,g,c[r>>2]|0,j,c[s>>2]|0,l);i=t;return}}function tc(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r;o=r+11|0;n=r+10|0;p=r+8|0;s=q;c[s>>2]=k;c[s+4>>2]=l;a:do if((h|0)==(j|0)){a[o>>0]=0;a[n>>0]=0;k=g+4|0;b[p>>1]=ih(c[k>>2]|0)|0;rf(m,n,1);rf(m,o,1);rf(m,p,2);l=((f|0)<0)<<31>>31;while(1){k=c[k>>2]|0;if(!k)break;rf(m,k+12|0,4);rf(m,k+16|0,4);rf(m,k+20|0,4);rf(m,k+24|0,4);rf(m,q,8);j=q;j=Zg(c[j>>2]|0,c[j+4>>2]|0,f|0,l|0)|0;s=q;c[s>>2]=j;c[s+4>>2]=C}l=d&65535;k=e[p>>1]|0;while(1){if((k|0)>=(l|0))break;Sg(m,0,24);k=k+1|0}k=q;l=c[k+4>>2]|0;k=c[k>>2]|0}else{n=h+1|0;h=g+4|0;while(1){h=c[h>>2]|0;if(!h)break a;p=tc(d,f,h,n,j,k,l,m)|0;s=C;g=q;c[g>>2]=p;c[g+4>>2]=s;k=p;l=s}}while(0);C=l;i=r;return k|0}function uc(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;l=i;i=i+16|0;g=l;j=(f|0)==0?23828:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[9500+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(nh()|0)>>2]=84;f=-1}i=l;return f|0}function vc(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;i=d+5816|0;f=e[i>>1]|0|2<<g;b[i>>1]=f;if((g|0)>13){k=d+20|0;g=c[k>>2]|0;c[k>>2]=g+1;j=d+8|0;a[(c[j>>2]|0)+g>>0]=f;f=(e[i>>1]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[(c[j>>2]|0)+g>>0]=f;g=c[h>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;f=f&255;c[h>>2]=g;if((g|0)>9){j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;g=d+8|0;a[(c[g>>2]|0)+k>>0]=f;k=(e[i>>1]|0)>>>8&255;f=c[j>>2]|0;c[j>>2]=f+1;a[(c[g>>2]|0)+f>>0]=k;b[i>>1]=0;f=0;g=(c[h>>2]|0)+-9|0}else g=g+7|0;c[h>>2]=g;if((g|0)==16){g=d+20|0;k=c[g>>2]|0;c[g>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=f;d=(e[i>>1]|0)>>>8&255;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[j>>2]|0)+k>>0]=d;b[i>>1]=0;c[h>>2]=0;return}if((g|0)<=7)return;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[d+8>>2]|0)+k>>0]=f;b[i>>1]=(e[i>>1]|0)>>>8;c[h>>2]=(c[h>>2]|0)+-8;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32784|0;o=q+8|0;l=q;k=q+16|0;Va(c[a>>2]|0)|0;e=c[a+10292>>2]|0;f=(e|0)==-1;n=a+16|0;j=a+10296|0;m=a+8|0;g=f?0:e;e=f?0:((e|0)<0)<<31>>31;while(1){b=Pf(c[n>>2]|0,k,32768)|0;if((b|0)<=0)break;d=c[j>>2]|0;if((d|0)!=-1?(f=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0,r=C,h=((d|0)<0)<<31>>31,(r|0)>(h|0)|(r|0)==(h|0)&f>>>0>d>>>0):0){b=Ng(1,0,g|0,e|0)|0;b=Zg(b|0,C|0,d|0,h|0)|0}r=(Of(c[m>>2]|0,k,b)|0)==-1;f=c[j>>2]|0;if(!r){d=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;e=C;r=((f|0)<0)<<31>>31;if((f|0)==-1|((e|0)<(r|0)|(e|0)==(r|0)&d>>>0<f>>>0)){g=d;continue}else break}if((f|0)!=-1){p=9;break}r=Zg(b|0,((b|0)<0)<<31>>31|0,g|0,e|0)|0;g=r;e=C}if((p|0)==9)qf(14805,l);if((b|0)==-1)qf(14836,o);ig(c[m>>2]|0)|0;ig(c[a+12>>2]|0)|0;ig(c[n>>2]|0)|0;i=q;return 0}function xc(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=n;h=n+52|0;b=a+24|0;d=c[b>>2]|0;do if(!d){b=a+32|0;if(c[b>>2]|0){sd(b);break}if((ig(c[a+16>>2]|0)|0)<0){c[k>>2]=c[a+12>>2];rh(13295,k)}}else{if(!(c[a+20>>2]&2)){if(dg(d)|0){c[f>>2]=c[a+12>>2];rh(13264,f)}}else{fd(d)|0;if(dg(c[b>>2]|0)|0){c[e>>2]=c[a+12>>2];rh(13234,e)}}if((ge(c[b>>2]|0)|0)==-1){c[g>>2]=c[a+12>>2];rh(13295,g)}else{c[b>>2]=0;break}}while(0);c[a+16>>2]=-1;if((gb(0-(c[a+8>>2]|0)|0,h|0,0)|0)<0)yf(12917,j);d=c[h>>2]|0;b=d&127;if(((d&65535)+-1|0)>>>0<255){c[l>>2]=b;rh(13325,l)}if(b|0)za(13366,12570,435,13384);b=d>>>8&255;if(b|0?(c[a+20>>2]&4|0)==0:0){c[m>>2]=b;rh(13400,m)}i=n;return d>>>8&255|0}function zc(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+120|0;r=s+80|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((tb(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=fj(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=tb(b,d,o,q,r)|0;if(h){ib[c[b+36>>2]&7](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=tb(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)ej(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Ac(a){a=a|0;var d=0,f=0,g=0,h=0;if(!a){a=-2;return a|0}g=a+28|0;h=c[g>>2]|0;if(!h){a=-2;return a|0}if(!(c[a+32>>2]|0)){a=-2;return a|0}if(!(c[a+36>>2]|0)){a=-2;return a|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[h+20>>2]=0;c[h+16>>2]=c[h+8>>2];f=h+24|0;d=c[f>>2]|0;if((d|0)<0){d=0-d|0;c[f>>2]=d}c[h+4>>2]=d|0?42:113;if((d|0)==2)d=ac(0,0,0)|0;else d=Yb(0,0,0)|0;c[a+48>>2]=d;c[h+40>>2]=0;Hf(h);a=c[g>>2]|0;c[a+60>>2]=c[a+44>>2]<<1;h=c[a+76>>2]|0;g=c[a+68>>2]|0;b[g+(h+-1<<1)>>1]=0;se(g|0,0,(h<<1)+-2|0)|0;h=c[a+132>>2]|0;c[a+128>>2]=e[188+(h*12|0)+2>>1];c[a+140>>2]=e[188+(h*12|0)>>1];c[a+144>>2]=e[188+(h*12|0)+4>>1];c[a+124>>2]=e[188+(h*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+5812>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;a=0;return a|0}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;h=k+4|0;if(!b)d=eh(24456)|0;else{e=b;d=0;a:while(1){f=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break;b:do if(!(pi(e<<24>>24)|0)){switch(e<<24>>24){case 32:case 46:case 95:break b;default:{}}e=f;d=d+3|0;continue a}while(0);e=f;d=d+1|0}d=Sd(d+1|0)|0;g=h+1|0;f=b;e=d;c:while(1){b=f+1|0;f=a[f>>0]|0;if(!(f<<24>>24))break;d:do if(!(pi(f<<24>>24)|0))switch(f<<24>>24){case 46:case 95:break d;case 32:{a[e>>0]=43;f=b;e=e+1|0;continue c}default:{a[e>>0]=37;c[j>>2]=f&255;hg(h,4,12364,j)|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[g>>0]|0;f=b;e=e+3|0;continue c}}while(0);a[e>>0]=f;f=b;e=e+1|0}a[e>>0]=0}i=k;return d|0}function Cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+8|0;j=l;h=l+16|0;f=Tg(512)|0;c[h>>2]=f;ci(f,b);ci(f,14045);d=b+16|0;if(a[d>>0]|0){d=Bc(d)|0;ci(f,d);Di(d);d=b+2064|0;if(a[d>>0]|0){ci(f,14141);d=Bc(d)|0;ci(f,d);Di(d)}ci(f,14143)}ci(f,b+4112|0);if(!((Qe(b,14078)|0)==0?!(Qe(14113,b+6160|0)|0):0))e=7;do if((e|0)==7){if((Qe(b,14049)|0)==0?(Qe(14110,b+6160|0)|0)==0:0)break;d=b+6160|0;if((Qe(b,14066)|0)==0?(Qe(14145,d)|0)==0:0)break;ci(f,14141);ci(f,d)}while(0);ci(f,b+6176|0);d=c[b+10272>>2]|0;if((d|0)!=-1?(g=j,c[g>>2]=d,c[g+4>>2]=((d|0)<0)<<31>>31,vg(f,14149,j),g=c[b+10276>>2]|0,(g|0)!=-1):0){j=k;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;vg(f,14166,k)}k=rg(h)|0;i=l;return k|0}function Dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+16|0;l=n+8|0;k=n;j=n+20|0;g=b;h=0;while(1){c[j>>2]=0;b=(Jb(a,g,j)|0)==0;f=c[j>>2]|0;if(!(b|(f|0)!=0)){f=g;b=h;g=3;break}ig(a)|0;if((h|0)>0)Di(g);if(b){b=h;g=14;break}b=h+1|0;if((h|0)>4){g=8;break}if((Nf(19314,f)|0)==0?(Nf(19322,f)|0)==0:0){g=11;break}f=Zd(g,f)|0;c[j>>2]=f;a=Wb(f,0)|0;if((a|0)<0){g=13;break}g=f;h=b}if((g|0)==3){b=(b|0)>0;c[d>>2]=b?a:-1;c[e>>2]=b?f:0;b=1}else if((g|0)==8){c[k>>2]=f;Vg(15556,k);g=14}else if((g|0)==11){c[l>>2]=f;Vg(15610,l);g=14}else if((g|0)==13){c[m>>2]=f;Vg(15640,m);g=14}if((g|0)==14)if((b|0)>0){Di(f);b=0}else b=0;i=n;return b|0}function Ec(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+11|0;k=o+10|0;m=o+8|0;n=o;a:do if((g|0)==(h|0)){a[l>>0]=0;a[k>>0]=1;g=f+4|0;b[m>>1]=ih(c[g>>2]|0)|0;rf(j,k,1);rf(j,l,1);rf(j,m,2);while(1){g=c[g>>2]|0;if(!g)break;rf(j,g+12|0,4);rf(j,g+16|0,4);rf(j,g+20|0,4);rf(j,g+24|0,4);f=g+32|0;rf(j,f,8);h=g+40|0;f=Ng(c[h>>2]|0,c[h+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=n;c[h>>2]=f;c[h+4>>2]=C;rf(j,n,8)}g=e[m>>1]|0;while(1){if((g|0)>=(d|0))break;Sg(j,0,24);g=g+1|0}}else{k=g+1|0;g=f+4|0;while(1){g=c[g>>2]|0;if(!g)break a;Ec(d,g,k,h,j)}}while(0);i=o;return}function Fc(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|0)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?b:0)|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,l=0,m=0;l=i;i=i+96|0;h=l+32|0;k=l+24|0;j=l+16|0;g=l+8|0;e=l;m=l+64|0;f=l+40|0;c[m>>2]=a;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[e>>2]=1;c[e+4>>2]=m;e=Ah(pa(102,e|0)|0)|0;a:do if((e|0)<0){switch(c[(nh()|0)>>2]|0){case 93:case 22:break;default:break a}if(b&526336){c[f>>2]=a;c[f+4>>2]=b&-526337;c[f+8>>2]=d;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=1;c[g+4>>2]=f;e=Ah(pa(102,g|0)|0)|0;if((e|0)>=0){if(b&524288|0){c[j>>2]=1;bc(e,2,j)|0}if(b&2048){c[h>>2]=bc(e,3,k)|0|2048;bc(e,4,h)|0}}}}while(0);i=l;return e|0}function Hc(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;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[5945]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ah(eb(145,h|0)|0)|0}else{ua(2,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ah(eb(145,g|0)|0)|0;la(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Jc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+4|0;k=l;if(!e){h=ih(a)|0;c[j>>2]=h;c[k>>2]=Jh(h<<2)|0;rf(f,j,4);h=0;e=a;while(1){if(!e)break;c[(c[k>>2]|0)+(h<<2)>>2]=e;m=Xi(f)|0;a=e+40|0;c[a>>2]=m;c[a+4>>2]=((m|0)<0)<<31>>31;rf(f,e+4|0,4);rf(f,e+8|0,4);rf(f,e+12|0,4);rf(f,e+16|0,4);Qg(f,+g[e+20>>2]);Qg(f,+g[e+24>>2]);Qg(f,+g[e+28>>2]);Qg(f,+g[e+32>>2]);h=h+1|0;e=c[e>>2]|0}h=Xi(f)|0;e=((h|0)<0)<<31>>31;Ib(c[k>>2]|0,4,c[j>>2]|0,0,b,d,0,1,4,h,e,f);Gh(k)}else{h=_b(a,b,d,f)|0;e=C}C=e;i=l;return h|0}function Kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;b=h+8|0;f=h+4|0;d=Wb(a,0)|0;if((d|0)<0){c[e>>2]=a;Vg(15640,e);b=0}else{c[b>>2]=0;c[f>>2]=0;if((Nf(19314,a)|0)==0?(Nf(19322,a)|0)==0:0){e=0;g=7}else if(!(Dc(d,a,f,b)|0))b=0;else{e=c[b>>2]|0;g=(e|0)==0;a=g?a:e;d=g?d:c[f>>2]|0;g=7}if((g|0)==7){b=eh(a)|0;nd(a,b,Ed(a)|0);do if(!(zg(b,19338)|0)){if(zg(b,19342)|0){Di(b);g=12;break}f=(zg(b,19345)|0)==0;Di(b);if(f)b=Qf(a,1,d)|0;else g=12}else{Di(b);g=12}while(0);if((g|0)==12)b=kg(a,1,d)|0;if(e)Di(e)}}i=h;return b|0}function Lc(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;g=a+16|0;f=c[g>>2]|0;h=a+8|0;i=c[h>>2]|0;b=(b|0)==0?12:b;b=(b|0)>28?28:b;d=a+12|0;if((c[d>>2]|0)!=(b|0)){if((b+-1|0)>>>0>=28)za(16233,16285,388,16297);c[d>>2]=b;e=1<<b;c[g>>2]=e;b=a+4|0;c[b>>2]=e+-1;c[h>>2]=Jh(e<<2)|0;e=0;while(1){if((e|0)>=(f|0)){d=0;break}d=c[i+(e<<2)>>2]|0;while(1){if(!d)break;j=c[d>>2]|0;k=(c[h>>2]|0)+((c[b>>2]&c[d+12>>2])<<2)|0;c[d>>2]=c[k>>2];c[k>>2]=d;d=j}e=e+1|0}while(1){if((d|0)>=(c[g>>2]|0))break;b=(c[h>>2]|0)+(d<<2)|0;k=c[b>>2]|0;if(k|0?c[k>>2]|0:0)ag(b);d=d+1|0}Di(i);k=a+36|0;c[k>>2]=(c[k>>2]|0)+1}return}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){kb[c[a+36>>2]&3](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;kb[c[b>>2]&3](c[e>>2]|0,d);d=b;b=c[f>>2]|0}kb[c[d>>2]&3](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+4|0;l=Sd(36)|0;c[l+8>>2]=-1;c[l+16>>2]=-1;c[l+20>>2]=b;e=Tg(512)|0;c[j>>2]=e;g=0;while(1){f=a+(g<<2)|0;if(!(c[f>>2]|0))break;if((g|0)>0){ci(e,12498);h=0}else h=0;while(1){d=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(!d)break;if((h|0)>0){ci(e,14072);d=c[(c[f>>2]|0)+(h<<2)>>2]|0}ci(e,d);h=h+1|0}g=g+1|0}c[l+12>>2]=rg(j)|0;if(!(c[a>>2]|0))rh(12502,k);if(!(b&8))e=0;else{Cg(l,me(72,l)|0);e=0}while(1){d=c[a+(e<<2)>>2]|0;if(!d)break;Cg(l,me(d,l)|0);e=e+1|0}i=m;return l|0}function Oc(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(!(Ne(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=ib[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((ib[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Xd(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 Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(Qc(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Ed(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=b+20|0;h=c[k>>2]|0;if(!h)l=Sd(16)|0;else l=Ze(h,16)|0;j=d;h=0;while(1){i=a[j>>0]|0;if(!(i<<24>>24))break;j=j+1|0;h=(i<<24>>24)+(h*9|0)|0}c[l+12>>2]=h;i=c[b+4>>2]&h;h=c[k>>2]|0;if(!h)c[l+4>>2]=di(d,e)|0;else{k=Ze(h,e+1|0)|0;c[l+4>>2]=k;Xd(k|0,d|0,e|0)|0}c[l+8>>2]=f;f=(c[b+8>>2]|0)+(i<<2)|0;c[l>>2]=c[f>>2];c[f>>2]=l;f=b+24|0;h=c[f>>2]|0;c[f>>2]=h+1;if(c[b+28>>2]|0?(m=c[b+16>>2]|0,(h|0)>=(~~(+(m|0)*+g[b+32>>2])|0)):0)Lc(b,dh(m)|0);return l|0}function Sc(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+80|0;b=e;d=e+8|0;a=kj()|0;$i(23700)|0;if((c[5932]|0)!=0&(a|0)==(c[5933]|0)){Of(2,13424,61)|0;Ma(1)}Zi(23700)|0;$i(23736)|0;$i(23700)|0;c[5933]=a;c[5932]=1;Zi(23700)|0;if(!(c[5941]|0))c[5941]=ce(0,1)|0;f=b;c[f>>2]=a;c[f+4>>2]=0;hg(d,64,14166,b)|0;a=Be(c[5941]|0,d)|0;if(!a){a=Sd(144)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+88>>2]=0;c[a+8>>2]=1;c[a+140>>2]=0;c[a+92>>2]=1;a=Sh(c[5941]|0,d,a)|0}$i(23700)|0;c[5932]=0;Zi(23700)|0;Zi(23736)|0;i=e;return c[a+8>>2]|0}function Tc(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;m=i;i=i+16|0;l=m;c[l>>2]=0;k=0;h=24456;j=0;while(1){if(!a)break;g=c[a+4>>2]|0;if(!(Qe(g,h)|0))g=h;else{$g(l,g);h=Ed(g)|0;k=k+1|0;j=(h|0)>(j|0)?h:j}c[a+36>>2]=k+-1;h=g;a=c[a>>2]|0}ag(l);g=Jh(k<<4)|0;h=0;a=l;while(1){a=c[a>>2]|0;if((h|0)>=(k|0))break;n=c[a+4>>2]|0;c[g+(h<<4)+4>>2]=n;c[g+(h<<4)+8>>2]=h;c[g+(h<<4)+12>>2]=oi(b,n)|0;h=h+1|0}Dg(l);c[d>>2]=k;c[e>>2]=g;c[f>>2]=j;i=m;return}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Vc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=tf(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Wc(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;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=a+(0-(c[f+(m<<2)>>2]|0))|0;if((pb[d&15](k,j)|0)>-1?(pb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((pb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);td(b,o,e);i=p;return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=9704;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(nh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=zc(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;do if(Qe(b,19426)|0){if(!(Qe(b,15815)|0)){f=c[2287]|0;break}e=Ld(b,d)|0;if(!e){a:do if(!d)e=24456;else{e=a[d>>0]|0;switch(e<<24>>24){case 114:{e=15843;break a}case 119:{e=15833;break a}default:{e=e<<24>>24==97?15822:24456;break a}}}while(0);d=Yd(c[(nh()|0)>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=d;rh(15852,g)}else f=e}else f=c[2346]|0;while(0);i=h;return f|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;f=g;e=g+48|0;b=g+16|0;d=g+8|0;do if(!(Ee(a)|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+4>>2]=2;b=ab(a|0,0,b|0,d|0)|0;if(!b){f=c[d>>2]|0;b=Qi(c[(c[f+20>>2]|0)+4>>2]|0)|0;c[e>>2]=b;Wi(f);break}else{b=Ua(b|0)|0;c[f>>2]=a;c[f+4>>2]=b;Vg(15729,f);b=0;break}}else{Pe(a,e)|0;b=c[e>>2]|0}while(0);i=g;return b|0}function _c(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((c+2|0)>>>0)/3|0;e=(c>>>0)%3|0;f=l<<2;g=Sd(f|1)|0;h=(e|0)!=0;i=(e|0)==1;j=1;k=0;c=b;while(1){if(j>>>0>l>>>0)break;b=((d[c>>0]|0)<<8|(d[c+1>>0]|0))<<8;b=h&(j|0)==(l|0)?(i?b&16711680:b):b|(d[c+2>>0]|0);a[g+k>>0]=a[20002+(b>>>18&63)>>0]|0;a[g+(k|1)>>0]=a[20002+(b>>>12&63)>>0]|0;a[g+(k|2)>>0]=a[20002+(b>>>6&63)>>0]|0;a[g+(k|3)>>0]=a[20002+(b&63)>>0]|0;j=j+1|0;k=k+4|0;c=c+3|0}a[g+f>>0]=0;if(e|0?(a[g+(f+-1)>>0]=61,i):0)a[g+(f+-2)>>0]=61;return g|0}function $c(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=(e|0)==0;k=f+-1>>3;while(1){g=c&7;h=c>>3;if(!((c|0)<(f|0)&(g|0)!=0)){j=5;break}if(((a[19198+g>>0]&a[b+h>>0])<<24>>24!=0|0)==(e|0)){f=c;break}c=c+1|0}a:do if((j|0)==5){if((h|0)<(k|0)){g=i?255:0;c=h;while(1){if((c|0)>=(k|0))break;if((d[b+c>>0]|0|0)!=(g|0))break;c=c+1|0}c=c<<3}while(1){if((c|0)>=(f|0))break a;if(((a[19198+(c&7)>>0]&a[b+(c>>3)>>0])<<24>>24!=0|0)==(e|0)){f=c;break a}c=c+1|0}}while(0);return f|0}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+48|0;j=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a=a+4|0;if((Ca(13,(c[(c[a>>2]|0)+20>>2]&32|0?0:1)|0)|0)==(-1|0))yf(12643,k);l=yh()|0;if(fg(l,c[(c[a>>2]|0)+8>>2]|0)|0){m=yh()|0;l=c[(c[a>>2]|0)+8>>2]|0;c[f>>2]=m;c[f+4>>2]=l;yf(12666,f)}if(b|0?(Df(b,0)|0)<0:0)yf(12693,g);if((d|0)!=1?(Df(d,1)|0)<0:0)yf(12713,h);if((e|0)!=2?(Df(e,2)|0)<0:0)yf(12734,j);Eg();i=k;return}function bd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(ui(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}f=(d<<24>>24)+-48|0;if(f>>>0<10){d=0;c=0;do{c=cg(c|0,d|0,10,0)|0;b=b+1|0;c=Ng(c|0,C|0,f|0,((f|0)<0)<<31>>31|0)|0;d=C;f=(a[b>>0]|0)+-48|0}while(f>>>0<10);b=d}else{c=0;b=0}e=(e|0)!=0;f=Ng(0,0,c|0,b|0)|0;C=e?b:C;return (e?c:f)|0}function cd(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;k=i;i=i+272|0;j=k+8|0;h=k;f=k+16|0;g=k+12|0;a=Tb(a,b)|0;if((a|0)<0)a=-1;else{if((dd(a,1e6)|0)>0)kh(a,24456,0,0)|0;c[g>>2]=0;c[h>>2]=d;hg(f,256,14276,h)|0;do if(kh(a,f,0,g)|0){if((c[g>>2]|0)==331?(c[j>>2]=e,hg(f,256,14286,j)|0,(kh(a,f,0,0)|0)==0):0){ig(a)|0;a=-1;break}if(!(kh(a,14296,0,0)|0)){ig(a)|0;a=-1}}else{ig(a)|0;a=-1}while(0)}i=k;return a|0}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;m=n;l=n+136|0;k=n+8|0;g=1<<(a&31);h=k+(a>>>5<<2)|0;d=(b|0)>999999;j=l+4|0;f=a+1|0;e=d?(b|0)/1e6|0:0;d=d?(b|0)%1e6|0:b;while(1){c[l>>2]=e;c[j>>2]=d;a=k;b=32;while(1){if(!b)break;c[a>>2]=0;a=a+4|0;b=b+-1|0}c[h>>2]=c[h>>2]|g;a=jf(f,k,0,0,l)|0;if((a|0)>=0)break;a=c[(nh()|0)>>2]|0;if((a|0)==4)continue;c[m>>2]=Yd(a)|0;Vg(14171,m)}i=n;return a|0}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;c[h>>2]=0;do if(b){c[g>>2]=0;e=Ke(b,0,j)|0;if((e|0)<=-1){c[h>>2]=0;e=0;break}f=Sd(5)|0;c[g>>2]=f;if((Pf(e,f,4)|0)<4)Gh(g);else a[f+4>>0]=0;ig(e)|0;e=c[g>>2]|0;c[h>>2]=e;if((e|0)!=0?(g=Od(e)|0,Gh(h),(g|0)!=0):0){h=Tf(pe(b)|0,33,b,0)|0;e=Qf(b,d,Oi(h)|0)|0;c[e+56>>2]=h}else e=0}else e=0;while(0);i=j;return e|0}function fd(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Nd(a)|0;break}d=(fj(a)|0)==0;b=Nd(a)|0;if(!d)ej(a)}else{if(!(c[2316]|0))b=0;else b=fd(c[2316]|0)|0;Ya(23808);a=c[5951]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=fj(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Nd(a)|0|b;if(d|0)ej(a);a=c[a+56>>2]|0}while((a|0)!=0);Sa(23808)}while(0);return b|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;d=0;e=f;while(1){if(!e){g=d;break}d=d+1|0;e=c[e>>2]|0}if((g|0)>1){h=Vd(g<<2)|0;d=f;e=0;while(1){if(!d)break;c[h+(e<<2)>>2]=d;d=c[d>>2]|0;e=e+1|0}Sb(h,g,4,b);d=0;e=0;while(1){if((d|0)==(g|0))break;b=h+(d<<2)|0;c[c[b>>2]>>2]=e;d=d+1|0;e=c[b>>2]|0}Di(h);d=0;while(1){if(!e)break;g=c[e>>2]|0;c[e>>2]=d;h=e;e=g;d=h}c[a>>2]=d}return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;h=o;m=o+16|0;n=o+12|0;l=(e|0)==0;if(l)g=2;else g=wf(e,0)|0;c[n>>2]=g;Kf(b);e=b>>>4&1;f=(d|0)==0;if(!(b&1))if(f)j=1;else j=wf(d,e)|0;else if(!f){e=Ke(d,0,h)|0;if((e|0)<0){c[k>>2]=d;yf(13203,k)}else j=e}else j=0;c[m>>2]=j;e=Xe(a,b,j,g)|0;xf(m);if(!l)xf(n);i=o;return e|0}function id(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[(nh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+288|0;b=k+16|0;h=k+8|0;g=k;a=k+24|0;e=k+20|0;f=yh()|0;c[g>>2]=f;hg(a,256,18960,g)|0;d=He(a,1)|0;c[g>>2]=d;if(!d){j=c[2317]|0;c[b>>2]=a;ug(j,18997,b)|0;a=j}else{while(1){if(!(Gf(d,e)|0))break;a=c[e>>2]|0;if(Db(a,18976)|0){j=5;break}}if((j|0)==5){j=c[2317]|0;c[h>>2]=f;c[h+4>>2]=a;ug(j,18983,h)|0}sd(g);a=c[2317]|0}fd(a)|0;i=k;return}function kd(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;f=h;d=h+2|0;e=2;g=0;c=0;while(1){if((g|0)>=(e|0)){k=e<<1;j=Vd(k)|0;Xd(j|0,d|0,e|0)|0;Di(c);d=j;e=k;c=j}k=xb(b,f,1,0)|0;if((k|0)==0&(C|0)==0){e=5;break}l=a[f>>0]|0;j=d+g|0;a[j>>0]=l;k=(a[f>>0]|0)==10;a[j>>0]=k?0:l;if(k){e=7;break}else g=g+1|0}if((e|0)==5)c=0;else if((e|0)==7){l=eh(d)|0;Di(c);c=l}i=h;return c|0}function ld(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+5820|0;g=c[f>>2]|0;if((g|0)==16){g=d+5816|0;k=b[g>>1]&255;j=d+20|0;i=c[j>>2]|0;c[j>>2]=i+1;h=d+8|0;a[(c[h>>2]|0)+i>>0]=k;i=(e[g>>1]|0)>>>8&255;d=c[j>>2]|0;c[j>>2]=d+1;a[(c[h>>2]|0)+d>>0]=i;b[g>>1]=0;c[f>>2]=0;return}if((g|0)<=7)return;k=d+5816|0;i=b[k>>1]&255;h=d+20|0;j=c[h>>2]|0;c[h>>2]=j+1;a[(c[d+8>>2]|0)+j>>0]=i;b[k>>1]=(e[k>>1]|0)>>>8;c[f>>2]=(c[f>>2]|0)+-8;return}function md(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;do if(b){g=c[b>>2]|0;c[f>>2]=g;if(!g){g=a+4|0;e=c[a>>2]|0;d=c[e+16>>2]|0;e=e+8|0;a=c[g>>2]|0;while(1){a=a+1|0;if((a|0)>=(d|0)){d=5;break}if(c[(c[e>>2]|0)+(a<<2)>>2]|0){d=7;break}}if((d|0)==5){c[g>>2]=a;break}else if((d|0)==7){c[g>>2]=a;c[f>>2]=c[(c[e>>2]|0)+(a<<2)>>2];break}}}else b=0;while(0);return b|0}function nd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;switch(g<<24>>24){case 43:{a[d>>0]=32;b=f;f=h;break}case 37:{c[k>>2]=j;if((xg(f,12360,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0;break}default:{a[d>>0]=g;b=f;f=h}}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function od(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;se(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){Oc(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;Oc(h,f,a)|0}while(0);i=j;return}function pd(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(!(Ne(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<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((ib[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function qd(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;m=i;i=i+16|0;k=m;h=a+8|0;l=a+12|0;j=a+4|0;while(1){c[k>>2]=c[d>>2];f=c[h>>2]|0;e=c[l>>2]|0;g=f-e|0;if((g|0)<1){wg(a,f<<1);f=c[l>>2]|0;e=f;f=(c[h>>2]|0)-f|0}else f=g;e=Xc((c[j>>2]|0)+e|0,f,b,k)|0;if((e|0)>-1&(e|0)<(f|0))break;wg(a,c[h>>2]<<1)}c[l>>2]=(c[l>>2]|0)+e;i=m;return}function rd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(fj(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=pd(d,b)|0;ej(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=pd(d,b)|0}while(0);return e|0}function sd(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b>>2]|0;if(f|0){d=f+56|0;do if(!(c[d>>2]|0)){d=f+8|0;e=c[d>>2]|0;if((e|0)>0?(e|0)!=(uh(c[2346]|0)|0):0){ig(c[d>>2]|0)|0;Di(c[f+52>>2]|0);break}d=f+72|0;if(c[d>>2]|0)Ob(d)}else Wg(d)|0;while(0);d=c[f+100>>2]|0;if(d|0)jb[d&3](f);Di(c[f+4>>2]|0);if(a[f+64>>0]|0?(g=f+68|0,c[g>>2]|0):0)Hd(g);Gh(b)}return}function td(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+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0>256?256:a;Xd(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;Xd(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function ud(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=Ng(h^a|0,g^b|0,h|0,g|0)|0;b=C;Rb(a,b,Ng(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=Ng(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function vd(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+32|0;g=h+8|0;f=h;e=d;while(1){if(!e){d=8;break}d=Pf(a,b,e)|0;if((d|0)<0){d=4;break}if(!d){d=6;break}e=e-d|0;b=b+d|0}if((d|0)==4){h=f;c[h>>2]=e;c[h+4>>2]=0;yf(15912,f)}else if((d|0)==6){h=g;c[h>>2]=e;c[h+4>>2]=0;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;rh(15937,g)}else if((d|0)==8){i=h;return}}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(a[b>>0]|0))b=0;else{j=(e|0)==0;k=(e|0)!=0;g=b;b=0;b:while(1){if(!(j|(b|0)<(f|0)))break a;if(k)c[e+(b<<2)>>2]=g;while(1){h=g+1|0;i=a[g>>0]|0;if(!(i<<24>>24))break b;if(i<<24>>24==d<<24>>24)break;else g=h}if(k)a[g>>0]=0;g=h;b=b+1|0}b=b+1|0}while(0);return b|0}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)!=0;h=i^1;f=b;b=0;a:while(1){if(!((b|0)<(e|0)|h))break;while(1)if(!(ui(a[f>>0]|0)|0))break;else f=f+1|0;if(!(a[f>>0]|0))break;if(i)c[d+(b<<2)>>2]=f;b=b+1|0;while(1){g=a[f>>0]|0;if(!(g<<24>>24))break a;if(ui(g<<24>>24)|0)break;f=f+1|0}if(!(a[f>>0]|0))break;if(i)a[f>>0]=0;f=f+1|0}return b|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ed(b)|0;h=Ed(c)|0;d=0;e=Db(a,b)|0;while(1){if(!e)break;d=d+1|0;e=Db(e+g|0,b)|0}f=Ed(a)|0;e=f+(_(d,h-g|0)|0)|0;f=Sd((e>>>0>f>>>0?e:f)+1|0)|0;e=a;a=Db(a,b)|0;d=f;while(1){if(!a)break;xi(d,e)|0;j=a+g|0;i=d+(a-e)|0;xi(i,c)|0;e=j;a=Db(j,b)|0;d=i+h|0}xi(d,e)|0;return f|0}function zd(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+64|0;f=g;c[f>>2]=d;c[f+4>>2]=e;c[f+12>>2]=a;c[f+16>>2]=c[b>>2];c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a=Bh(f,-1,20067,56)|0;if(a|0){f=a;i=g;return f|0}a=rb(f,4)|0;if((a|0)==1){c[b>>2]=c[f+20>>2];f=Mc(f)|0;i=g;return f|0}else{Mc(f)|0;f=(a|0)==0?-5:a;i=g;return f|0}return 0}function Ad(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Bg(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Bd(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(ui(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (e|0?b:0-b|0)|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(ib[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((ib[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Dd(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;l=i;i=i+16|0;k=l;j=l+4|0;h=0;while(1){if((h|0)>=(e|0))break;f=b+1|0;g=a[b>>0]|0;if(g<<24>>24==37){c[k>>2]=j;if((xg(f,12360,k)|0)==1)f=c[j>>2]|0;else{c[j>>2]=63;f=63}a[d>>0]=f;b=b+3|0;f=h+2|0}else{a[d>>0]=g;b=f;f=h}d=d+1|0;h=f+1|0}a[d>>0]=0;i=l;return}function Ed(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 Fd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Fg(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Fd(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 Gd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;if(a[b+64>>0]|0){e=b+68|0;if(!(Be(c[e>>2]|0,d)|0)){Sh(c[e>>2]|0,d,0)|0;f=4}}else f=4;a:do if((f|0)==4){f=(d|0)==0;e=b+60|0;while(1){e=c[e>>2]|0;if(!e)break a;if(!f?(g=c[e+4>>2]|0,g|0):0){c[h>>2]=d;ug(g,19454,h)|0}}}while(0);i=j;return}function Hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(d|0){b=d+20|0;a:do if(!(c[b>>2]|0)){f=d+16|0;b=d+8|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break a;d=c[(c[b>>2]|0)+(e<<2)>>2]|0;while(1){if(!d)break;g=c[d>>2]|0;si(d);d=g}e=e+1|0}}else{ph(b);b=d+8|0}while(0);Di(c[b>>2]|0);Gh(a)}return}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=h;c[d>>2]=0;d=bc(a,3,d)|0;if((d|0)>=0){c[f>>2]=(b|0)==0?d&-2049:d|2048;if((bc(a,4,f)|0)<0){c[g>>2]=Yd(c[(nh()|0)>>2]|0)|0;Vg(13730,g);d=-1}else d=0}else{c[e>>2]=Yd(c[(nh()|0)>>2]|0)|0;Vg(13699,e);d=-1}i=h;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;Xg(e,b,16);c[2]=qe(12294,c[2]|0)|0;c[3]=qe(12304,c[3]|0)|0;c[5921]=Ji(12317)|0;c[5922]=(Ji(12322)|0)==0&1;c[5923]=Ji(12326)|0;c[5924]=Ji(12345)|0;if((c[e>>2]|0)!=4)yg();Kg(c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0);if((gj()|0)>1)jd();i=d;return 0}function Kd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if((d|0)>=1){f=c+-1+d|0;d=c>>3;e=f>>3;f=f&7;c=a[19206+(c&7)>>0]|0;if((d|0)==(e|0)){b=b+d|0;a[b>>0]=a[b>>0]|a[19214+f>>0]&c;break}g=b+d|0;a[g>>0]=a[g>>0]|c;while(1){d=d+1|0;if((d|0)>=(e|0))break;a[b+d>>0]=-1}g=b+e|0;a[g>>0]=a[g>>0]|a[19214+f>>0]}while(0);return}function Ld(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Fc(23398,a[d>>0]|0,4)|0){h=df(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Ah(_a(5,e|0)|0)|0;if((e|0)>=0){b=nc(e,d)|0;if(!b){c[f>>2]=e;Ka(6,f|0)|0;b=0}}else b=0}else{c[(nh()|0)>>2]=22;b=0}i=g;return b|0}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+16|0;d=f;if(!((b|0)!=0&1073741824>b>>>0)){g=d;c[g>>2]=b;c[g+4>>2]=0;g=d+8|0;c[g>>2]=1073741824;c[g+4>>2]=0;rh(16665,d)}d=Ai(a,b)|0;if(!d){g=c[(nh()|0)>>2]|0;f=e;c[f>>2]=b;c[f+4>>2]=0;c[e+8>>2]=g;rh(16729,e)}else{i=f;return d|0}return 0}function Nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(ib[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)ib[c[a+40>>2]&7](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Od(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;d=f;b=f+4|0;if(!(Nf(19274,a)|0))if(!(Nf(19277,a)|0))if(!(Nf(19281,a)|0))if(!(Nf(19284,a)|0))a=0;else{a=19289;e=5}else{a=19293;e=5}else{a=19297;e=5}else{a=19299;e=5}if((e|0)==5){c[d>>2]=a;hg(b,20,19302,d)|0;a=eh(b)|0}i=f;return a|0}function Pd(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=Ng(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return Ng((Rb(h,g,Ng(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;zf(h,0);e=+sb(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=j;return +e}function Rd(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=Rf(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Kh(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}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 Sd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if((a+-1|0)>>>0>499999999){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=5e8;c[f+4>>2]=0;rh(16801,b)}b=Ui(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(16854,d)}else{se(b|0,0,a|0)|0;i=e;return b|0}return 0}function Td(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=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)ib[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Ud(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 1:{a=19148;break}case 2:{a=19127;break}case -1:{a=19116;break}case -2:{a=19100;break}case -3:{a=19100;break}case -4:{a=19085;break}case -5:{a=19070;break}case -6:{a=19051;break}case 0:{a=0;break}default:{c[b>>2]=a;hg(24328,128,19032,b)|0;a=24328}}i=d;return a|0}function Vd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;d=e+16|0;b=e;if(!((a|0)!=0&1073741824>a>>>0)){f=b;c[f>>2]=a;c[f+4>>2]=0;f=b+8|0;c[f>>2]=1073741824;c[f+4>>2]=0;rh(16541,b)}b=Ui(a)|0;if(!b){f=c[(nh()|0)>>2]|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[d+8>>2]=f;rh(16599,d)}else{i=e;return b|0}return 0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=qb(b)|0;return a|0}if(b>>>0>4294967231){c[(nh()|0)>>2]=12;a=0;return a|0}d=Lb(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=qb(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;Xd(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;yb(a);a=d;return a|0}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ga(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 Yd(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21466+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21554;e=5;break}}if((e|0)==2)if(!c)b=21554;else{b=21554;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 Zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+20560|0;g=h+10280|0;f=h;$b(b,g);$b(d,f);d=c[g+10272>>2]|0;if((d|0)!=-1){c[f+10272>>2]=d;c[f+10276>>2]=c[g+10276>>2]}d=g+16|0;if(a[d>>0]|0?(e=f+16|0,(a[e>>0]|0)==0):0){cf(e,2048,d);cf(f+2064|0,2048,g+2064|0)}g=Cc(f)|0;i=h;return g|0}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h;d=h+12|0;while(1){if(!(Gf(b,d)|0))break;if((Nf(19643,c[d>>2]|0)|0)==0?(Nf(19651,c[d>>2]|0)|0)==0:0){g=5;break}c[f>>2]=c[d>>2];Ig(2,19694,f)}if((g|0)==5){c[e>>2]=c[d>>2];Ig(2,19657,e);a[b+48>>0]=1}i=h;return}function $d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0?(f=b+44|0,(c[f>>2]|0)==0):0){c[f>>2]=1;b=d+e|0;while(1){if(d>>>0>=b>>>0)break a;e=a[d>>0]|0;if(e<<24>>24==13)break;if(e<<24>>24==10)break a;else d=d+1|0}c[f>>2]=3;e=d+1|0;if(e>>>0<b>>>0?(a[e>>0]|0)==10:0)c[f>>2]=2}while(0);return}function ae(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;l=i;i=i+32|0;k=l;j=l+8|0;h=b;g=0;while(1){f=a[h>>0]|0;if((f+-48&255)>=10)break;h=h+1|0;g=(g*10|0)+-48+(f<<24>>24)|0}if(!((h|0)==(b|0)|f<<24>>24!=0)){i=l;return g|0}if(!d){c[k>>2]=b;rh(15657,k)}else{c[j>>2]=e;Ih(d,j)}return 0}function be(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;m=o+4|0;l=ve(b)|0;b=lg(0)|0;c[m>>2]=b;b=vb(a,f,l,e,b)|0;if(!b){c[n>>2]=a;rh(18893,n)}else{zb(b,l,d,e,g,h,j,k);ph(m);i=o;return}}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sd(40)|0;d=(a|0)==0?12:a;if((d+-1|0)>>>0>=28)za(16233,16285,357,16340);c[f+12>>2]=d;a=1<<d;e=f+16|0;c[e>>2]=a;if(b){c[f+20>>2]=lg((d|0)<8?256:1<<((d|0)<16?d:16))|0;a=c[e>>2]|0}c[f+4>>2]=a+-1;c[f+8>>2]=Jh(a<<2)|0;c[f+28>>2]=1;g[f+32>>2]=1.0;return f|0}function de(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;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;zf(j,0);e=Eb(j,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;i=i+16|0;e=f;c[e>>2]=0;while(1){if(!a)break;h=c[a+4>>2]|0;gc(h,c[b+(h<<4)+12>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,+g[a+20>>2],+g[a+24>>2],+g[a+28>>2],+g[a+32>>2],d,e);a=c[a>>2]|0}ag(e);i=f;return c[e>>2]|0}function fe(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;l=i;i=i+288|0;k=l+8|0;j=l;h=l+24|0;g=l+16|0;f=b+16|0;if(a[f>>0]|0){c[g>>2]=0;c[j>>2]=f;c[j+4>>2]=b+2064;hg(h,256,14347,j)|0;j=_c(h,Ed(h)|0)|0;c[g>>2]=j;c[k>>2]=d;c[k+4>>2]=j;vg(e,14353,k);Gh(g)}i=l;return}function ge(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ya(23808);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[5951]|0)==(a|0))c[5951]=b;Sa(23808)}b=fd(a)|0;b=mb[c[a+12>>2]&3](a)|0|b;d=c[a+92>>2]|0;if(d|0)yb(d);if(!e)yb(a);return b|0}function he(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=ff(a,b,d)|0;if((e|0)>=0){i=f;return e|0}f=((b|0)<0)<<31>>31;if(d)if((d|0)==1)e=16114;else e=(d|0)==2?16073:16082;else e=16105;c[g>>2]=a;a=g+8|0;c[a>>2]=b;c[a+4>>2]=f;c[g+16>>2]=e;c[g+20>>2]=d;yf(16123,g);return 0}function ie(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[2287]|0;if((c[f+76>>2]|0)>-1)g=fj(f)|0;else g=0;do if((mi(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=(pd(f,10)|0)<0}while(0);if(g|0)ej(f);return d<<31>>31|0}function je(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;if(g|0){i=c[g>>2]|0;while(1){if(!i)break;h=c[i>>2]|0;d=i+8|0;f=0;while(1){b=c[d>>2]|0;e=c[b+(f<<2)>>2]|0;if(!e)break;Di(e);f=f+1|0}Di(b);Di(i);i=h}Gh(g+12|0);Gh(g+28|0);Gh(a)}return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;j=h+16|0;d=c[d+(e<<2)>>2]|0;f=+Bi(d,j);if(a[d>>0]|0?(a[c[j>>2]>>0]|0)==0:0){i=h;return +f}h=c[b+28>>2]|0;j=c[b+4>>2]|0;c[g>>2]=e+1;c[g+4>>2]=h;c[g+8>>2]=j;c[g+12>>2]=d;rh(19595,g);return +(0.0)}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g;d=c[d+(e<<2)>>2]|0;h=a[d>>0]|0;if(h<<24>>24!=45?((h<<24>>24)+-48|0)>>>0>=10:0){j=c[b+28>>2]|0;h=c[b+4>>2]|0;c[f>>2]=e+1;c[f+4>>2]=j;c[f+8>>2]=h;c[f+12>>2]=d;rh(19547,f)}j=Bd(d)|0;i=g;return j|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sd(24)|0;c[f+4>>2]=b;b=0;while(1)if(!(c[a+(b<<2)>>2]|0))break;else b=b+1|0;d=Sd((b<<2)+4|0)|0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=eh(c[a+(e<<2)>>2]|0)|0;e=e+1|0}c[d+(b<<2)>>2]=0;c[f+8>>2]=d;c[f+16>>2]=0;return f|0}function ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=(e|0)!=0;h=i^1;g=b;b=0;while(1){if(!((b|0)<(f|0)|h))break;g=g+(Ic(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)c[e+(b<<2)>>2]=g;b=b+1|0;g=g+(Pc(g,d)|0)|0;if(!(a[g>>0]|0))break;if(i)a[g>>0]=0;g=g+1|0}return b|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){d=(b|0)==(c[2287]|0);if((b|0)==(c[2346]|0)|d)if(d){fd(b)|0;b=1}else b=1;else if(!(ge(b)|0))b=1;else{qf(16168,e);b=0}c[a>>2]=0}else b=1;i=f;return b|0}function pe(a){a=a|0;var b=0;b=eh(a)|0;if(!(((Nf(19314,a)|0)==0?(Nf(19322,a)|0)==0:0)?!(Nf(19331,a)|0):0))nd(a,b,Ed(a)|0);if(!(zg(b,19338)|0))if(!(zg(b,19342)|0))if(!(zg(b,19345)|0)){a=(zg(b,19350)|0)==0;a=a?0:140}else a=176;else a=164;else a=152;Di(b);return a|0}function qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=j+8|0;f=gg(b)|0;do if((f|0)!=0?(Qe(f,17428)|0)!=0:0){d=Nh(f,g,10)|0;if(a[f>>0]|0?(a[c[g>>2]>>0]|0)==0:0){e=d;break}c[h>>2]=b;c[h+4>>2]=f;rh(17151,h)}else e=d;while(0);i=j;return e|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[a+4>>2]|0;b=(d>>>0<b>>>0?b:d)+16|0;d=Jh(b)|0;if(!d){f=e;c[f>>2]=b;c[f+4>>2]=0;rh(17549,e)}else{c[d+4>>2]=d+16;c[d+8>>2]=d+b;c[d>>2]=c[a>>2];c[a>>2]=d;i=f;return d|0}return 0}function se(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 te(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f;h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));b[f>>1]=2;b[f+2>>1]=wi(e&65535)|0;if(d){h=Ri(Zc(d)|0)|0;c[f+4>>2]=h;if(!h)f=0;else i=4}else{c[f+4>>2]=0;i=4}if((i|0)==4)f=1;return f|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[d>>2]=-1;c[e>>2]=-1;g=ii(b,59)|0;if((g|0?Nf(14054,g)|0:0)?(i=(wh(g,61)|0)+1|0,h=wh(i,45)|0,h|0):0){b=h+1|0;if(f|0)a[g>>0]=0;f=bd(i)|0;c[d>>2]=f;if(a[b>>0]|0){f=bd(b)|0;c[e>>2]=f}}return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;d=ce(0,1)|0;b=qh(a)|0;c[e>>2]=b;a=f+4|0;while(1){if(!(_f(b,f,2)|0))break;b=c[f>>2]|0;_h(d,b,hh(c[a>>2]|0)|0)|0;b=c[e>>2]|0}sd(e);i=g;return d|0}function we(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 xe(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=14;c[h+4>>2]=j;e=Ah(pa(102,h|0)|0)|0;i=g;return e|0}function ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=Tg(512)|0;c[g>>2]=e;f=0;while(1){d=a+(f<<2)|0;b=c[d>>2]|0;if(!b)break;if((f|0)>0){ci(e,14072);b=c[d>>2]|0}ci(e,b);f=f+1|0}g=rg(g)|0;i=h;return g|0}
+function ze(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;g=i;i=i+32|0;h=g;j=g+8|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=0;c[h>>2]=15;c[h+4>>2]=j;e=Ah(pa(102,h|0)|0)|0;i=g;return e|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(Qe(a,14049)|0)if(!(Qe(a,14066)|0)){d=Rg(a+4112|0,Bd(a+6160|0)|0)|0;break}else{c[e>>2]=b;rh(14305,e)}else d=Tb(a+4112|0,Bd(a+6160|0)|0)|0;while(0);i=f;return d|0}function Be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d;e=0;while(1){f=a[g>>0]|0;if(!(f<<24>>24))break;g=g+1|0;e=(f<<24>>24)+(e*9|0)|0}e=(c[b+8>>2]|0)+((c[b+4>>2]&e)<<2)|0;do{e=c[e>>2]|0;if(!e){e=0;break}}while((Qe(c[e+4>>2]|0,d)|0)!=0);return e|0}function Ce(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((Ah(cb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function De(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;if(((a[e>>0]|0)+-48|0)>>>0<10){f=hh(e)|0;i=g;return f|0}else{h=c[b+28>>2]|0;g=c[b+4>>2]|0;c[f>>2]=d;c[f+4>>2]=e;c[f+8>>2]=h;c[f+12>>2]=g;rh(17981,f)}return 0}function Ee(b){b=b|0;var c=0;a:do if(((a[b>>0]|0)+-48|0)>>>0<10){c=0;while(1){if((c|0)>=3){b=1;break a}b=wh(b,46)|0;if(!b){b=0;break a}b=b+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10){b=0;break}else c=c+1|0}}else b=0;while(0);return b|0}function Fe(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Ed(b)|0;e=0;while(1){if((e|0)>=(d|0)){f=4;break}if((a[b+e>>0]|0)==(a[c+e>>0]|0))e=e+1|0;else{d=0;break}}if((f|0)==4){d=a[c+d>>0]|0;if(!(d<<24>>24))d=1;else d=(ui(d<<24>>24)|0)!=0;d=d&1}return d|0}function Ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h;f=h+16|0;c[f>>2]=e;d=zd(d,f,a,b)|0;if(!d){i=h;return c[f>>2]|0}else{h=Ud(d)|0;f=g;c[f>>2]=b;c[f+4>>2]=0;c[g+8>>2]=h;rh(19164,g)}return 0}function He(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;do if(Qe(a,19426)|0){if(pe(a)|0){c=ed(a,b)|0;break}c=Ke(a,0,c)|0;if((c|0)==-1)c=0;else c=Qf(a,b,c)|0}else c=ji(b)|0;while(0);i=d;return c|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=b+8|0;e=c[b+16>>2]|0;d=0;while(1){if((d|0)>=(e|0)){e=0;break}if(c[(c[f>>2]|0)+(d<<2)>>2]|0){g=5;break}d=d+1|0}if((g|0)==5)e=c[(c[f>>2]|0)+(d<<2)>>2]|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;return}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f+8|0;b=Of(a,b,d)|0;if(b>>>0>=d>>>0){i=f;return}if((b|0)<0)yf(15979,f);else{f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=e+8|0;c[f>>2]=d;c[f+4>>2]=0;rh(16005,e)}}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Ah(_a(5,f|0)|0)|0;i=e;return d|0}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+12|0;g=c[f>>2]|0;h=g+e|0;if((h|0)>(c[b+8>>2]|0)){i=h+g|0;j=~~(+(g|0)*1.5);wg(b,(i|0)<(j|0)?j:i)}j=c[b+4>>2]|0;Xd(j+g|0,d|0,e|0)|0;c[f>>2]=h;a[j+h>>0]=0;return}function Me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e;g=e+8|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[f>>2]=3;c[f+4>>2]=g;d=Ah(pa(102,f|0)|0)|0;i=e;return d|0}function Ne(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 Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+24|0;g=f;g=Zg(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+32|0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;Je(b,d,e);return}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+8|0;if((Vb(2,a,d)|0)<0){b=Yd(c[(nh()|0)>>2]|0)|0;c[e>>2]=a;c[e+4>>2]=b;Vg(15688,e);a=0}else{c[b>>2]=Qi(c[d>>2]|0)|0;a=1}i=f;return a|0}function Qe(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 Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+8|0;g=f;g=Zg(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[f>>2]=g;c[f+4>>2]=C;a=a+16|0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,e|0,0)|0;c[a>>2]=f;c[a+4>>2]=C;vd(b,d,e);return}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;e=f+8|0;d=f+16|0;c[d>>2]=b;c[d+4>>2]=0;if((xe(a,1,20,d,8)|0)>=0)if((xe(a,1,21,d,8)|0)<0){Vg(13594,e);a=-1}else a=0;else{Vg(13544,f);a=-1}i=f;return a|0}function Te(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,Ra(54,f|0)|0):0)a[b+75>>0]=-1;f=mc(b,d,e)|0;i=g;return f|0}function Ue(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+4|0;g=j;while(1){if(!(Kb(b,g,h)|0)){f=0;break}f=c[g>>2]|0;if((a[f>>0]|0)==35)continue;f=xd(f,d,e)|0;if(f|0)break}i=j;return f|0}function Ve(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;d=c;while(1){c=gi(a[e>>0]|0)|0;c=c<<24>>24;b=(gi(a[d>>0]|0)|0)<<24>>24;if((b|0)!=(c|0)){f=3;break}if(!c){b=0;break}else{e=e+1|0;d=d+1|0}}if((f|0)==3)b=b-c|0;return b|0}function We(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 Xe(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;Kf(b);a=Nc(a,b)|0;if(!(b&1)){b=Vf(a+16|0)|0;c[f>>2]=b;Pb(a,b,d,e,0,0);xf(f)}else Ff(a,d,e,0,0);i=g;return a|0}function Ye(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+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=7;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=ub(e,b,d)|0;i=g;return h|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;f=c[e+8>>2]|0;d=c[e+4>>2]|0;if((f-d|0)>>>0<b>>>0){e=re(a,b)|0;d=c[e+4>>2]|0;f=c[e+8>>2]|0}b=d+((c[a+12>>2]|0)+b&c[a+8>>2])|0;c[e+4>>2]=b>>>0>f>>>0?f:b;return d|0}function _e(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=ib[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;f=Xc(b,d,e,f)|0;if((f|0)>-1&(f|0)<(d|0)){i=h;return f|0}else{a[b+(d+-1)>>0]=0;c[g>>2]=d;c[g+4>>2]=e;c[g+8>>2]=b;rh(16182,g)}return 0}function af(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[b>>2]|0;a=Qe(c[e+4>>2]|0,c[d+4>>2]|0)|0;if(!a){b=c[e+8>>2]|0;a=c[d+8>>2]|0;if((b|0)==(a|0))a=(c[e+12>>2]|0)-(c[d+12>>2]|0)|0;else a=b-a|0}return a|0}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Fc(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;Xd(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=Ed(d)|0;if(e>>>0>(b+-1|0)>>>0){g=f;c[g>>2]=b;c[g+4>>2]=0;g=f+8|0;c[g>>2]=e;c[g+4>>2]=0;rh(15769,f)}else{xi(a,d)|0;i=g;return}}function df(b){b=b|0;var c=0,d=0,e=0;d=(wh(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wh(b,120)|0)==0;d=e?d:d|128;b=(wh(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;if((b|0)==(d|0)){i=f;return}else{g=c[a+28>>2]|0;f=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=f;c[e+12>>2]=d;rh(19507,e)}}function ff(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]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(Ah(cb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function gf(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=(fj(e)|0)==0;a=Oc(a,f,e)|0;if(!g)ej(e)}else a=Oc(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function hf(a,b){a=a|0;b=b|0;var d=0;if(a|0){if(!0)d=c[2287]|0;else{ie(13486)|0;ie(13511)|0;d=c[2287]|0;zc(d,a,b)|0;rd(10,d)|0;fd(d)|0}fd(d)|0;d=c[2317]|0;zc(d,a,b)|0;rd(10,d)|0;fd(d)|0}return}function jf(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;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;d=Ah(db(142,h|0)|0)|0;i=g;return d|0}function kf(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 (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+(d<<2)|0;g=(d|0)<(e|0);d=d+1|0;while(1){if(!a)break;c[f>>2]=(c[f>>2]|0)+1;if(g)lf(c[a+4>>2]|0,b,d,e);a=c[a>>2]|0}return}function mf(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;d=(d|0)/8|0;h=((e+7|0)/8|0)-d|0;e=Vd(h)|0;a=a+136|0;bg(a,b,d+64|0,0)|0;Re(a,b,e,h);c[f>>2]=e;c[g>>2]=d<<3;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;b=He(a,b)|0;if(!b){e=Yd(c[(nh()|0)>>2]|0)|0;c[d>>2]=a;c[d+4>>2]=e;rh(19432,d)}else{i=e;return b|0}return 0}function of(b){b=b|0;var d=0,e=0;e=c[b>>2]|0;if(((e|0)!=0?(a[e>>0]|0)!=0:0)?(d=Gg(e)|0,(a[d>>0]|0)!=0):0){e=Ef(d)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}c[b>>2]=e}else d=0;return d|0}function pf(a,b){a=+a;b=+b;var d=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;d=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=d;return +(+h[k>>3])}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+544|0;g=d;f=d+24|0;e=d+8|0;c[e>>2]=b;c[g>>2]=Yd(c[(nh()|0)>>2]|0)|0;c[g+4>>2]=a;tg(f,13538,g)|0;Yg(f,e);i=d;return}function rf(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?(gf(b,d,1,a)|0)!=1:0){a=Yd(dg(a)|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=0;c[e+8>>2]=a;rh(15882,e)}i=f;return}function sf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Xd(b,c,d)|0;return b|0}function tf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Td(a)|0)!=0:0)b=-1;else if((ib[c[a+32>>2]&7](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;a=a+16|0;d=c[a>>2]|0;if((d+1|0)==(b|0)){c[a>>2]=b;i=f;return}else{c[e>>2]=d;c[e+4>>2]=b;rh(12860,e)}}function vf(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 wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e;c[f>>2]=438;b=Ke(a,(b|0)==0?577:1089,f)|0;if((b|0)<0){c[d>>2]=a;yf(13171,d)}else{i=e;return b|0}return 0}function xf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[a>>2]|0;do if((b|0)!=-1)if((ig(b)|0)<0){c[d>>2]=b;yf(12895,d)}else{c[a>>2]=-1;break}while(0);i=e;return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+544|0;f=d;e=d+24|0;d=d+8|0;c[d>>2]=b;c[f>>2]=Yd(c[(nh()|0)>>2]|0)|0;c[f+4>>2]=a;tg(e,13538,f)|0;Ih(e,d)}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;do if(a|0?(b=c[a>>2]|0,(b|0)>-1):0)if((ig(b)|0)<0)yf(16155,d);else{c[a>>2]=-1;break}while(0);i=e;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;b=c[e+4>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0))a=(c[e+8>>2]|0)-(c[a+8>>2]|0)|0;else a=b-d|0;return a|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;if((c[d>>2]|0)<(b|0)){e=a+52|0;c[e>>2]=Rh(c[e>>2]|0,c[a+20>>2]|0,b)|0;c[d>>2]=b;return}else za(19370,19392,352,19408)}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do{c[e>>2]=a;c[e+4>>2]=b;d=qa(63,e|0)|0}while((d|0)==-16);e=Ah(d)|0;i=f;return e|0}function Ef(b){b=b|0;var c=0;a:do if(!b)b=0;else while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break a}if(ui(c<<24>>24)|0)break a;b=b+1|0}while(0);return b|0}function Ff(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[a+16>>2]=Vf(h)|0;Pb(a,b,c[h>>2]|0,d,e,f);xf(h);i=g;return}function Gf(b,d){b=b|0;d=d|0;a:while(1){if(!(Kb(b,d,0)|0)){b=0;break}switch(a[(Gg(c[d>>2]|0)|0)>>0]|0){case 35:case 0:break;default:{b=1;break a}}}return b|0}function Hf(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=308;c[a+2852>>2]=a+2440;c[a+2860>>2]=444;c[a+2864>>2]=a+2684;c[a+2872>>2]=584;b[a+5816>>1]=0;c[a+5820>>2]=0;xc(a);return}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Xd(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=b;b=0;while(1){if((c|0)<=0)break;d=Pf(a,e,c)|0;if((d|0)<1)break;e=e+d|0;c=c-d|0;b=d+b|0}return b|0}function Kf(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=c+8|0;switch(a&3|0){case 3:case 0:{rh(12369,c);break}default:{}}if((a&18|0)==16)rh(12435,b);else{i=c;return}}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;a=Be(a,b)|0;if(!a){c[d>>2]=b;rh(16308,d)}else{i=e;return c[a+8>>2]|0}return 0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(fj(a)|0)==0;b=Cd(a,b,d)|0;if(!e)ej(a)}else b=Cd(a,b,d)|0;return b|0}function Nf(b,c){b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a[b+e>>0]|0;if(!(d<<24>>24)){d=1;break}if((a[c+e>>0]|0)==d<<24>>24)e=e+1|0;else{d=0;break}}return d|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah($a(4,f|0)|0)|0;i=e;return a|0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=Ah(Wa(3,f|0)|0)|0;i=e;return a|0}function Qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Sd(104)|0;c[f+4>>2]=eh(b)|0;c[f+8>>2]=e;c[f+12>>2]=65536;a[f+40>>0]=d;c[f+52>>2]=Sd(65537)|0;return f|0}function Rf(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;Rb(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=Xe(g,b,d,e)|0;i=f;return e|0}function Tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=0;e=hd(g,b,d,e)|0;i=f;return e|0}function Uf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0;i=d-c|0;h=+(i|0)*e;gc(a,b,c,d,i,e,e,h,h*e,f,g);return}function Vf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d+8|0;if((Jg(b)|0)<0)yf(12532,d);else{c[a>>2]=c[b+4>>2];i=d;return c[b>>2]|0}return 0}function Wf(b){b=b|0;var c=0,d=0;c=Ed(b)|0;while(1){d=c+-1|0;if((c|0)<=0)break;c=b+d|0;if(!(ui(a[c>>0]|0)|0))break;a[c>>0]=0;c=d}return}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+36>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;d=c[e+8>>2]|0;b=c[e+12>>2]|0;c[a>>2]=c[e+4>>2];c[a+4>>2]=d;c[a+8>>2]=b;return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;if((c[20]|0)>=(a|0)){a=c[5942]|0;if(!a){a=c[2317]|0;c[5942]=a}zc(a,b,d)|0;fd(c[5942]|0)|0}return}function _f(a,b,c){a=a|0;b=b|0;c=c|0;b=Ue(a,b,c)|0;if(b)if((b|0)<(c|0)){ef(a,c,b);b=1}else b=1;else b=0;return b|0}function $f(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;d=c[a>>2]|0;while(1){if(!d)break;f=c[d>>2]|0;c[d>>2]=b;e=d;d=f;b=e}c[a>>2]=b;return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;f=Zg(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[a>>2]=f;c[a+4>>2]=C;return he(b,d,e)|0}function cg(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=kf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function dg(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)>-1){d=(fj(a)|0)==0;b=(c[a>>2]|0)>>>5&1;if(!d)ej(a)}else b=(c[a>>2]|0)>>>5&1;return b|0}function eg(a){a=a|0;var b=0,d=0,e=0;b=0;d=0;while(1){if(!a)break;e=Zg(b|0,d|0,32,0)|0;b=e;d=C;a=c[a>>2]|0}C=d;return b|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=Ah(Qa(57,e|0)|0)|0;i=d;return a|0}function gg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[5943]|0;if(!b)rh(17517,d);else{a=ah(b,a)|0;i=d;return a|0}return 0}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=$e(a,b,d,g)|0;i=f;return e|0}function ig(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ka(6,d|0)|0;a=Ah((a|0)==-4?-115:a)|0;i=b;return a|0}function jg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[b>>2]|0;if(!d){b=0;break}if(!(Qe(d,a)|0))break;b=b+8|0}return b|0}function kg(a,b,d){a=a|0;b=b|0;d=d|0;d=Sf(pe(a)|0,33,d,2)|0;b=Qf(a,b,Oi(d)|0)|0;c[b+56>>2]=d;return b|0}function lg(a){a=a|0;var b=0;b=Sd(16)|0;c[b>>2]=0;a=(a|0)<1?16384:a;c[b+4>>2]=a;c[b+12>>2]=7;c[b+8>>2]=-8;re(b,a)|0;return b|0}function mg(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=Ah(Ka(6,d|0)|0)|0;i=b;return a|0}function ng(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]}function og(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return lb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function qg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=Sd(d+1|0)|0;c=(c|0)<(d|0)?c:d;Xd(e|0,b|0,c|0)|0;a[e+c>>0]=0;return e|0}function rg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)za(18913,18924,40,18940);else{b=c[b+4>>2]|0;Gh(a);return b|0}return 0}function sg(b){b=b|0;var c=0,d=0;d=b;while(1){c=a[d>>0]|0;if(!(c<<24>>24))break;a[d>>0]=hi(c<<24>>24)|0;d=d+1|0}return b|0}function tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Vh(a,b,f)|0;i=e;return d|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=zc(a,b,f)|0;i=e;return d|0}function vg(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;qd(a,b,f);i=e;return}function wg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=Rh(c[d>>2]|0,(c[a+12>>2]|0)+1|0,b+1|0)|0;c[a+8>>2]=b;return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ye(a,b,f)|0;i=e;return d|0}function yg(){var a=0,b=0,d=0;a=i;i=i+16|0;d=c[2]|0;b=c[3]|0;c[a>>2]=4;c[a+4>>2]=d;c[a+8>>2]=b;rh(11120,a)}function zg(a,b){a=a|0;b=b|0;var c=0;c=Ed(a)|0;c=c-(Ed(b)|0)|0;if((c|0)<0)c=0;else c=(Qe(a+c|0,b)|0)==0&1;return c|0}function Ag(a,b){a=a|0;b=b|0;rf(a,b,8);rf(a,b+8|0,8);rf(a,b+16|0,8);rf(a,b+24|0,8);rf(a,b+32|0,8);return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Cg(a,b){a=a|0;b=b|0;var d=0;while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[b>>2]=0;c[a>>2]=b;return}function Dg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;while(1){if(!b)break;d=c[b>>2]|0;Di(b);b=d}c[a>>2]=0;return}function Eg(){var a=0,b=0;a=Ha(4)|0;a=(a|0)<0?4096:a;b=3;while(1){if((b|0)>=(a|0))break;ig(b)|0;b=b+1|0}return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Gg(b){b=b|0;if(!b)b=0;else while(1)if(!(ui(a[b>>0]|0)|0))break;else b=b+1|0;return b|0}function Hg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(fj(a)|0)==0;a=_e(a)|0}else a=_e(a)|0;return a|0}function Ig(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;Zf(a,b,f);i=e;return}function Jg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ah(ta(42,d|0)|0)|0;i=b;return a|0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;be(a,b,c[2]|0,c[3]|0,c[5921]|0,c[5922]|0,c[5923]|0,c[5924]|0,d);return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;a=Md(a,c)|0;if(c>>>0>b>>>0)se(a+b|0,0,c-b|0)|0;return a|0}function Mg(){}function Ng(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 (C=d,a-c>>>0|0)|0}function Og(a){a=a|0;var b=0;if(!a)a=Sd(8)|0;else{b=Sd((Ed(a)|0)+8|0)|0;xi(b+4|0,a)|0;a=b}return a|0}function Pg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=0;c[20]=a;c[d>>2]=0;i=b;return}function Qg(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+16|0;d=c;g[d>>2]=b;rf(a,d,4);i=c;return}function Rg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=a;c[d+4>>2]=b;rh(19222,d);return 0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;b=b<<24>>24;while(1){if((c|0)<=0)break;rd(b,a)|0;c=c+-1|0}return}function Tg(a){a=a|0;var b=0;b=Sd(16)|0;a=(a|0)==0?512:a;c[b+4>>2]=Sd(a+1|0)|0;c[b+8>>2]=a;return b|0}function Ug(){var a=0,b=0;b=i;i=i+16|0;a=Gc(2,1,0)|0;if((a|0)<0)Vg(13669,b);i=b;return a|0}function Vg(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;Yg(a,e);i=d;return}function Wg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=0;else{b=yc(b)|0;je(a)}return b|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[5943]|0)){Fh(Gb(a,b,0,d,0)|0);c[5944]=d}return}function Yg(a,b){a=a|0;b=b|0;var d=0;d=Sc()|0;kb[c[d+8+(c[d+88>>2]<<2)>>2]&3](a,b);return}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=Sh(a,b,d)|0;c[e>>2]=c[d+4>>2];return d|0}function $g(a,b){a=a|0;b=b|0;var d=0;d=Sd(8)|0;c[d+4>>2]=b;c[d>>2]=c[a>>2];c[a>>2]=d;return}function ah(a,b){a=a|0;b=b|0;a=Be(a,b)|0;if(!a)a=0;else a=c[a+8>>2]|0;return a|0}function bh(a,b){a=a|0;b=b|0;if((xd(a,0,5)|0)>(b|0))a=1;else a=fh(a)|0;return a|0}function ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((b|0)<(d|0)?b:d)-((a|0)>(c|0)?a:c)|0}function dh(a){a=a|0;var b=0;b=a;a=0;while(1){if(!b)break;b=b>>>1;a=a+1|0}return a|0}function eh(a){a=a|0;var b=0;if(!a)a=0;else{b=Ed(a)|0;a=qg(a,b,b)|0}return a|0}function fh(a){a=a|0;if(!(Fe(17895,a)|0))a=(Fe(17908,a)|0)!=0;else a=1;return a&1|0}function gh(a,b){a=a|0;b=b|0;return Qe(c[(c[a>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0}function hh(a){a=a|0;var b=0;b=i;i=i+16|0;a=ae(a,0,b)|0;i=b;return a|0}function ih(a){a=a|0;var b=0;b=0;while(1){if(!a)break;b=b+1|0;a=c[a>>2]|0}return b|0}function jh(a,b){a=a|0;b=b|0;return (c[(c[a>>2]|0)+4>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bi(a,b);return pc(a,b,c,d)|0}function lh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function mh(a,b){a=a|0;b=b|0;a=(c[a>>2]|0)+40|0;C=c[a+4>>2]|0;return c[a>>2]|0}function nh(){var a=0;if(!(c[5945]|0))a=23824;else a=c[(kj()|0)+64>>2]|0;return a|0}function oh(a){a=a|0;if(!a)a=0;else{a=Gg(a)|0;Wf(a)}return a|0}function ph(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Dg(b);Di(b);c[a>>2]=0}return}function qh(a){a=a|0;a=Kc(a)|0;if(!a)xh();else return a|0;return 0}function rh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;Ih(a,d)}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ib[a&7](b|0,c|0,d|0)|0}function th(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Di(c[b+4>>2]|0);Gh(a)}return}function uh(a){a=a|0;if((c[a+76>>2]|0)>-1?fj(a)|0:0)ej(a);return c[a+60>>2]|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;a=Ze(a,c)|0;Xd(a|0,b|0,c|0)|0;return a|0}function wh(b,c){b=b|0;c=c|0;b=Qc(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xh(){var a=0;a=Sc()|0;ob[c[a+92+(c[a+140>>2]<<2)>>2]&1]();Ma(-1)}function yh(){var a=0,b=0;b=i;i=i+16|0;a=xa(20,b|0)|0;i=b;return a|0}function zh(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Af(b+52|0);Gh(a)}return}function Ah(a){a=a|0;if(a>>>0>4294963200){c[(nh()|0)>>2]=0-a;a=-1}return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zb(a,b,8,15,8,0,c,d)|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nb[a&3](b|0,c|0,d|0)}function Dh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Eh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=id(a,b,0)|0;return a|0}function Fh(a){a=a|0;c[5943]=a;if(gg(17009)|0)Pg(qe(17009,0)|0);return}function Gh(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0)Yi(b);return}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Ih(a,b){a=a|0;b=b|0;c[(Sc()|0)+4>>2]=1;Yg(a,b);xh()}function Jh(a){a=a|0;var b=0;b=Vd(a)|0;se(b|0,0,a|0)|0;return b|0}function Kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Rb(a,b,c,d,0)|0}function Lh(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,b,c,0,-2147483648)|0;return a|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;a=de(a,b,c,-2147483648,0)|0;return a|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;return cc(a,b,14529,14538,c)|0}function Ph(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;return pb[a&15](b|0,c|0)|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return Rc(a,b,Ed(b)|0,c)|0}function Th(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Uh(a){a=a|0;if(!(oe(a)|0))xh();else return}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(a,2147483647,b,c)|0}function Wh(a){a=a|0;a=a+32|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;kb[a&3](b|0,c|0)}function Yh(a,b){a=a|0;b=b|0;return Qe(c[a>>2]|0,c[b>>2]|0)|0}function Zh(){if((Oa(13519)|0)==0?(Oa(13529)|0)==0:0)Ma(-1);La()}function _h(a,b,c){a=a|0;b=b|0;c=c|0;return Sh(a,b,0+c|0)|0}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return qb(_(c,b)|0)|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return bf(a,b,c)|0}function bi(a,b){a=a|0;b=b|0;Je(a,b,Ed(b)|0);return}function ci(a,b){a=a|0;b=b|0;Le(a,b,Ed(b)|0);return}function di(a,b){a=a|0;b=b|0;return qg(a,Ed(a)|0,b)|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,0,c)|0}function fi(a,b){a=a|0;b=b|0;xi(b,c[a+4>>2]|0)|0;return}function gi(a){a=a|0;var b=0;b=(Mi(a)|0)==0;return (b?a:a&95)|0}function hi(a){a=a|0;var b=0;b=(Li(a)|0)==0;return (b?a:a|32)|0}function ii(a,b){a=a|0;b=b|0;return $f(a,b,(Ed(a)|0)+1|0)|0}function ji(a){a=a|0;return Qf(19426,a,uh(c[2346]|0)|0)|0}function ki(a){a=a|0;if(!(c[a+68>>2]|0))ej(a);return}function li(a){a=a|0;if(!(c[a+68>>2]|0))ej(a);return}function mi(a,b){a=a|0;b=b|0;return (gf(a,Ed(a)|0,1,b)|0)+-1|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,1,c)|0}function oi(a,b){a=a|0;b=b|0;return dj(Lf(a,b)|0)|0}function pi(a){a=a|0;return ((a+-48|0)>>>0<10|(Ei(a)|0)!=0)&1|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return Mf(a,b,c)|0}function ri(a,b){a=a|0;b=b|0;return mb[a&3](b|0)|0}function si(a){a=a|0;Di(c[a+4>>2]|0);Di(a);return}function ti(a,b){a=a|0;b=b|0;i=a;j=b}function ui(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function vi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function wi(a){a=a|0;a=a&65535;return (a<<8|a>>>8)&65535|0}function xi(a,b){a=a|0;b=b|0;Uc(a,b)|0;return a|0}function yi(a,b){a=a|0;b=b|0;jb[a&3](b|0)}function zi(a){a=a|0;return ~~(+(a>>>0)*1.001+13.0)>>>0|0}function Ai(a,b){a=a|0;b=b|0;return Wd(a,b)|0}function Bi(a,b){a=a|0;b=b|0;return +(+Qd(a,b,1))}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Di(a){a=a|0;if(a|0)Yi(a);return}function Ei(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Fi(a,b){a=+a;b=+b;return +(+pf(a,b))}function Gi(a,b){a=+a;b=b|0;return +(+Ad(a,b))}function Hi(a,b){a=+a;b=b|0;return +(+Fd(a,b))}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;ba(5)}function Ji(a){a=a|0;return (gg(a)|0)!=0|0}function Ki(b){b=b|0;a[b+48>>0]=1;return}function Li(a){a=a|0;return (a+-65|0)>>>0<26|0}function Mi(a){a=a|0;return (a+-97|0)>>>0<26|0}function Ni(a,b){a=a|0;b=b|0;yb(b);return}function Oi(a){a=a|0;return c[a+16>>2]|0}function Pi(a,b){a=+a;b=+b;return +(+Xb(a,b))}function Qi(a){a=a|0;return Ph(a|0)|0}function Ri(a){a=a|0;return Ph(a|0)|0}function Si(a,b){a=a|0;b=b|0;ba(7);return 0}function Ti(a){a=a|0;ob[a&1]()}function Ui(a){a=a|0;return qb(a)|0}function Vi(a){a=a|0;return a+8|0}function Wi(a){a=a|0;yb(a);return}function Xi(a){a=a|0;return Hg(a)|0}function Yi(a){a=a|0;yb(a);return}function Zi(a){a=a|0;return 0}function _i(a,b){a=a|0;b=b|0;ba(2)}function $i(a){a=a|0;return 0}function aj(a){a=a|0;i=a}function bj(a){a=a|0;C=a}function cj(a){a=a|0;ba(4);return 0}function dj(a){a=a|0;return a|0}function ej(a){a=a|0;return}function fj(a){a=a|0;return 0}function gj(){return c[20]|0}function hj(){return C|0}function ij(){return i|0}function jj(a){a=a|0;ba(1)}function kj(){return 0}function lj(){ba(6)}
 
 // EMSCRIPTEN_END_FUNCS
 var ib=[Ci,Te,Ce,mc,Hc,If,$h,ai];var jb=[jj,li,ki,jj];var kb=[_i,hf,fi,Ni];var lb=[Hh];var mb=[cj,mg,wc,Vi];var nb=[Ii,Yf,Xf,Ii];var ob=[lj,Zh];var pb=[Si,Nb,Fb,Cb,mh,Yh,lh,jh,gh,Bf,af,Si,Si,Si,Si,Si];return{_i64Subtract:Ng,_free:yb,_main:Jd,_htonl:Ri,_realloc:Wd,_i64Add:Zg,_memmove:sf,_pthread_self:kj,_memset:se,_pthread_mutex_unlock:Zi,_malloc:qb,_pthread_mutex_lock:$i,_memcpy:Xd,_llvm_bswap_i32:Ph,_bitshift64Lshr:Fg,_htons:wi,_bitshift64Shl:Bg,___errno_location:nh,_ntohs:vi,runPostSets:Mg,stackAlloc:Dh,stackSave:ij,stackRestore:aj,establishStackSpace:ti,setThrew:Th,setTempRet0:bj,getTempRet0:hj,dynCall_iiii:sh,dynCall_vi:yi,dynCall_vii:Xh,dynCall_iiiiiii:og,dynCall_ii:ri,dynCall_viii:Ch,dynCall_v:Ti,dynCall_iii:Qh}})
diff --git a/bedTools/wigToBigWig_static.js.mem b/bedTools/wigToBigWig_static.js.mem
index c31b213c78453b15abacd78406964f78907fdc2b..1c3b2d73d6e9947c9ee263796cc23e5f2c768a8a 100644
Binary files a/bedTools/wigToBigWig_static.js.mem and b/bedTools/wigToBigWig_static.js.mem differ